Links

Google BigQuery

Sink Google BigQueryを使用して、BigQueryへデータを転送することができます。

Sink Google BigQuery

データ設定  テーブルの自動作成が行われる場合、データ設定のカラム定義を利用してテーブルを作成します。 この時、カラム定義内のカラム名に英字・数字・アンダースコア以外の文字列(日本語など)が含まれている場合、転送時にエラーとなりますので、カラム名を変更していただくようお願い致します。

入力例

name
required
description
json field for import
type
表示名
任意
タスクの表示名を入力します。
接続情報
必須
接続情報画面で設定した、BigQueryへの接続情報を選択します。
integration_name
string
プロジェクトID
必須
接続するGCPプロジェクトIDを指定します。
project_id
string
データセット
必須
接続するBigQueryのデータセット名を指定します。
dataset
string
テーブル
必須
接続するデータセット内のテーブル名を指定します。
table
string
バケット
必須
データを書き出す際に利用する一時的なバケット。
転送先のデータセットと同じプロジェクト内に作成されたものを指定します。
temporary_gcs_bucket
string
モード
必須
テーブルにデータを書き込む際のオプションをappend,overwrite, upsert から選択します。
save_mode
string
Table Key
必須
モードupsert を選択した場合に利用可能です。keyになるカラム名を指定します。
table_key
string
Dedupe by
任意
モードupsert を選択した場合に利用可能です。Table Keyで指定したカラム名が重複している場合に、どの入力行を使用するか選択するために使用するカラム名を指定します。
dedupe_by
string
順序
任意
モードupsert を選択した場合に利用可能です。Dedupe byで選択したカラムにおける優先順をDESC,ASCから選択します。
sort_order
string
パーティションフィルター
任意
モードupsert を選択した場合に利用可能です。パーティションフィルターを入力します。
partition_filter
object
BigQueryデータセットとバケット(= Cloud Storage)のロケーション
BigQueryの仕様として、BigQueryに書き込む際にはバケット(= Cloud Storage)とデータセットのロケーションが同じか、データセットが米国のマルチリージョンロケーションにある必要があります。利用するデータセットとバケットのロケーションに注意してください。

パーティションフィルター

name
required
description
json field for import
type
パーティションフィルター:列
任意
モードupsert を選択した場合に利用可能です。upsertする際にパーティションフィルタにおけるパーティショニング列を入力します。
partitioning_column
string
パーティションフィルター:範囲(複数可)
任意
モードupsert を選択した場合に利用可能です。upsertする際にパーティションフィルタの範囲を入力します。読み込むことのできる範囲を開始から終了で複数指定可能です。
where
array(object)
upsertモードは、"update or insert" を実行するモードです。BigQueryのテーブルをupdateするためにテーブルを読み込む必要があります。そのため、テーブルがパーティション分割されている場合にパーティションフィルターで読み込むことのできる範囲を指定して許可しないといけない場合があります。
BigQueryのパーテション分割については、下記を参考ください。

Google BigQueryのテーブルがパーティションフィルタ「必須」の場合

  • パーティションフィルターパラメータを指定した場合
    • Table Keyで指定したカラム名とパーティションフィルター両方ともマッチした行を更新
    • Table Keyで指定したカラム名とパーティションフィルターどちらか一方でもマッチしなかった行は挿入
  • パーティションフィルターパラメータを指定し無い場合
    • エラー、workflow自体が失敗

Google BigQueryのテーブルがパーティションフィルタ「必須」の場合

  • パーティションフィルターパラメータを指定した場合
    • Table Keyで指定したカラム名とパーティションフィルター両方ともマッチした行を更新
    • Table Keyで指定したカラム名とパーティションフィルターどちらか一方でもマッチしなかった行は挿入
  • パーティションフィルターパラメータを指定し無い場合
    • Table Keyがマッチした行を更新
    • Table Keyがマッチしなかった行を挿入