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: プラグインのデプロイ
-
すべてのFEおよびBEノードのデプロイメントパスの下にある
connectors/ディレクトリにtrino-bigquery-435/ディレクトリを配置します(ディレクトリが存在しない場合は手動で作成してください):├── bin
├── conf
├── plugins
│ ├── connectors
│ ├── trino-bigquery-435
...
fe.confのtrino_connector_plugin_dir設定を変更することで、プラグインパスをカスタマイズすることもできます。例:trino_connector_plugin_dir=/path/to/connectors/
- Connectorが適切に読み込まれるように、すべてのFEおよびBEノードを再起動します。
ステップ3:Google Cloud認証の準備
Catalogを作成する前に、Google Cloud認証を設定する必要があります。推奨される方法はApplication Default Credentials (ADC)です:
-
gcloud CLIをインストール:https://cloud.google.com/sdk/docs/install
-
初期化と認証のために以下のコマンドを実行:
gcloud init --console-only --skip-diagnostics
gcloud auth login
gcloud auth application-default login -
認証が成功すると、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型 |
|---|---|---|
| boolean | boolean | boolean |
| int64 | bigint | bigint |
| float64 | double | double |
| numeric | decimal(P, S) | decimal(P, S) |
| bignumeric | decimal(P, S) | decimal(P, S) |
| string | varchar | string |
| bytes | varbinary | string |
| date | date | date |
| datetime | timestamp(6) | datetime(6) |
| time | time(6) | string |
| timestamp | timestamp with time zone(6) | datetime(6) |
| geography | varchar | string |
| array | array | array |
| map | map | map |
| struct | row | struct |