從一個OSS、MinIO或HDFS檔案匯入到資料庫。
文法
raster ST_ImportFrom(cstring chunkTableName,
cstring url,
cstring storageOption default '{}',
cstring importOption default '{}');
參數
參數名稱 | 描述 |
chunkTableName | 塊表的名稱,名稱必須符合資料庫表名的規範。 |
url | 外部檔案路徑。詳情請參見ST_CreateRast中構建路徑的描述。 |
storageOption | JSON字串,用於指定raster對象的儲存資訊。 |
importOption | JSON字串,用於指定匯入選項。 |
storageOption參數說明如下:
參數名稱 | 類型 | 預設值 | 說明 |
chunking | boolean | true | 是否使用分Block Storage。 |
chunkdim | string | 與未經處理資料一致 | 分塊的維度資訊。格式為:(w, h, b)。 說明 當chunking=true時,該參數才生效。 |
compression | string | lz4 | 壓縮演算法類型。取值如下:
Default:lz4 |
quality | integer | 75 | 壓縮品質。只針對jpeg和jp2k壓縮演算法生效。 |
interleaving | string | 與未經處理資料一致 | 交錯方式。取值如下:
|
blockendian | string | 'NDR' | Block Storage位元組序。取值如下:
|
celltype | string | 與未經處理資料一致 | 像素類型。取值如下:
|
importOption參數說明如下。
參數名稱 | 類型 | 預設值 | 說明 |
mapping_oss_file | boolean | false | 是否將OSS上檔案對應為記憶體檔案。 說明 柵格資料讀取時部分驅動未對OSS儲存的資料進行最佳化,會產生大量小資料量請求導致效能較低。此參數可以將OSS完整映射為記憶體對象從而提升效能。檔案總大小由GUC參數ganos.raster.memory_oss_file_max_size設定。 |
parallel | integer | 使用GUC參數ganos.parallel.degree的值。 | 設定作業並行度。取值範圍為1~64。 |
描述
函數將建立一個raster對象,並將外部OSS檔案匯入到該對象中。
支援的資料類型請通過ST_RasterDrivers函數擷取。
樣本
-- 僅指定外表名稱和路徑
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');
-- 指定具有Subset的NetCDF對應的影像
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');
-- 匯入時指定分塊大小與壓縮類型
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif', '{"chunkdim":"(128,128,3)", "compression":"none"}');
-- 匯入時指定並行度
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc', '{}', '{"parallel": 4}');