BigQuery
カラム値毎のテーブル分割
概要
BigQuery のテーブルを指定したカラムの内容ごとに分割したテーブルを作成するブロックです。
具体的には、まず "SELECT 分割基準のカラム名 FROM 分割元のテーブル GROUP BY col LIMIT 1000;" で、分割元テーブルの分割基準のカラム名(col)が持つ値の種類を取得します。その内容毎(val)に、"SELECT * FROM 分割元のテーブル WHERE col = val;" で該当する行に絞り込んだ結果を val を含むテーブル名のテーブルに出力します。
- 「分割基準のカラム名」は、適当に文字列化され、テーブル ID に利用できない文字は、削って出力先テーブル ID のサフィックスに使われます。結果として重複してしまう場合には通し番号が振られます
- 「分割基準のカラム名」の値の種類が 999 を超えるとエラーとします(1000 件以上でエラー)
- 既存のテーブルがあれば上書きします。
プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 | ブロックの名前を指定します。ブロックに表示されます。 |
GCP サービスアカウント | このブロックで使用する GCP サービスアカウントを選択します。 |
分割元のデータセット |
分割元のデータセット ID を指定します。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
分割元のテーブル |
分割元のテーブル ID を指定します。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
分割基準のカラム名 | 分割の基準となる STRING 型のカラム名を指定します。 |
分割したテーブルのデータセット |
分割したテーブルの書き込み先データセット ID を指定します。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
分割したテーブルのテーブル名 |
分割したテーブルの書き込み先テーブル ID のプリフィックスを指定します。「分割基準のカラム名」の値(利用できない文字は除かれます)を付加して最終的なテーブル ID が決定します。 [変数展開の指定が可能][% 形式の文字列書式の指定が可能]
|
クエリーの優先度 |
クエリの優先度を選択します。選択できる優先度は、次のいずれかです。
|
ブロックメモ | ブロックに対するコメントを指定します。 |