メインコンテンツまでスキップ

BigQuery カタログ

概要

BigQuery CatalogはTrino BigQuery Connectorを使用して、Trino Connector互換性フレームワーク経由でBigQueryテーブルにアクセスします。

注記
  • この機能は実験的機能であり、バージョン3.0.1以降でサポートされています。
  • この機能はTrinoクラスター環境に依存せず、Trino互換性プラグインのみを使用します。

使用例

シナリオサポート状況
データ統合BigQueryデータを読み取りDoris内部テーブルに書き込み
データ書き戻しサポートされていません

バージョン互換性

  • Dorisバージョン: 3.0.1以降
  • Trino Connectorバージョン: 435
  • BigQueryバージョン: サポートされているバージョンについては、Trino Documentationを参照してください

クイックスタート

ステップ1: Connectorプラグインの準備

BigQuery Connectorプラグインを取得するには、以下のいずれかの方法を選択できます:

方法1: プリコンパイル済みパッケージの使用(推奨)

プリコンパイル済みプラグインパッケージをここから直接ダウンロードして解凍します。

方法2: 手動コンパイル

カスタムコンパイルが必要な場合は、以下の手順に従ってください(JDK 17が必要):

git clone https://github.com/apache/doris-thirdparty.git
cd doris-thirdparty
git checkout trino-435
cd plugin/trino-bigquery
mvn clean install -DskipTests

コンパイル後、trino/plugin/trino-bigquery/target/の下にtrino-bigquery-435/ディレクトリが作成されます。

Step 2: プラグインのデプロイ

  1. すべてのFEおよびBEノードのデプロイメントパスの下にあるconnectors/ディレクトリにtrino-bigquery-435/ディレクトリを配置します(ディレクトリが存在しない場合は手動で作成してください):

    ├── bin
    ├── conf
    ├── plugins
    │ ├── connectors
    │ ├── trino-bigquery-435
    ...

fe.conftrino_connector_plugin_dir 設定を変更することで、プラグインパスをカスタマイズすることもできます。例:trino_connector_plugin_dir=/path/to/connectors/

  1. Connectorが適切に読み込まれるように、すべてのFEおよびBEノードを再起動します。

ステップ3:Google Cloud認証の準備

Catalogを作成する前に、Google Cloud認証を設定する必要があります。推奨される方法はApplication Default Credentials (ADC)です:

  1. gcloud CLIをインストール:https://cloud.google.com/sdk/docs/install

  2. 初期化と認証のために以下のコマンドを実行:

    gcloud init --console-only --skip-diagnostics
    gcloud auth login
    gcloud auth application-default login
  3. 認証が成功すると、ADCクレデンシャルファイルが~/.config/gcloud/application_default_credentials.jsonに生成されます。

ステップ4: カタログの作成

基本設定例

CREATE CATALOG bigquery_catalog PROPERTIES (
'type' = 'trino-connector',
'trino.connector.name' = 'bigquery',
'trino.bigquery.project-id' = 'your-bigquery-project-id',
'trino.bigquery.credentials-file' = '/path/to/application_default_credentials.json'
);

ステップ5: データのクエリ

Catalogを作成した後、BigQueryテーブルデータを3つの方法でクエリできます:

-- Method 1: Query after switching to Catalog
SWITCH bigquery_catalog;
USE bigquery_db;
SELECT * FROM bigquery_tbl LIMIT 10;

-- Method 2: Use two-level path
USE bigquery_catalog.bigquery_db;
SELECT * FROM bigquery_tbl LIMIT 10;

-- Method 3: Use fully qualified name
SELECT * FROM bigquery_catalog.bigquery_db.bigquery_tbl LIMIT 10;

設定

カタログ設定パラメータ

BigQuery Catalogを作成するための基本的な構文は以下の通りです:

CREATE CATALOG [IF NOT EXISTS] catalog_name PROPERTIES (
'type' = 'trino-connector', -- Required, fixed value
'trino.connector.name' = 'bigquery', -- Required, fixed value
{TrinoProperties}, -- Trino Connector related properties
{CommonProperties} -- Common properties
);

TrinoProperties パラメータ

TrinoPropertiesは、trino.プレフィックス付きのTrino BigQuery Connector固有のプロパティを設定するために使用されます。一般的なパラメータは次のとおりです:

パラメータ名必須デフォルト説明
trino.bigquery.project-idはい-BigQueryプロジェクトID
trino.bigquery.credentials-fileはい-Google Cloud認証情報ファイルパス
trino.bigquery.views-enabledいいえfalseビューサポートを有効にするかどうか
trino.bigquery.arrow-serialization.enabledいいえtrueパフォーマンス向上のためArrowシリアライゼーションを有効にするかどうか

BigQuery Connectorの設定パラメータの詳細については、Trino公式ドキュメントを参照してください。

CommonProperties パラメータ

CommonPropertiesは、メタデータ更新ポリシーやアクセス制御などの共通のCatalogプロパティを設定するために使用されます。詳細については、Catalog概要の「共通プロパティ」セクションを参照してください。

データ型マッピング

BigQuery Catalogを使用する場合、データ型は以下のルールに従ってマッピングされます:

BigQuery型Trino型Doris型
booleanbooleanboolean
int64bigintbigint
float64doubledouble
numericdecimal(P, S)decimal(P, S)
bignumericdecimal(P, S)decimal(P, S)
stringvarcharstring
bytesvarbinarystring
datedatedate
datetimetimestamp(6)datetime(6)
timetime(6)string
timestamptimestamp with time zone(6)datetime(6)
geographyvarcharstring
arrayarrayarray
mapmapmap
structrowstruct