ブロックリファレンス

BLOCKS Reference

BigQuery

BigQuery スクリプトの実行(ベータ版)

概要

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

BigQuery スクリプトは、複数の SQL ステートメントのリストを上から順番に実行します。BigQuery スクリプトでは、変数を使用したり、条件分岐(IF)やループ(LOOP / WHILE)を使って複雑な処理が実行できるようになります。

以下に、Google の BigQuery スクリプトのドキュメント に記載されている BigQuery スクリプトの例を引用します(引用元文章の脱字を修正して掲載)。

次の例では、変数 headsheads_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 スクリプトを実行します。

スクリプトが途中で失敗した場合、実行に成功したステートメント実行分は課金されます。

このブロックはベータ版です。正式版リリース後、本ブロックは利用できなくなる可能性があります。ご注意ください。正式版リリース後は、正式版のブロックをご利用ください。

また、ベータ版での提供となるため、一部の機能が正常に動作しない可能性があります。機能改善や不具合などのフィードバックは、「フォーラム 」や「お問い合わせ」で情報提供をお願いします。フィードバックの内容は MAGELLAN BLOCKS の品質向上のために利用いたします。

プロパティ

プロパティ名 説明
ブロック名 ブロックの名前を指定します。ブロックに表示されます。
GCP サービスアカウント

このブロックで使用する GCP サービスアカウントを選択します。

クエリー

実行する BigQuery スクリプトを指定します。

%Y や %m などの % 形式の文字列書式を BigQuery にそのまま渡したい場合は、% の部分を %% としてください。例えば、%Y や %m の場合は、%%Y、%%m とします。BLOCKS により %% が % へ変換され、%Y、%m が BigQuery に渡ります。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
クエリーの優先度

クエリーの優先度を選択します。選択できる優先度は、次のいずれかです。

  • インタラクティブ(直ぐに実行、同時実行数の制限を受ける)
  • バッチ(リソースがあるときに実行、同時実行数の制限を受けない)
ブロックメモ ブロックに対するコメントを指定します。
エラー時の繰り返し回数 BigQuery のエラーやタイムアウト時の繰り返し回数を指定します。
最小タイムアウト時間 BigQuery からの応答を待つ時間(タイムアウト)を秒単位で指定します。繰り返し回数ごとに 2 倍に増えます。繰り返し回数ごとに増える時間の最大値は、「最大タイムアウト時間」プロパティで指定します。
最大タイムアウト時間 「最小タイムアウト時間」から繰り返し回数ごとに増やすタイムアウトの最大時間を秒単位指定します。
クエリーキャッシュを有効にする クエリーキャッシュを有効にするかしないかを指定します。
最大料金バイト数

クエリーの料金を制限します。クエリーで処理するデータ量が、ここで指定されたバイト数を超える場合は、そのクエリーは実行されません。

スクリプト全体で処理するデータ量がこのバイト数を超えていたとしても、このバイト数を超えないデータ量分のステートメントの実行は行われます。このため、その実行分は課金されます。このバイト数を超えそうなデータ量を処理するステートメントがあるとそれ以降は実行されず、その分の課金は行われません。

クエリー文をログへ出力

クエリー文をログへ出力するかどうかの指定です。ログに出力するクエリー文は、変数が展開されて出力されます。

クエリー文をログへ出力する場合は、チェックボックスにチェックを入れてください。