A Estuary oferece um conector de materialização direto para o ClickHouse que usa o protocolo nativo e o formato nativo do ClickHouse.
Com ele, a Estuary pode:
- Materializar dados em instâncias auto-hospedadas e no ClickHouse Cloud
- Processar automaticamente tarefas como a criação de tabelas e a evolução de esquema
- Oferecer suporte a exclusões lógicas ou físicas
- Usar
ReplacingMergeTreepara atualizações de mesclagem padrão ouMergeTreepara atualizações delta - Garantir entrega exactly-once
Consulte a integração ClickPipe do Kafka da Estuary para conhecer um workflow do ClickPipes.
Guia de configuração
Pré-requisitos
Você precisará de:
- Uma conta do Estuary
- Uma ou mais capturas no Estuary que extraem dados das fontes desejadas
- Uma instância auto-hospedada do ClickHouse ou uma conta Cloud
- Um usuário de banco de dados do ClickHouse com credenciais
Configurar o ClickHouse para a integração
Para configurar o conector do ClickHouse do Estuary, você precisará reunir algumas informações da sua instância do ClickHouse e configurar as permissões do usuário.
-
Copie o endpoint de host do seu banco de dados.
Para a porta, use 9440 se o TLS estiver ativado ou 9000 se estiver desativado.
Juntos, o host e a porta formarão o endereço que você deverá fornecer ao Estuary.
-
Conceda permissões ao usuário de banco de dados que será acessado pelo Estuary.
Para criar e gerenciar tabelas automaticamente, o Estuary precisará das permissões
CREATE,SELECT,INSERTetc. no banco de dados de destino, além de permissões para descoberta de metadados e gerenciamento de partições.Você pode conceder todas as permissões necessárias executando estes comandos SQL e substituindo
<database>e<user>pelas suas informações:-- Acesso ao banco de dados de destino: CREATE TABLE, DROP TABLE, SELECT, INSERT, TRUNCATE etc. GRANT ALL ON <database>.* TO <user>; -- Acesso às tabelas do sistema para descoberta de metadados e gerenciamento de partições. -- Essas permissões NÃO são abrangidas pela concessão ao banco de dados acima. GRANT SELECT ON system.columns TO <user>; GRANT SELECT ON system.parts TO <user>; GRANT SELECT ON system.tables TO <user>; -
Opcionalmente, restrinja o acesso do usuário ao sistema somente ao banco de dados de destino.
Você pode fazer isso com políticas em nível de linha. Por exemplo:
CREATE ROW POLICY estuary_columns ON system.columns FOR SELECT USING database = '<database>' TO <user>; CREATE ROW POLICY estuary_parts ON system.parts FOR SELECT USING database = '<database>' TO <user>; CREATE ROW POLICY estuary_tables ON system.tables FOR SELECT USING database = '<database>' TO <user>;
Em seguida, acesse o Estuary para concluir a configuração.
Criar uma materialização no Estuary
-
No painel do Estuary, acesse a página Destinations.
-
Clique em + New Materialization.
-
Selecione o conector ClickHouse.
-
Preencha a seção Materialization Details:
- Informe um nome exclusivo para a materialização
- Escolha um plano de dados (provedor de Cloud e região)
-
Preencha os detalhes de Endpoint Config para que o Estuary possa se conectar à sua instância do ClickHouse:
- Address: host e porta da sua instância
- Database: nome do banco de dados de destino
- Authentication: nome de usuário e senha do usuário de banco de dados
Você também pode configurar opções adicionais, como o uso de exclusões físicas e o modo SSL.
Configurar coleções de origem
Na seção Source Collections, escolha quais fontes você deseja materializar no ClickHouse.
- Vincule uma captura existente ou adicione coleções de dados individuais para materializar no ClickHouse.
- Se necessário, selecione uma coleção de dados na lista para configurá-la. As opções de personalização incluem:
- Escolher outro nome de tabela para a coleção
- Selecionar o comportamento de mesclagem da coleção (se deve usar o modo de atualizações delta)
- Personalizar o comportamento de seleção de campos para controlar quais campos serão materializados
- Quando estiver satisfeito com a forma como os dados serão materializados no ClickHouse, clique em Next e depois em Save and Publish.
O Estuary começará a carregar dados históricos das coleções selecionadas no ClickHouse e, em seguida, transmitirá as atualizações à medida que ocorrerem.
Recursos adicionais
Para saber mais sobre como configurar um conector do ClickHouse com o Estuary, consulte a documentação do Estuary:
- Consulte a documentação sobre materialização do ClickHouse do Estuary.
- Além do workflow pela UI descrito nestas instruções, você também pode gerenciar a configuração do pipeline no Estuary via CLI. Consulte os guias do Estuary sobre
flowctlpara saber mais sobre como trabalhar com o Estuary de forma programática.