OLAP リソースグループで FILES 関数を使用すると、Object Storage Service (OSS) のファイルに直接アクセスして、データをインポートおよびエクスポートできます。このドキュメントでは、FILES 関数を使用して OSS ファイルのデータを読み書きする方法について説明します。
関数の説明
FILES 関数に OSS のアクセス認証情報やその他のパラメーターを渡すことができます。この関数はテーブルとして機能し、INSERT 文の宛先、または SELECT 文のデータソースとして使用して、データの読み取りやエクスポートが可能です。
構文:
FILES( path , format, compression, ...)パラメーター設定:
すべてのパラメーターは "key" = "value" のペアとして指定されます。
パラメーター | 説明 |
| OSS パス。パスは |
| ファイルフォーマット。サポートされているフォーマットは |
| 圧縮アルゴリズム。サポートされているアルゴリズムは |
| データを単一ファイルにエクスポートするかどうかを指定します。このパラメーターを |
| OSS の AccessKey ID。 |
| OSS の AccessKey Secret。 |
| OSS のエンドポイント。例: |
OSS へのデータのエクスポート
次の SQL 文は一例です。
INSERT INTO FILES(
"path" = "s3://bucket_name/path/to/dir/",
"format" = "parquet",
"compression" = "snappy",
"single" = "true",
"aws.s3.access_key" = "your_ak",
"aws.s3.secret_key" = "your_sk",
"aws.s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com"
) SELECT * FROM sometable;この文は、クエリ結果を指定された OSS フォルダに書き込みます。
OSS データのクエリ
次のコードは一例です。
select * from FILES(
"path" = "s3://bucket_name/path/to/dir/*.parquet",
"format" = "parquet",
"aws.s3.access_key" = "your_ak",
"aws.s3.secret_key" = "your_sk",
"aws.s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com"
);pathパラメーターには、フォルダのみを指定しないでください。フォルダ内のすべてのファイルを指定するには/dir/*フォーマットを使用するか、*.parquetのようなパターンを使用して特定の拡張子を持つファイルを照合します。formatパラメーターは必須です。データをクエリする場合、
compressionパラメーターは省略できます。システムがファイルの圧縮フォーマットを自動的に検出します。