从一个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 | 是否使用分块存储。 |
chunkdim | string | 与原始数据一致 | 分块的维度信息。格式为:(w, h, b)。
说明 当chunking=true时,该参数才生效。
|
compression | string | lz4 | 压缩算法类型。取值如下:
Default:lz4 |
quality | integer | 75 | 压缩质量。只针对jpeg和jp2k压缩算法生效。 |
interleaving | string | 与原始数据一致 | 交错方式。取值如下:
|
blockendian | string | 'NDR' | 块存储字节序。取值如下:
|
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}');