全部產品
Search
文件中心

ApsaraDB RDS:ST_ImportFrom

更新時間:Jun 19, 2024

從一個OSS、MinIO或HDFS檔案匯入到資料庫。

文法

raster ST_ImportFrom(cstring chunkTableName, 
                     cstring url, 
                     cstring storageOption default '{}',
                     cstring importOption default '{}');

參數

參數名稱

描述

chunkTableName

塊表的名稱,名稱必須符合資料庫表名的規範。

u​rl

外部檔案路徑。更多資訊,請參見Object Storage Service服務路徑

storageOption

JSON字串,用於指定raster對象的儲存資訊。

importOption

JSON字串,用於指定匯入選項。

storageOption參數說明如下。

參數名稱

類型

預設值

說明

chunking

boolean

true

是否使用分Block Storage。

chunkdim

string

與未經處理資料一致

分塊的維度資訊。格式為:(w, h, b)。

說明

chunking=true時,本參數才生效。

compression

string

lz4

壓縮演算法類型。取值如下:

  • none

  • jpeg

  • zlib

  • png

  • lzo

  • lz4

  • snappy

  • zstd

  • jp2k

預設值:lz4

quality

integer

75

壓縮品質。只針對jpeg和jp2k壓縮演算法生效。

interleaving

string

與未經處理資料一致

交錯方式。取值如下:

  • bip : Band interleaved by pixel

  • bil : Band interleaved by line

  • bsq : Band Sequential

blockendian

string

'NDR'

Block Storage位元組序。取值如下:

  • NDR:little endian

  • XDR:big endian

celltype

string

與未經處理資料一致

像素類型。取值如下:

  • 1bb :1 bit

  • 2bui:2bit unsigned integer

  • 4bui : 4bit unsigned integer

  • 8bsi : 8bit signed integer

  • 8bui : 8bit unsigned integer

  • 16bsi : 16bit signed integer

  • 16bui : 16bit unsigned integer

  • 32bsi : 32bit signed integer

  • 32bui : 32bit unsigned integer

  • 32bf : 32bit float

  • 64bsi : 64bit signed integer

  • 64bui : 64bit unsigned integer

  • 64bf : 64bit float

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。

compute_stats

boolean

false

匯入時是否自動計算波段統計資訊。

approx

boolean

false

是否使用採樣方式計算。

說明

當設定為true時,採用採樣方式計算統計值,結果可能會不精確。

factor

integer

4

採樣因子,表示如果採樣時,n個象元作為一個採樣單元,僅在approx設定為true時有效。

exclusive_nodata

boolean

true

是否排除nodata。

描述

函數將建立一個raster對象,並將外部、MinIO或HDFS檔案匯入到該對象中。

支援的資料類型請通過ST_RasterDrivers函數擷取。

樣本

-- 基於OSS儲存,指定accessID,accessKEY,endpoint
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');

-- 指定schema
Select ST_ImportFrom('schema.chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');

-- 基於Minio,指定host和port
Select ST_ImportFrom('chunk_table', 'MIO://<ak>:<ak_secret>@10.0.0.1:443/mybucket/data/image.tif');

-- 基於HDFS,指定user_name
Select ST_ImportFrom('chunk_table', 'HDFS://<user_name>@10.0.0.1:8020/path/image.tif');

-- 指定具有Subset的NetCDF對應的影像
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');

-- 指定具有Subset的HDF5對應的影像
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.hdf5://ds/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}');

--oss檔案對應為記憶體對象
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc', '{}', '{"parallel": 4, "mapping_oss_file":true}');

--入庫自動計算統計資訊
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif','','{"compute_stats":true}');