ブロックリファレンス

BLOCKS Reference

BigQuery

クエリと履歴テーブルへの保存

概要

このブロックは、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型のカラムを指定します。

クエリーの優先度

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

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

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

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

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