Application Design Center で BigQuery を構成する

BigQuery は、ペタバイト規模の費用対効果に優れたフルマネージド型の分析データ ウェアハウスです。膨大な量のデータに対してほぼリアルタイムで分析を行うことができます。詳細については、BigQuery の概要をご覧ください。

このドキュメントでは、App Design Center を使用して BigQuery データセットを作成するときに構成できるコンポーネントとパラメータについて説明します。構成パラメータは、terraform-google-bigquery Terraform モジュールに基づいています。

コンポーネント接続

次の表に、BigQuery データセットに接続できるコンポーネントと、アプリケーションとその生成された Terraform コードに対する更新結果を示します。

連結成分

アプリケーションの更新

背景情報

Compute Engine インスタンス テンプレート

  • Compute Engine インスタンスは、BigQuery データセットに対してデータの読み取りと書き込みを行うことができます。
  • BigQuery リソース メタデータが Compute Engine インスタンス テンプレートに追加されます。
  • roles/bigquery.dataEditor ロールが Compute Engine インスタンス テンプレート サービス アカウントに追加されます。
インスタンス テンプレート
サービス アカウント
  • サービス アカウントは、Cloud Run などのサービスが BigQuery データセット内のデータを読み取って変更するために使用できます。
  • BigQuery roles/bigquery.dataEditor ロールがサービス アカウントに追加されます。
BigQuery IAM のロールと権限
Cloud Run
  • Cloud Run サービスは BigQuery データセットを操作できます。
  • BigQuery リソースのメタデータが Cloud Run 環境変数に追加されます。
  • BigQuery の roles/bigquery.dataEditor ロールが Cloud Run サービス アカウントに追加されます。
Cloud Run とは

Pub/Sub

  • Pub/Sub サブスクリプションは、BigQuery データセットにメッセージを書き込むことができます。
  • BigQuery データセット情報が BigQuery サブスクリプション フィールドに追加されます。
BigQuery サブスクリプション

必要な構成パラメータ

テンプレートに BigQuery コンポーネントが含まれている場合は、デプロイする前に次のパラメータを構成する必要があります。

パラメータ名

説明と制約

背景情報

データセット ID

id データセットの概要

プロジェクト ID

BigQuery のデータセットとテーブルをデプロイするプロジェクト。

コンポーネントを構成する

オプションの構成パラメータ

次のパラメータは省略可能です。詳細パラメータを表示するには、[構成] 領域で [詳細フィールドを表示] を選択します。

機能

サブ機能

パラメータ名

説明と制約に関する情報

背景情報

テーブル

テーブル ID

id テーブルの概要

説明

description テーブルの概要

テーブル名

friendlyName テーブルの命名

スキーマ

スキーマ スキーマの指定

クラスタリング

クラスタリング クラスタ化テーブルの概要

パーティション フィルタを必須にする

requirePartitionFilter パーティション フィルタの要件を設定する
時間パーティショニング

有効期限(ミリ秒)

expirationMs パーティションの有効期限を設定する

フィールド

field 時間単位列パーティション分割テーブルを作成する

type 時間単位列パーティション分割テーブルを作成する
範囲パーティショニング

フィールド

field パーティション フィルタの要件を設定する

範囲の開始

range.start 整数範囲パーティショニング

Range End(範囲の終了)

range.end 整数範囲パーティショニング

範囲の間隔

range.interval 整数範囲パーティショニング

有効期限

expirationTime テーブルの有効期限を更新する

削除からの保護

このテーブルが Terraform によって削除されないようにするには、チェックボックスをオンにします。選択されていない場合は、コンポーネント レベルの削除保護設定が使用されます。

deletion_protection
ラベル

Key(キー)

labels テーブルとビューにラベルを追加する

labels テーブルとビューにラベルを追加する

データセット名

friendlyName データセットに名前を付ける

説明

description データセットの説明を更新する

リージョン

location BigQuery のロケーション

Delete Contents on Destroy

リソースの破棄時にデータセット内のすべてのテーブルを削除する場合に選択します。選択されていない場合、テーブルが存在するとリソースの破棄は失敗します。

delete_contents_on_destroy

削除からの保護

選択すると、テーブルを削除する terraform apply または terraform destroy が失敗します。選択されていない場合、テーブルを削除できます。この設定は、テーブルごとに削除保護設定を使用してオーバーライドできます。

deletion_protection

デフォルトのテーブル有効期限(ミリ秒)

defaultTableExpirationMs デフォルトのテーブル有効期限を更新する

Default Partition Expiration MS

defaultPartitionExpirationMs デフォルトのパーティションの有効期限を更新する

最大タイムトラベル時間

maxTimeTravelHours タイムトラベル ウィンドウを更新する

ストレージの課金モデル

StorageBillingModel ストレージの課金モデル

暗号鍵

kmsKeyName 保存時の暗号化
データセットのラベル

Key(キー)

labels データセットにラベルを追加する

value データセットにラベルを追加する
リソースタグ

Key(キー)

resourceTags タグの定義と識別子

resourceTags タグの定義と識別子
ビュー

ビュー ID

id ビューの命名

説明

description ビューの概要

クエリ

query ビューの SQL クエリの更新

レガシー SQL を使用する

useLegacySql GoogleSQL への移行
ラベル

Key(キー)

labels テーブルとビューにラベルを追加する

labels テーブルとビューにラベルを追加する
マテリアライズド ビュー

ビュー ID

id ビューの命名

説明

description マテリアライズド ビューの概要

クエリ

query マテリアライズド ビュー クエリのサポート

更新を有効にする

enableRefresh マテリアライズド ビューの更新

更新間隔(ミリ秒)

refreshIntervalMs 更新のフリークエンシー キャップを設定する

クラスタリング

fields[] クラスタのマテリアライズド ビュー
時間パーティショニング

有効期限(ミリ秒)

expirationMs パーティションの有効期限を設定する

フィールド

field 時間単位列パーティション分割テーブルを作成する

type 時間単位列パーティション分割テーブルを作成する

パーティション フィルタを必須にする

requirePartitionFilter パーティション フィルタの要件を設定する
範囲パーティショニング

フィールド

field パーティション分割されたマテリアライズド ビュー

範囲の開始

range.start 整数範囲パーティショニング

Range End(範囲の終了)

range.end 整数範囲パーティショニング

範囲の間隔

range.interval 整数範囲パーティショニング

有効期限

expirationTime ビューの有効期限を更新する

最大未更新

maxStaleness max_staleness オプションを指定してマテリアライズド ビューを使用する
ラベル

Key(キー)

labels テーブルとビューにラベルを追加する

labels テーブルとビューにラベルを追加する
外部テーブル

テーブル ID

id 外部テーブルの概要

説明

外部テーブルの説明。 description

自動検出

autodetect 自動検出フラグを使用する

圧縮

圧縮 圧縮データと非圧縮データを読み込む

不明な値を無視

ignoreUnknownValues 外部データソース用のテーブル定義ファイルを作成する

不良レコードの最大数

maxBadRecords 外部データソース用のテーブル定義ファイルを作成する

スキーマ

スキーマ 外部データソース用のテーブル定義ファイルを作成する

ソース形式

sourceFormat 外部データソース用のテーブル定義ファイルを作成する

ソース URI

sourceUris 外部データソース用のテーブル定義ファイルを作成する
CSV のオプション

引用

引用 Cloud Storage からの CSV データの読み込み

ジャグ行を許可

allowJaggedRows Cloud Storage からの CSV データの読み込み

引用符で囲まれた改行を許可する

allowQuotedNewlines Cloud Storage からの CSV データの読み込み

エンコード

エンコード エンコード

フィールド区切り文字

FieldDelimiter フィールド区切り文字

先頭行をスキップ

skipLeadingRows CSV オプション
Google スプレッドシートのオプション

Range

range Google ドライブの外部テーブルを作成する

先頭行をスキップ

skipLeadingRows Google ドライブの外部テーブルを作成する
Hive パーティショニング オプション

Mode

モード 検出モード

ソース URI の接頭辞

sourceUriPrefix 外部でパーティションに分割されたデータを使用する

有効期限

expirationTime テーブルの有効期限を更新する

最大未更新

maxStaleness テーブルの未更新を管理する

削除からの保護

このテーブルが Terraform によって削除されないようにするには、チェックボックスをオンにします。選択されていない場合は、コンポーネント レベルの削除保護設定が使用されます。

deletion_protection
ラベル

Key(キー)

labels テーブルとビューにラベルを追加する

labels テーブルとビューにラベルを追加する
ルーティン

ルーティン ID

routineId ルーティンを管理する

ルーティン タイプ

routineType RoutineType

言語

language 言語

定義の本文

definitionBody ルーティンの本文を表示する

戻り値の型

returnType StandardSqlDataType

説明

ルーティンの説明。 description
引数

名前

引数の名前。 name

データ型

dataType StandardSqlDataType

引数の種類

argumentKind ArgumentKind

Mode

モード Mode