全部产品
Search
文档中心

PolarDB:ST_ImportFrom

更新时间:Jul 03, 2025

Topik ini menjelaskan fungsi ST_ImportFrom, yang digunakan untuk mengimpor objek Object Storage Service (OSS), objek Multi-Cloud Object Storage (MinIO), atau file Hadoop Distributed File System (HDFS) ke dalam objek raster di Ganos.

Sintaksis

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

Parameter

Parameter

Deskripsi

chunkTableName

Nama dari objek OSS. Objek OSS adalah tabel chunk. Nama harus sesuai dengan konvensi penamaan tabel PolarDB.

url

URL dari objek OSS. Untuk informasi lebih lanjut, lihat deskripsi parameter url di ST_CreateRast.

storageOption

String JSON yang digunakan untuk menentukan informasi penyimpanan tentang objek raster.

importOption

String JSON yang digunakan untuk mengonfigurasi parameter untuk impor objek OSS.

Tabel berikut menjelaskan parameter dalam storageOption.

Parameter

Tipe

Nilai default

Deskripsi

chunking

boolean

true

Menentukan apakah akan menyimpan data sebagai chunk.

chunkdim

string

Nilai defaultnya sama dengan nilai untuk data mentah.

Dimensi yang digunakan untuk membagi data. Format: w, h, b.

Catatan

Parameter ini hanya berlaku jika Anda menetapkan parameter chunking ke true.

compression

string

lz4

Format yang digunakan untuk mengompres data objek OSS. Nilai valid:

  • none

  • jpeg

  • zlib

  • png

  • lzo

  • lz4

  • snappy

  • zstd

  • jp2k

Default: lz4

quality

integer

75

Kualitas gambar objek raster setelah kompresi. Parameter ini hanya valid untuk format kompresi JPEG dan JPEG 2000.

interleaving

string

Nilai defaultnya sama dengan nilai untuk data mentah.

Metode yang digunakan untuk menggabungkan data objek OSS. Nilai valid:

  • bip : Band interleaved by pixel

  • bil : Band interleaved by line

  • bsq : Band Sequential

blockendian

string

'NDR'

Urutan yang digunakan untuk menyimpan byte dalam setiap potongan data. Nilai valid:

  • NDR: little endian

  • XDR: big endian

celltype

string

Nilai defaultnya sama dengan nilai untuk data mentah.

Tipe piksel objek raster. Nilai valid:

  • 1bb: 1 bit

  • 2bui: 2-bit 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

Tabel berikut menjelaskan parameter dalam importOption.

Parameter

Tipe

Nilai default

Deskripsi

mapping_oss_file

boolean

false

Menentukan apakah akan memetakan objek OSS ke objek memori.

Catatan

Saat data raster dibaca, beberapa driver tidak mengoptimalkan data yang disimpan di OSS. Akibatnya, banyak permintaan yang membutuhkan volume data kecil dihasilkan. Ini mengurangi kinerja. Parameter ini dapat memetakan objek OSS ke objek memori untuk meningkatkan kinerja. Anda dapat menggunakan parameter Global User Configuration (GUC) ganos.raster.memory_oss_file_max_size untuk menentukan ukuran objek OSS.

parallel

integer

Nilai parameter GUC ganos.parallel.degree

Tingkat paralelisme. Nilai valid: 1 sampai 64.

Deskripsi

Fungsi ini digunakan untuk membuat objek raster dan mengimpor objek OSS ke dalam objek raster tersebut.

Anda dapat menggunakan fungsi ST_RasterDrivers untuk menanyakan tipe data yang didukung oleh ST_ImportFrom. Untuk informasi lebih lanjut tentang ST_RasterDrivers, lihat ST_RasterDrivers.

Contoh

-- Tentukan hanya nama dan jalur objek OSS yang ingin Anda impor.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');

-- Tentukan gambar NetCDF yang berisi subset.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');

-- Tentukan ukuran per chunk dan format kompresi dalam proses mengimpor objek OSS.
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"}');

-- Tentukan tingkat paralelisme dalam proses mengimpor objek OSS.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc', '{}', '{"parallel": 4}');