SELECT および INSERT を行うためのテーブル形式インターフェイスを提供します。Storage Object User IAM role が必要です。
これは s3 テーブル関数 の別名です。
クラスター内に複数のレプリカがある場合は、代わりに s3Cluster function (GCS でも使用可能) を使うことで、挿入を並列化できます。
構文
引数
GCSGoogle XML API の エンドポイント は JSON API と異なるため、GCS パスは次の形式になります:https://storage.cloud.google.com ではありません。
url、format、structure、compression_method は同様に機能し、追加のパラメータもいくつかサポートされます:
戻り値
例
https://storage.googleapis.com/my-test-bucket-768/data.csv からテーブルの先頭2行を選択する例:
gzip 圧縮方式のファイルからの場合:
使用例
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_1.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_2.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_3.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_4.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_1.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_2.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_3.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_4.csv'
file-000.csv、file-001.csv、…、file-999.csv という名前のファイル内の行数の合計を数えます。
test-data.csv.gz にデータを挿入します:
test-data.csv.gz に挿入します:
my-test-bucket-768 ディレクトリ配下のすべてのファイルを再帰的に取得します。
my-test-bucket ディレクトリ内の任意のフォルダにあるすべての test-data.csv.gz ファイルから、再帰的にデータを取得します:
パーティション単位での書き込み
GCS テーブルへのデータ挿入時に PARTITION BY 式を指定すると、パーティション値ごとに個別のファイルが作成されます。データをファイルごとに分割することで、読み取り処理の効率向上につながります。
例
- キーにパーティション ID を使用すると、個別のファイルが作成されます:
file_x.csv、file_y.csv、file_z.csv の3つのファイルに書き込まれます。
- バケット名にパーティション ID を使用すると、ファイルは異なるバケットに作成されます。
my_bucket_1/file.csv、my_bucket_10/file.csv、my_bucket_20/file.csv という3つのファイルに書き込まれます。