Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Integração do BigQuery com o ClickHouse Cloud

Em prévia privada no ClickHouse Cloud

O BigQuery ClickPipe oferece uma maneira totalmente gerenciada e resiliente de ingerir dados do BigQuery no ClickHouse Cloud. Na Prévia Privada, ele oferece suporte ao método de replicação de carga inicial para ajudar você a carregar em massa conjuntos de dados do BigQuery para exploração e prototipagem. O CDC será suportado futuramente — enquanto isso, recomendamos usar o Google Cloud Storage ClickPipe para sincronizar continuamente as exportações de dados do BigQuery para o ClickHouse Cloud após a conclusão da carga inicial.

Os BigQuery ClickPipes podem ser implantados e gerenciados manualmente usando a UI do ClickPipes, bem como programaticamente usando OpenAPI e Terraform.

Funcionalidades

Carga inicial

O ClickPipe do BigQuery carregará as tabelas selecionadas de um conjunto de dados do BigQuery nas tabelas de destino do ClickHouse em uma única operação em lote. Assim que a tarefa de ingestão for concluída, o ClickPipe será interrompido automaticamente. O processo de ingestão da carga inicial requer um bucket do Google Cloud Storage (GCS) fornecido pelo usuário para staging. No futuro, o bucket intermediário será fornecido e gerenciado pelo ClickPipes.

CDC (Captura de Dados de Alterações)

O CDC ainda não tem suporte na prévia privada, mas terá no futuro. Enquanto isso, recomendamos usar o Google Cloud Storage ClickPipe para sincronizar continuamente as exportações de dados do BigQuery com o ClickHouse Cloud depois que a carga inicial for concluída.

Mapeamento de tipos de dados

Tipos de dados do BigQuery.

Tipo de dado do BigQuery Tipo de dado do ClickHouse Detalhes
BOOL Bool
INT64 Int64
FLOAT64 Float64
NUMERIC Decimal(P, S) Precisão de até 38, escala de até 9. A precisão e a escala são preservadas.
BIGNUMERIC Decimal(P, S) Precisão de até 76, escala de até 38. A precisão e a escala são preservadas.
STRING String
BYTES String
JSON String (JSON)
DATE Date
TIME String Precisão de microssegundos.
DATETIME DateTime Precisão de microssegundos.
TIMESTAMP DateTime64(6) Precisão de microssegundos.
GEOGRAPHY String
GEOMETRY String
UUID String
ARRAY<T> Array(T)
ARRAY<DATE> Array(Date)
STRUCT (RECORD) String

Controle de acesso

Autenticação

Credenciais da conta de serviço

O ClickPipes se autentica no seu projeto do Google Cloud usando uma chave de conta de serviço. Recomendamos criar uma conta de serviço dedicada com o conjunto mínimo de permissões necessárias para permitir que o ClickPipes exporte dados do BigQuery, carregue-os no bucket de staging do GCS e os leia no ClickHouse.

Criando uma chave de conta de serviço com permissões do BigQuery e do Cloud Storage

Permissões

BigQuery

A conta de serviço deve ter os seguintes papéis do BigQuery:

Para restringir ainda mais o escopo de acesso, recomendamos usar condições do IAM para limitar os recursos aos quais o papel tem acesso. Por exemplo, você pode restringir o papel dataViewer ao conjunto de dados específico que contém as tabelas que deseja sincronizar:

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

Cloud Storage

A conta de serviço deve ter os seguintes papéis do Cloud Storage:

Para restringir ainda mais o escopo de acesso, recomendamos usar condições do IAM para limitar os recursos aos quais o papel tem acesso. Por exemplo, você pode restringir os papéis objectAdmin e bucketViewer ao bucket dedicado criado para sincronizações do ClickPipes.

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