Перейти к содержимому
Последнее обновление

BigQuery Catalog

Обзор​

BigQuery Catalog использует Trino BigQuery Connector для доступа к таблицам BigQuery через инфраструктуру совместимости Trino Connector.

примечание
  • Эта функция является экспериментальной и поддерживается начиная с версии 3.0.1.
  • Для работы этой функции не требуется кластер Trino: используется только плагин совместимости с Trino.

Сценарии использования​

СценарийПоддержка
Интеграция данныхЧтение данных BigQuery и запись во внутренние таблицы Doris
Обратная запись данныхНе поддерживается

Совместимость версий​

  • Версия Doris: 3.0.1 и выше
  • Версия Trino Connector: 435
  • Версия BigQuery: сведения о поддерживаемых версиях см. в документации Trino

Быстрый старт​

Шаг 1: Подготовка плагина коннектора​

Получить плагин 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-bigquery-435/ появится в trino/plugin/trino-bigquery/target/.

Шаг 2: Развёртывание плагина​

  1. Поместите каталог trino-bigquery-435/ в каталог connectors/ в директории развёртывания каждого узла FE и BE (если каталог не существует, создайте его вручную):

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

    Вы также можете задать собственный путь к плагинам, изменив параметр trino_connector_plugin_dir в fe.conf. Например: trino_connector_plugin_dir=/path/to/connectors/

  2. Перезапустите все узлы 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: Создание Catalog​

Пример базовой конфигурации

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 тремя способами:

-- 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;

Настройка​

Параметры конфигурации Catalog​

Базовый синтаксис создания 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 BigQuery Connector и имеют префикс trino.. Часто используемые параметры:

Имя параметраОбязательныйЗначение по умолчаниюОписание
trino.bigquery.project-idДа-Идентификатор проекта BigQuery
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