Você pode se inscrever na lista de espera da Prévia Privada aqui.
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.
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.
O ClickPipes depende de jobs de extração em lote para extrair dados do BigQuery para o bucket de staging no GCS. Essa operação não gera cobranças de processamento no BigQuery.
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 | |
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.
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>")
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>")