Google BigQuery クラウドデータソース
この記事では、Google BigQuery クラウドデータソースの構成方法について説明します。
クラウドデータソースの構成に関する一般的な概要については、クラウドデータソースの管理を参照してください。
データタイプ
Google BigQuery データソースは、Google BigQuery のすべてのデータタイプをサポートしています。データが正しくインポートされるように、以下のガイドラインに従って Google BigQuery データタイプをマッピングしてください:
| Google BigQuery | Tealium |
|---|---|
| 数値データタイプ | 数値属性 |
| 文字列およびバイナリデータタイプ | 文字列属性 |
| 論理データタイプ | ブール属性 |
| 日付および時間データタイプ | 日付属性 |
| 配列 | 文字列の配列、数値の配列、またはブールの配列 |
| JSON | 文字列属性 |
| STRUCT | STRUCT列のインポートを参照してください。 |
詳細については、Google BigQuery: データタイプを参照してください。
接続の作成
TealiumはOAuth 2.0フローを使用してGoogleと認証します。このプロセスには、サービスアカウントと秘密鍵ファイルが必要です。
サービスアカウントには、以下のBigQuery IAMロールが必要です:
公開/秘密鍵ペアを生成するには:
- Google Cloud > サービスアカウントに移動し、プロジェクトを選択するか、新しく作成します。
- サービスアカウントを選択するか、新しく作成し、キータブに移動してキーの追加 > 新しいキーの作成を選択します。
- JSONオプションを選択し、作成をクリックします。 秘密鍵が生成され、マシンにダウンロードされます。
新しい接続を構成するには、次の接続詳細を入力します:
- データセット: 指定されたプロジェクト内のデータセットの名前。プロジェクト名は含めません。
- プロジェクトID: Google CloudプロジェクトのプロジェクトID。
- サービスアカウントのメールアドレス: サービスアカウントの生成されたメールアドレス。
- キーファイル: サービスアカウント用に生成された秘密鍵ファイルをアップロードするか、以前にアップロードされたキーファイルを選択します。
Google BigQueryに接続した後、データ選択リストからテーブルまたはビューを選択します。
詳細については、Google for Developers: サーバー間アプリケーション用のOAuth 2.0の使用を参照してください。
クエリバッチサイズ
デフォルトのクエリバッチサイズは、バッチあたり1,000レコードです。デフォルトからクエリバッチサイズを変更するには追加の権限が必要です。クエリサイズ制限を変更する権限を付与するには、Google Cloud console > IAMメニュー > 適切なサービスアカウントを選択 > アクセスを許可 > BigQuery Read Session User Roleを追加に移動します。たとえば、BigQuery Read Session User (roles/bigquery.readSessionUser)を入力します。詳細については、Google: BigQuery IAMロールと権限およびクラウドデータソースについてを参照してください。
クエリモード
一般的な概要については、クラウドデータソースについてを参照してください。
Timestampを使用するモードでは、選択されたタイムスタンプ列はTIMESTAMPタイプでなければなりません。
詳細については、Google BigQuery: TIMESTAMPを参照してください。
Incrementingを使用するモードでは、追加される各行に対して値が増加する数値列を選択する必要があります。FLOATやDECIMALではなく、INT64のような整数タイプを使用してください。
詳細については、Google BigQuery: 数値タイプを参照してください。
WHERE句
一般的な概要については、クラウドデータソースについてを参照してください。
WHERE句は複数のテーブルからのサブクエリをサポートしていません。複数のGoogle BigQueryテーブルからデータをインポートするには、Google BigQueryでビューを作成し、データソース構成でそのビューを選択します。
STRUCT列のインポート
BigQueryのSTRUCT列はTealiumに直接インポートすることはできません。STRUCT列からデータをインポートするには、STRUCTフィールドを個別の列にフラット化するビューを作成します。
たとえば、次のようにSTRUCTで定義された住所があるかもしれません:
shipping_address STRUCT<
street STRING,
city STRING,
state STRING,
postal_code STRING,
country STRING
>
これらの住所フィールドを個別の列にフラット化するビューを作成するには、次のようなSQLステートメントを使用します:
CREATE OR REPLACE VIEW ecommerce.order_shipping_view AS
SELECT
order_id,
customer_id,
shipping_address.country AS country,
shipping_address.postal_code AS postal_code
FROM
ecommerce.orders;
フラット化されたSTRUCT列は、他のサポートされているデータタイプのようにインポートおよびマッピングすることができます。
最終更新日 :: 2026年February月27日