メインコンテンツまでスキップ
バージョン: 2.1

BigQuery カタログ

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

注記

この機能は実験的であり、バージョン3.0.1以降でサポートされています。

適用シナリオ

シナリオ説明
データ統合BigQueryデータを読み取り、Doris内部テーブルに書き込みます。
データライトバックサポートされていません。

環境準備

BigQuery Connectorプラグインのコンパイル

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 フォルダが作成されます。

また、事前にコンパイルされた trino-bigquery-435-20240724.tar.gz を直接ダウンロードして展開することもできます。

BigQuery Connectorのデプロイ

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

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

デプロイ後、Connectorが正しく読み込まれるようにFEおよびBEノードを再起動することを推奨します。

Catalogの設定

構文

CREATE CATALOG [IF NOT EXISTS] catalog_name
PROPERTIES (
'type' = 'trino-connector', -- required
'trino.connector.name' = 'bigquery', -- required
{TrinoProperties},
{CommonProperties}
);
  • {TrinoProperties}

    TrinoPropertiesセクションは、Trino Connectorに渡されるプロパティを指定するために使用されます。これらのプロパティはtrino.プレフィックスを使用します。理論的には、Trinoでサポートされているすべてのプロパティがここでもサポートされています。BigQueryの詳細については、Trinoドキュメントを参照してください。

  • [CommonProperties]

    CommonPropertiesセクションは、一般的なプロパティを指定するために使用されます。「Common Properties」セクションのCatalog Overviewを参照してください。

サポートされているBigQueryバージョン

BigQueryプロパティの詳細については、Trinoドキュメントを参照してください。

列型マッピング

BigQuery TypeTrino TypeDoris Type
booleanbooleanboolean
int64bigintbigint
float64doubledouble
numericdecimal(P, S)decimal(P, S)
bignumricdecimal(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

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',
);

クエリ操作

Catalogを設定した後、以下の方法を使用してCatalog内のテーブルデータをクエリできます:

-- 1. switch to catalog, use database and query
SWITCH bigquery_ctl;
USE bigquery_db;
SELECT * FROM bigquery_tbl LIMIT 10;

-- 2. use bigquery database directly
USE bigquery_ctl.bigquery_db;
SELECT * FROM bigquery_tbl LIMIT 10;

-- 3. use full qualified name to query
SELECT * FROM bigquery_ctl.bigquery_db.bigquery_tbl LIMIT 10;