ブロックリファレンス

BLOCKS Reference

BigQuery

クエリーと履歴テーブルへの保存【アルファ版】

このブロックはアルファ版です。利用にあたっては利用申請が必要です。提供している機能は完全でない場合があり、下位互換性のない変更を加える可能性もあります。このため、テスト環境での使用に適しています。利用申請/機能改善の要望/不具合の報告などは、MAGELLAN BLOCKS のお問い合わせ機能からお願いします。

概要

このブロックは、BigQuery のクエリーを実行しその結果を「結果格納先のテーブル」に格納すると共に、その結果を「履歴用の追記先のテーブル」に蓄積します。

クエリと履歴テーブルへの保存ブロックの概念図
(クリックすると拡大表示されます。)

「結果格納先のテーブル」と「履歴用の追記先のテーブル」は、共に指定したカラム(DATE 型もしくは DATETIME 型)に基づいたパーティション分割テーブル として作成されます。

このブロックを利用すると、毎日・毎月発生するデータを簡単に蓄積できます。蓄積には BigQuery のパーティション分割テーブルを利用しているため、蓄積データにアクセスする際のパフォーマンス向上が期待でき、アクセス費用も抑えられます。

プロパティ

プロパティ名 説明
ブロック名

編集パネルに配置した当該ブロックの表示名が変更できます。

ブロックリストパネル中のブロック名は変更されません。

GCP サービスアカウント

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

SQL 文法

クエリー」プロパティで使用する BigQuery のクエリー文法を以下から選択します。

クエリー

実行する BigQuery のクエリーを指定します。

クエリー接頭辞 #legacySQL / #standardSQL)を指定すると、[SQL 文法]プロパティの指定に関わらず、クエリー接頭辞に指定した SQL 文法でクエリーが実行されます。

をクリックすると、指定されたクエリーをクリップボードへコピーします。コピーの際、フロー間共通変数は、設定値に置き換わります。フロー間共通変数を置き換えたくない場合は、ウェブブラウザーのコピー機能を利用してください(例:コピーしたい部分を範囲選択して、マウスの右ボタンクリックで表示されるメニューから「コピー」をクリック)。

  • 変数展開の指定が可能
  • % 形式の文字列書式の指定が可能

    クエリー内の % 形式の文字列書式を有効にする]プロパティのチェックボックスにチェックが付いているときのみ有効です。

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

クエリー内の % 形式の文字列書式を有効にする

クエリー内の % 形式の文字列書式を有効にするかしないかを指定します。

  • チェックボックスオン:クエリー内の % 形式の文字列書式が有効
  • チェックボックスオフ:クエリー内の % 形式の文字列書式が無効

クエリー内で FORMAT_TIMESTAMP 関数や PARSE_TIMESTAMP 関数などのように % を含む「形式設定文字列 」を使う場合は、%%% に置き換える必要がなくなるため、このチェックをオフにすると便利です。

結果格納先のデータセット

クエリー結果を格納する BigQuery テーブルのデータセットを指定します。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
結果格納先のテーブル

クエリー結果を格納する BigQuery テーブルを指定します。

このテーブルは、「パーティションテーブルの分割に用いるカラム名」プロパティで指定されたカラムに基づいたパーティション分割テーブルとして、テーブル全体を上書きします。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
履歴用の追記先のデータセット

クエリー結果を蓄積する BigQuery データセットを指定します。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
履歴用の追記先のテーブル

クエリー結果を蓄積する BigQuery テーブルを指定します。

このテーブルは、「パーティションテーブルの分割に用いるカラム名」プロパティで指定されたカラムに基づいたパーティション分割テーブルとして運用します。

結果格納先のテーブルに含まれる全パーティションをこのテーブルの同じパーティションに対して上書きします。同じパーティションがなければ、そのパーティションが追加されます。

指定されたテーブルが存在しない場合は、「パーティションテーブルの分割に用いるカラム名」プロパティで指定されたカラムに基づいたパーティション分割テーブルとして、作成されます。

「結果格納先のテーブル」と「履歴用の追記先のテーブル」のスキーマが異なるとエラーとなりこのブロックは失敗します。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
パーティションテーブルの分割に用いるカラム名

履歴用の追記先テーブルの分割に用いる DATE 型もしくは DATETIME 型のカラムを指定します。

クエリーの優先度

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

  • インタラクティブ(直ぐに実行、同時実行数の制限を受ける)
  • バッチ(リソースがあるときに実行、同時実行数の制限を受けない)
ブロックメモ このブロックに関するメモが記載できます。このブロックの処理に影響しません。
クエリーキャッシュを有効にする クエリーキャッシュを有効にするかしないかを指定します。
最大料金バイト数 クエリーの料金を制限します。クエリーで処理するデータ量が、ここで指定されたバイト数を超える場合は、そのクエリーは実行されません(エラーとなり料金は発生しません)。
クエリー文をログへ出力

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

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

この情報は役に立ちましたか?