標準 SQL のその他のステートメント

EXPORT DATA ステートメント

EXPORT DATA ステートメントは、クエリの結果を外部ストレージにエクスポートします。ストレージの場所は Cloud Storage である必要があります。

EXPORT DATA
OPTIONS (export_option_list) AS
query_statement

ここで

  • export_option_list には、エクスポート先の URI など、エクスポート オペレーションのオプション リストを指定します。

  • query_statement は SQL クエリです。クエリ結果は外部の宛先にエクスポートされます。

format オプションを使用して、エクスポートされるデータの形式を指定します。次の制限が適用されます。

  • ネストや繰り返しのあるデータを CSV 形式でエクスポートすることはできません。
  • JSON 形式でデータをエクスポートする場合、INT64 データ型は JSON 文字列としてエンコードされ、64 ビットの精度が維持されます。

export_option_list

オプション リストには、エクスポート オペレーションのオプションを指定します。オプションの一覧を NAME=VALUE, ... の形式で指定します。

uriformat は必須です。uri オプションは、1 つ以上のファイルへのデータのエクスポートの説明に従って、単一のワイルドカード URI にする必要があります。

オプション
compression

STRING

圧縮形式を指定します。指定しない場合、エクスポートされたファイルは圧縮解除されます。サポートされる値: GZIPDEFLATESNAPPY

field_delimiter

STRING

フィールドの区切りに使用する区切り文字。デフォルトは ','(カンマ)です。

適用対象: CSV。

format

STRING

エクスポートされるデータの形式。サポートされている値は、AVROCSVJSONPARQUETプレビュー)です。

header

BOOL

true の場合、各データファイルの最初の行に列ヘッダーが生成されます。デフォルト: false

適用対象: CSV。

overwrite

BOOL

true の場合、宛先の場所が上書きされます。それ以外の場合、宛先の場所が空のときにステートメントがエラーを返します。デフォルト: false

uri

STRING

エクスポート先の URI。

例: "gs://bucket/path/file_*.csv"

CSV 形式でのデータのエクスポート

次の例では、データを CSV ファイルにエクスポートしています。宛先の場所を上書きしてヘッダー行を作成し、';' を区切り文字として使用するオプションもあります。

EXPORT DATA OPTIONS(
  uri='gs://bucket/folder/*.csv',
  format='CSV',
  overwrite=true,
  header=true,
  field_delimiter=';') AS
SELECT field1, field2 FROM mydataset.table1 ORDER BY field1 LIMIT 10

Avro 形式でのデータのエクスポート

次の例では、Snappy 圧縮を使用して Avro 形式でデータをエクスポートしています。

EXPORT DATA OPTIONS(
  uri='gs://bucket/folder/*',
  format='AVRO',
  compression='SNAPPY') AS
SELECT field1, field2 FROM mydataset.table1 ORDER BY field1 LIMIT 10