クエリの仕様

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

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

テーブル参照構文

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

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

制限事項

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

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

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

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

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

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

WHERE指定時のクエリ記述例

 

■ 制限事項

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

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

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

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

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

BigQueryテーブルを利用する場合

  • Google Cloud Storage(GCS)をデータソースとするテーブルを利用する際、参照元のファイルがGCSに存在しない場合の結果は、Google BigQuery上のクエリ実行結果に依存して、Rtoaster insight+では以下のようになります。
    • Google BigQuery上のクエリ実行でエラーにならない場合、Rtoaster insight+のクエリ実行結果は処理件数が0件で成功します。
    • Google BigQuery上のクエリ実行でエラーになる場合は、Rtoaster insight+でも同様にエラーとなります。
Rtoaster insight+の内部システムにはGoogle BigQueryが採用されており、基本的な仕様はGoogle BigQueryテーブルに準じます。