クエリの仕様

Rtoaster insight+の内部システムにはGoogle BigQuery(以下BQ)が採用されており、基本的にはBQと互換性がありますが、一部Rtoaster insight+の仕様によりご留意いただく箇所があります。

本項ではRtoaster insight+のクエリ仕様をまとめて掲載しています。

テーブル参照構文

クエリ内でテーブルを参照させる場合は`<table_name>` と表記してください。
たとえば、RtoasterテーブルのWebアクセスログを参照させる場合
`<rtoaster.(Rtoaster action+ご契約プロパティ名).access_log>`と表記します。

テーブル参照時のクエリ記述例

制限事項

  • `<...>` 構文を使わない通常のテーブル参照は不可となります。
    project-id.dataset.table 形式は利用できません。
  • SELECT 文のみ利用可能です。
    • その他の SQL は利用できません。(WITH などとの組み合わせは可能です。)
    • BigQuery MLは動作保証対象外となります。
  • 各種メタデータ(INFORMATION_SCHEMA)の参照はできません。
  • BQの仕様に準じて、50件以上のテーブル参照はできません。

データ取り込み日を参照する

ジョブの出力先テーブル定義で分割テーブルを『取り込み時間で分割』している場合に、
`<table_name>`._PARTITIONDATEで、データ取り込み日(UTC)を参照できます。

データ取り込み日を参照(SELECTする)際には、エイリアスを使用する必要があります。

データ取り込み日を参照する際のクエリ記述例

WHEREで指定するだけの場合にはエイリアスは不要です。

WHERE指定時のクエリ記述例

 

■ 制限事項

  • 取り込み時間による分割パーティションが存在しないテーブルに対してこの値を参照した場合は、クエリ実行エラーとなります。
    クエリでデータ取り込み日を参照させる際には予め出力先テーブル定義で分割テーブルを『取り込み時間で分割』したジョブを作成してください。
  • エイリアスを使わずに取り込み時間を参照した場合は、クエリ実行エラーとなります。
  • `<table_name>`._PARTITIONDATEで参照する必要があるため、テーブル名をエイリアスした場合には参照できません。
  • 取り込み時間参照をしている場合には、ワイルドカード(*)でカラム指定はできません。

■ 制限事項によるエラー例

参照時にエイリアスを使用しない場合はエラー

参照時にテーブル名エイリアスは利用不可

カラムのワイルドカード指定との併用不可