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

BigQuery カタログ

BigQuery カタログはBigQueryテーブルにBigQuery Connectorを通じてアクセスするためにTrino Connector互換性フレームワークを使用します。

注記

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

適用シナリオ

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

環境準備

BigQuery Connector Pluginのコンパイル

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のデプロイ

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

├── 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 documentationを参照してください。

  • [CommonProperties]

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

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

BigQueryプロパティについての詳細は、Trino documentationを参照してください。

カラムタイプマッピング

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;