このトピックでは、ST_ImportFrom関数について説明します。 この関数は、Object Storage Service (OSS) オブジェクト、Multi-Cloud object Storage (MinIO) オブジェクト、またはHadoop Distributed File System (HDFS) ファイルをGanosのラスターオブジェクトにインポートするために使用されます。
構文
raster ST_ImportFrom(cstring chunkTableName,
cstring url,
cstring storageOption default '{}',
cstring importOption default '{}');
パラメーター
パラメーター | 説明 |
chunkTableName | OSSオブジェクトの名前。 OSSオブジェクトはチャンクテーブルです。 名前は、PolarDBのテーブル命名規則に準拠している必要があります。 |
url | OSSオブジェクトのURL。 詳細については、 ST_CreateRastのurlパラメーターの説明をご参照ください。 |
storageOption | ラスターオブジェクトに関するストレージ情報を指定するために使用されるJSON文字列。 |
importOption | OSSオブジェクトインポートのパラメーターを設定するために使用されるJSON文字列。 |
次の表に、storageOptionのパラメーターを示します。
パラメーター | データ型 | デフォルト値 | 説明 |
チャンキング | Boolean | true | データをチャンクとして保存するかどうかを指定します。 |
chunkdim | String | デフォルト値は、生データの値と同じです。 | データのチャンクに使用されるディメンション。 形式: w, h, b. 説明 このパラメーターは、chunkingパラメーターをtrueに設定した場合にのみ有効になります。 |
compression | String | lz4 | OSSオブジェクトのデータを圧縮するために使用される形式。 有効な値:
デフォルト: lz4 |
品質 | integer | 75 | 圧縮後のラスターオブジェクトの画質。 このパラメーターは、JPEGおよびJPEG 2000圧縮形式に対してのみ有効です。 |
interleaving | 文字列 | デフォルト値は、生データの値と同じです。 | OSSオブジェクトのデータをインターリーブするために使用されるメソッド。 有効な値:
|
blockendian | 文字列 | 「NDR」 | 各データチャンクのバイトを格納するために使用されるシーケンス。 有効な値:
|
セルタイプ | String | デフォルト値は、生データの値と同じです。 | ラスターオブジェクトのピクセルタイプ。 有効な値:
|
次の表に、importOptionのパラメーターを示します。
パラメーター | データ型 | デフォルト値 | 説明 |
mapping_oss_ファイル | Boolean | false | OSSオブジェクトをメモリオブジェクトにマップするかどうかを指定します。 説明 ラスターデータを読み取るとき、一部のドライバーはOSSに保存されているデータを最適化しません。 結果として、少量のデータを必要とする多数の要求が生成される。 これは性能を低下させる。 このパラメーターは、パフォーマンスを向上させるためにOSSオブジェクトをメモリオブジェクトにマッピングできます。 グローバルユーザー設定 (GUC) パラメーター ganos.raster.memory_oss_file_max_sizeを使用して、OSSオブジェクトのサイズを指定できます。 |
パラレル | integer | GUCパラメーター ganos.parallel.de greeの値 | 並列処理の程度。 有効な値: 1 ~ 64。 |
説明
この関数は、ラスターオブジェクトを作成し、作成したラスターオブジェクトにOSSオブジェクトをインポートするために使用されます。
ST_RasterDrivers関数を使用して、ST_ImportFrom関数でサポートされているデータ型を照会できます。 ST_RasterDrivers機能の詳細については、「 ST_RasterDrivers」をご参照ください。
例
-- Specify only the name and path of the OSS object that you want to import.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');
-- Specify a NetCDF image that contains subsets.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');
-- Specify the size per chunk and the compression format in the process of importing the OSS object.
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"}');
-- Specify the degree of parallelism in the process of importing the OSS object.
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc', '{}', '{"parallel": 4}');