Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Интеграция BigQuery с ClickHouse Cloud

Закрытая предварительная версия в ClickHouse Cloud

BigQuery ClickPipe предоставляет полностью управляемый и отказоустойчивый способ приёма данных из BigQuery в ClickHouse Cloud. В закрытой предварительной версии поддерживается метод репликации первоначальной загрузки, который позволяет массово загружать наборы данных BigQuery для анализа и прототипирования. Поддержка CDC появится в будущем — а пока мы рекомендуем использовать Google Cloud Storage ClickPipe, чтобы после завершения первоначальной загрузки непрерывно синхронизировать экспортированные из BigQuery данные с ClickHouse Cloud.

BigQuery ClickPipes можно вручную развёртывать и настраивать через интерфейс ClickPipes, а также программно с помощью OpenAPI и Terraform.

Возможности

Начальная загрузка

ClickPipe для BigQuery загрузит выбранные таблицы из набора данных BigQuery в целевые таблицы ClickHouse одной батч-операцией. После завершения задачи по ингестии ClickPipe автоматически останавливается. Для процесса ингестии при начальной загрузке требуется предоставленный пользователем GCS-бакет в качестве промежуточного хранилища. В будущем этот промежуточный бакет будет предоставляться и управляться ClickPipes.

CDC (фиксация изменений данных)

CDC не поддерживается в закрытой предварительной версии, но будет поддерживаться в будущем. Пока мы рекомендуем использовать ClickPipe для Google Cloud Storage, чтобы после завершения начальной загрузки непрерывно синхронизировать экспортированные из BigQuery данные с ClickHouse Cloud.

Сопоставление типов данных

Типы данных BigQuery.

Тип данных BigQuery Тип данных ClickHouse Подробности
BOOL Bool
INT64 Int64
FLOAT64 Float64
NUMERIC Decimal(P, S) Точность до 38, масштаб до 9. Точность и масштаб сохраняются.
BIGNUMERIC Decimal(P, S) Точность до 76, масштаб до 38. Точность и масштаб сохраняются.
STRING String
BYTES String
JSON String (JSON)
DATE Date
TIME String Точность до микросекунд.
DATETIME DateTime Точность до микросекунд.
TIMESTAMP DateTime64(6) Точность до микросекунд.
GEOGRAPHY String
GEOMETRY String
UUID String
ARRAY<T> Array(T)
ARRAY<DATE> Array(Date)
STRUCT (RECORD) String

Управление доступом

Аутентификация

Учетные данные сервисного аккаунта

ClickPipes аутентифицируется в вашем проекте Google Cloud с помощью ключа сервисного аккаунта. Мы рекомендуем создать отдельный сервисный аккаунт с минимально необходимым набором разрешений, чтобы ClickPipes мог экспортировать данные из BigQuery, загружать их в промежуточный GCS-бакет и считывать в ClickHouse.

Создание ключа сервисного аккаунта с разрешениями для BigQuery и Cloud Storage

Разрешения

BigQuery

У сервисного аккаунта должны быть следующие роли BigQuery:

Чтобы дополнительно сузить область доступа, рекомендуем использовать условия IAM, чтобы ограничить ресурсы, к которым у роли есть доступ. Например, роль dataViewer можно ограничить конкретным набором данных, содержащим таблицы, которые вы хотите синхронизировать:

resource.name.startsWith("projects/<PROJECT_ID>/datasets/<DATASET_NAME>")

Cloud Storage

Сервисный аккаунт должен иметь следующие роли Cloud Storage:

Чтобы дополнительно сузить область доступа, мы рекомендуем использовать условия IAM, чтобы ограничить ресурсы, к которым у роли есть доступ. Например, можно ограничить роли objectAdmin и bucketViewer, предоставив им доступ только к выделенному бакету, созданному для синхронизации ClickPipes.

resource.name.startsWith("projects/_/buckets/<BUCKET_NAME>")
Navigation