Pular para o conteúdo principal
Apache NiFi é um software de código aberto para gerenciamento de fluxos de trabalho, projetado para automatizar o fluxo de dados entre sistemas de software. Ele permite criar pipelines de dados de ETL e vem com mais de 300 processadores de dados. Este tutorial passo a passo mostra como conectar o Apache NiFi ao ClickHouse tanto como origem quanto como destino e como carregar um conjunto de dados de exemplo.
1

Reúna as informações de conexão

Para se conectar ao ClickHouse via HTTP(S), você precisa das seguintes informações:Os detalhes do seu serviço do ClickHouse Cloud estão disponíveis no console do ClickHouse Cloud. Selecione um serviço e clique em Connect:Escolha HTTPS. Os detalhes de conexão são exibidos em um comando curl de exemplo.Se você estiver usando ClickHouse autogerenciado, os detalhes de conexão são definidos pelo administrador do seu ClickHouse.
2

Baixe e execute o Apache NiFi

Para uma nova instalação, baixe o binário em https://nifi.apache.org/download.html e inicie executando ./bin/nifi.sh start
3

Baixe o driver JDBC do ClickHouse

  1. Acesse a página de releases do driver JDBC do ClickHouse no GitHub e procure a versão mais recente do JDBC
  2. Na release, clique em “Show all xx assets” e procure o arquivo JAR que contenha a palavra-chave “shaded” ou “all”, por exemplo, clickhouse-jdbc-0.5.0-all.jar
  3. Coloque o arquivo JAR em uma pasta acessível ao Apache NiFi e anote o caminho absoluto
4

Adicione o Controller Service DBCPConnectionPool e configure suas propriedades

  1. Para configurar um Controller Service no Apache NiFi, acesse a página NiFi Flow Configuration clicando no botão de “engrenagem”
  2. Selecione a aba Controller Services e adicione um novo Controller Service clicando no botão + no canto superior direito
  3. Procure por DBCPConnectionPool e clique no botão “Add”
  4. O DBCPConnectionPool recém-adicionado ficará no estado Invalid por padrão. Clique no botão de “engrenagem” para iniciar a configuração
  5. Na seção “Properties”, insira os seguintes valores
  1. Na seção Settings, altere o nome do Controller Service para “ClickHouse JDBC” para facilitar a identificação
  2. Ative o Controller Service DBCPConnectionPool clicando no botão de “raio” e depois no botão “Enable”
  3. Verifique a aba Controller Services e confirme que o Controller Service está ativado
5

Ler dados de uma tabela usando o processador ExecuteSQL

  1. Adicione um processador ExecuteSQL, junto com os processadores upstream e downstream apropriados
  2. Na seção “Properties” do processador ExecuteSQL, insira os seguintes valores
  3. Inicie o processador ExecuteSQL
  4. Para confirmar que a consulta foi processada com sucesso, inspecione um dos FlowFile na fila de saída
  5. Mude a visualização para “formatted” para ver o resultado do FlowFile de saída
6

Grave em uma tabela usando o processador MergeRecord e PutDatabaseRecord

  1. Para gravar várias linhas em um único insert, primeiro é necessário mesclar vários registros em um único registro. Isso pode ser feito usando o processador MergeRecord
  2. Na seção “Properties” do processador MergeRecord, insira os seguintes valores
  3. Para confirmar que vários registros foram mesclados em um só, examine a entrada e a saída do processador MergeRecord. Observe que a saída é um array com vários registros de entrada Entrada Saída
  4. Na seção “Properties” do processador PutDatabaseRecord, insira os seguintes valores
  5. Para confirmar que cada insert contém várias linhas, verifique se a contagem de linhas na tabela está aumentando em pelo menos o valor de “Número mínimo de registros” definido em MergeRecord.
  6. Parabéns - você carregou seus dados no ClickHouse com sucesso usando o Apache NiFi !
Última modificação em 2 de julho de 2026