Object Storage Service (OSS) オブジェクト、MinIO オブジェクト、または Hadoop 分散ファイルシステム (HDFS) ファイルを Ganos ラスターオブジェクトにインポートします。
構文
raster ST_ImportFrom(cstring chunkTableName,
cstring url,
cstring storageOption default '{}',
cstring importOption default '{}');パラメーター
| パラメーター | 説明 |
|---|---|
chunkTableName | ラスターデータを格納するチャンクテーブルの名前。PolarDB のテーブル命名規則に準拠する必要があります。 |
url | ソースファイルの URL。サポートされている URL 形式については、「ST_CreateRast」をご参照ください。 |
storageOption | ラスターデータの格納方法をコントロールする JSON 文字列。デフォルト:'{}'。 |
importOption | インポートプロセスをコントロールする JSON 文字列。デフォルト:'{}'。 |
storageOption パラメーター
ストレージ構造
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
chunking | boolean | true | データをチャンクとして格納するかどうかを指定します。 |
chunkdim | string | ソースと同じ | w,h,b 形式のチャンクディメンション。chunking が true の場合にのみ有効です。 |
エンコーディング形式
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
compression | string | lz4 | 圧縮アルゴリズム。有効な値:none、jpeg、zlib、png、lzo、lz4、snappy、zstd、jp2k。 |
quality | integer | 75 | 圧縮後のイメージ品質。JPEG および JPEG 2000 圧縮にのみ適用されます。 |
interleaving | string | ソースと同じ | バンドインターリーブ方式。有効な値:bip (ピクセル単位のバンドインターリーブ)、bil (ライン単位のバンドインターリーブ)、bsq (バンドシーケンシャル)。 |
blockendian | string | NDR | 各データチャンクのバイトオーダー。有効な値:NDR (リトルエンディアン)、XDR (ビッグエンディアン)。 |
celltype | string | ソースと同じ | ピクセルタイプ。有効な値:1bb (1 ビット)、2bui (2 ビット符号なし整数)、4bui (4 ビット符号なし整数)、8bsi (8 ビット符号付き整数)、8bui (8 ビット符号なし整数)、16bsi (16 ビット符号付き整数)、16bui (16 ビット符号なし整数)、32bsi (32 ビット符号付き整数)、32bui (32 ビット符号なし整数)、32bf (32 ビット浮動小数点)、64bsi (64 ビット符号付き整数)、64bui (64 ビット符号なし整数)、64bf (64 ビット浮動小数点)。 |
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。 |
説明
ST_ImportFrom はラスターオブジェクトを作成し、OSS、MinIO、または HDFS からデータをインポートします。この関数は、インポートされたデータを chunkTableName パラメーターで指定された名前のチャンクテーブルに格納します。
インポートする前にサポートされているファイル形式を確認するには、ST_RasterDrivers を呼び出します。
SELECT * FROM ST_RasterDrivers();例
すべての例では OSS:// URL を使用します。<ak>、<ak_secret>、およびバケットパスを、実際の認証情報とファイルの場所に置き換えてください。
デフォルト設定でインポート
-- 最小限必要な引数:チャンクテーブル名とファイル URL
SELECT ST_ImportFrom(
'chunk_table',
'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif'
);名前付きサブセットを持つ NetCDF ファイルをインポート
-- URL に :<subset_name> を追加して、NetCDF ファイル内のサブセットを選択します
SELECT ST_ImportFrom(
'chunk_table',
'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc'
);チャンクサイズと圧縮の制御
-- storageOption: チャンクのディメンションを 128×128 ピクセル、3 バンドに設定し、圧縮を無効化
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"}'
);並列処理によるインポート
-- インポートオプション: インポートを高速化するために、4つのパラレルワーカーを使用します
SELECT ST_ImportFrom(
'chunk_table',
'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc',
'{}',
'{"parallel": 4}'
);