All Products
Search
Document Center

PolarDB:ST_ImportFrom

Last Updated:Mar 29, 2026

Mengimpor objek dari Object Storage Service (OSS), MinIO, atau file Hadoop Distributed File System (HDFS) ke dalam objek raster Ganos.

Sintaksis

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

Parameter

ParameterDeskripsi
chunkTableNameNama tabel chunk yang menyimpan data raster. Harus mematuhi konvensi penamaan tabel PolarDB.
urlURL file sumber. Untuk format URL yang didukung, lihat ST_CreateRast.
storageOptionString JSON yang mengontrol cara penyimpanan data raster. Default: '{}'.
importOptionString JSON yang mengontrol proses impor. Default: '{}'.

Parameter storageOption

Struktur penyimpanan

ParameterTipeDefaultDeskripsi
chunkingbooleantrueMenentukan apakah data disimpan dalam bentuk chunk.
chunkdimstringSama seperti sumberDimensi chunk dalam format w,h,b. Berlaku hanya jika chunking bernilai true.

Format encoding

ParameterTipeDefaultDeskripsi
compressionstringlz4Algoritma kompresi. Nilai yang valid: none, jpeg, zlib, png, lzo, lz4, snappy, zstd, jp2k.
qualityinteger75Kualitas gambar setelah dikompresi. Hanya berlaku untuk kompresi JPEG dan JPEG 2000.
interleavingstringSama seperti sumberMetode interleaving band. Nilai yang valid: bip (Band Interleaved by Pixel), bil (Band Interleaved by Line), bsq (Band Sequential).
blockendianstringNDRUrutan byte untuk setiap chunk data. Nilai yang valid: NDR (little endian), XDR (big endian).
celltypestringSama seperti sumberTipe piksel. Nilai yang valid: 1bb (1 bit), 2bui (integer tak bertanda 2-bit), 4bui (integer tak bertanda 4-bit), 8bsi (integer bertanda 8-bit), 8bui (integer tak bertanda 8-bit), 16bsi (integer bertanda 16-bit), 16bui (integer tak bertanda 16-bit), 32bsi (integer bertanda 32-bit), 32bui (integer tak bertanda 32-bit), 32bf (float 32-bit), 64bsi (integer bertanda 64-bit), 64bui (integer tak bertanda 64-bit), 64bf (float 64-bit).

Parameter importOption

ParameterTipeDefaultDeskripsi
mapping_oss_filebooleanfalseMenentukan apakah objek OSS dimuat ke dalam file in-memory sebelum dibaca. Beberapa driver tidak mengoptimalkan data yang disimpan di OSS, sehingga menghasilkan banyak permintaan kecil dan menurunkan kinerja. Mengaktifkan opsi ini memetakan objek OSS ke objek memori untuk meningkatkan kinerja. Gunakan parameter Global User Configuration (GUC) ganos.raster.memory_oss_file_max_size untuk mengatur ukuran maksimum file yang memenuhi syarat untuk dimuat ke memori.
parallelintegerNilai parameter GUC ganos.parallel.degreeTingkat paralelisme. Nilai yang valid: 1 hingga 64.

Deskripsi

ST_ImportFrom membuat objek raster dan mengimpor data dari OSS, MinIO, atau HDFS ke dalamnya. Fungsi ini menyimpan data yang diimpor dalam tabel chunk yang namanya ditentukan oleh parameter chunkTableName.

Untuk memeriksa format file yang didukung sebelum melakukan impor, panggil ST_RasterDrivers:

SELECT * FROM ST_RasterDrivers();

Contoh

Semua contoh menggunakan URL OSS://. Ganti <ak>, <ak_secret>, dan path bucket dengan kredensial serta lokasi file Anda yang sebenarnya.

Impor dengan pengaturan default

-- Argumen minimum yang diperlukan: nama tabel chunk dan URL file
SELECT ST_ImportFrom(
    'chunk_table',
    'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif'
);

Impor file NetCDF dengan subset bernama

-- Tambahkan :<subset_name> ke URL untuk memilih subset dalam file NetCDF
SELECT ST_ImportFrom(
    'chunk_table',
    'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc'
);

Kontrol ukuran chunk dan kompresi

-- storageOption: atur dimensi chunk menjadi 128x128 piksel dengan 3 band, nonaktifkan kompresi
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"}'
);

Impor dengan pemrosesan paralel

-- importOption: gunakan 4 parallel worker untuk mempercepat impor
SELECT ST_ImportFrom(
    'chunk_table',
    'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc',
    '{}',
    '{"parallel": 4}'
);