7.2.6 BigQuery Catalog¶
BigQuery Catalog 通过 Trino Connector 兼容框架,使用 BigQuery Connector 来访问 BigQuery 表。
该功能自 Doris 3.0.1 版本开始支持。
Tip
这是一个实验功能。
1 使用须知¶
-
在使用
Trino Catalog访问BigQuery表之前,必须先编译Trino的BigQuery插件,并将其放在指定目录下,具体操作步骤参考下文 -
当前
Doris适配Trino 435版本的插件,如果使用低于或高于435版本的Trino插件,可能会出现兼容性问题。
2 编译 BigQuery Connector 插件¶
Tip
需要 JDK 17 版本。
| Bash | |
|---|---|
1 2 3 4 5 | |
完成编译后,会在 trino/plugin/trino-bigquery/target/ 下得到 trino-bigquery-435/ 目录。
也可以直接下载我们预编译的 trino-bigquery-435-20240724.tar.gz 并解压。
3 部署 BigQuery Connector¶
将 trino-bigquery-435/ 目录放到所有 FE 和 BE 部署路径的 connectors/ 目录下。(如果没有,可以手动创建)。
| Bash | |
|---|---|
1 2 3 4 5 | |
部署完成后,建议重启 FE 、 BE 节点以确保 Connector 可以被正确加载。
4 准备 Google Cloud 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 认证文件,生成后的 json 默认放在 ~/.config/gcloud/application_default_credentials.json
5 创建 BigQuery Catalog¶
| SQL | |
|---|---|
1 2 3 4 5 6 | |
其中:以 trino. 为前缀的属性都是 trino 原生的属性,更多有关 BigQuery 的属性可以参考 Trino 文档。
6 列类型映射¶
| 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 |
| TIME | TIME(6) | STRING |
| TIMESTAMP | TIMESTAMP(6) WITH TIME ZONE | DATETIME |
| GEOGRAPHY | VARCHAR | STRING |
| ARRAY | ARRAY | ARRAY |
| MAP | MAP | MAP |
| RECORD | ROW | STRUCT |