BigQuery
BigQueryスクリプトの実行
概要
このブロックは、BigQueryスクリプトopen_in_newを実行します。

BigQueryスクリプトは、複数のSQLステートメントのリストを上から順番に実行します。BigQueryスクリプトでは、変数を使用したり、条件分岐(IF
)やループ(LOOP
/WHILE
)を使って複雑な処理が実行できるようになります。詳しくは、Googleの「GoogleSQLのスクリプト ステートメントopen_in_new」を参照願います。
以下に、GoogleのBigQueryスクリプトのドキュメントopen_in_newに記載されているBigQueryスクリプトの例を引用します(引用元文章の脱字を修正して掲載)。
次の例では、変数
heads
とheads_count
が宣言されています。次に、ループを開始します。ループ内では、ランダムなブール値がheads
に割り当てられています。次に、heads
が trueの場合に「Heads!」(コインの表)と出力され、heads_count
が増分されます。heads
がtrueでない場合は「Tails!」(コインの裏)と出力され、ループが終了します。コインのフリップが表になった回数を表す文字列が出力されます。DECLARE heads BOOL; DECLARE heads_count INT64 DEFAULT 0; LOOP SET heads = RAND() < 0.5; IF heads THEN SELECT 'Heads!'; SET heads_count = heads_count + 1; ELSE SELECT 'Tails!'; BREAK; END IF; END LOOP; SELECT CONCAT(CAST(heads_count AS STRING), ' heads in a row');
このブロックでは、[クエリー]プロパティに記述された、このようなBigQueryスクリプトが実行できます。
warningスクリプトが途中で失敗した場合、実行に成功したステートメント実行分は課金されます。
プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 |
編集パネルに配置した当該ブロックの表示名が変更できます。 ブロックリストパネル中のブロック名は変更されません。 |
GCPサービスアカウント |
このブロックで使用するGCPサービスアカウントを選択します。 |
クエリー |
実行するBigQueryスクリプトを指定します。 content_pasteをクリックすると、指定されたクエリーをクリップボードへコピーします。コピーの際、フロー間共通変数は、設定値に置き換わります。フロー間共通変数を置き換えたくない場合は、ウェブブラウザーのコピー機能を利用してください(例:コピーしたい部分を範囲選択して、マウスの右ボタンクリックで表示されるメニューから「コピー」をクリック)。 |
クエリー内の%形式の文字列書式を有効にする |
クエリー内の%形式の文字列書式を有効にするかしないかを指定します。
info_outlineクエリー内でFORMAT_TIMESTAMP関数やPARSE_TIMESTAMP関数などのように%を含む「形式設定文字列open_in_new」を使う場合は、%を%%に置き換える必要がなくなるため、このチェックをオフにすると便利です。 |
クエリーの優先度 |
クエリーの優先度を選択します。選択できる優先度は、次のいずれかです。
|
ブロックメモ | このブロックに関するメモが記載できます。このブロックの処理に影響しません。 |
クエリーキャッシュを有効にする | クエリーキャッシュを有効にするかしないかを指定します。 |
最大料金バイト数 |
クエリーの料金を制限します。クエリーで処理するデータ量が、ここで指定されたバイト数を超える場合は、そのクエリーは実行されません。 warningスクリプト全体で処理するデータ量がこのバイト数を超えていたとしても、このバイト数を超えないデータ量分のステートメントの実行は行われます。このため、その実行分は課金されます。このバイト数を超えそうなデータ量を処理するステートメントがあるとそれ以降は実行されず、その分の課金は行われません。 |
クエリー文をログへ出力 |
クエリー文をログへ出力するかどうかの指定です。ログに出力するクエリー文は、変数が展開されて出力されます。 クエリー文をログへ出力する場合は、チェックボックスにチェックを入れてください。 |