- Data Hackers Newsletter
- Posts
- Apache NiFi: O que é e como utilizá-lo em projetos de dados
Apache NiFi: O que é e como utilizá-lo em projetos de dados
Aprenda a instalar e configurar o Apache NiFi, uma ferramenta poderosa para automação de fluxo de dados, e veja um tutorial prático para iniciantes
O Apache NiFi é uma poderosa ferramenta de automação de fluxo de dados que permite gerenciar e movimentar informações entre sistemas de forma eficiente e intuitiva. Neste post, você aprenderá como instalar e configurar o NiFi, aproveitando sua interface gráfica para criar e monitorar fluxos de dados. Além disso, exploraremos suas principais funcionalidades, como proveniência de dados e processadores personalizados, que fazem dele uma escolha ideal para projetos em diferentes indústrias.
O que é o Apache NiFi?
O Apache NiFi é uma ferramenta de automação de fluxo de dados desenvolvida pela Apache Software Foundation. Destaca-se pela sua capacidade de processar e distribuir dados em tempo real, tornando-se uma solução ideal para cenários onde a flexibilidade e a eficiência são essenciais.
Interface gráfica
Uma das principais características do NiFi é sua interface gráfica baseada em navegador, que permite aos usuários desenhar, monitorar e controlar fluxos de dados de maneira intuitiva. Isso facilita o acesso, mesmo para quem não possui um profundo conhecimento técnico em programação.
Funcionalidades
Entre as funcionalidades que o tornam uma escolha popular, destacam-se a proveniência de dados, que fornece uma trilha completa de informações desde a origem até o destino, e a capacidade de realizar entregas garantidas e tolerância a perdas.
O NiFi também é projetado para:
Suporte a protocolos de comunicação seguras, como HTTPS e TLS, garantindo segurança na transferência de dados em ambientes multi-tenant.
Alta disponibilidade e baixo tempo de latência, ideal para ambientes que exigem transferências de dados rápidas e confiáveis.
Ferramentas de priorização dinâmica e controle de pressão reversa, o que confere robustez à automação de fluxos de dados em larga escala.
Graças a essas características, Apache NiFi se tornou uma solução amplamente adotada em diferentes indústrias, desde empresas de tecnologia até instituições financeiras, ajudando na automação de processos em cibersegurança, observabilidade e pipelines de IA generativa.

O Apache NiFi está hoje entre as principais ferramentas para automação de fluxos de dados
Principais funcionalidades do Apache NiFi
O Apache NiFi apresenta várias funcionalidades que destacam sua versatilidade e eficácia na gestão de dados. Vamos explorar algumas das características mais notáveis.
1. Automação de fluxos de dados
O NiFi permite automatizar fluxos de dados utilizando uma interface visual, simplificando o gerenciamento de tarefas complexas, o que proporciona maior controle sobre os dados em trânsito.
2. Criação visual de fluxos
A interface gráfica do NiFi possibilita a criação visual de fluxos de dados, permitindo que usuários visualizem e alterem o fluxo em tempo real, facilitando a identificação de problemas e áreas para otimização.
3. Processadores personalizados
Os processadores são unidades de trabalho que realizam operações de transformação, roteamento e mediação de dados. Eles podem ser personalizados para atender a necessidades específicas, resultando em um fluxo mais eficiente entre os sistemas.
4. Suporte a backpressure
A funcionalidade de backpressure evita a saturação do sistema, assegurando que os dados não sejam perdidos durante picos de carga. O NiFi regula o fluxo dos dados, garantindo a integridade e continuidade do processamento.
5. Proveniência de dados
A proveniência de dados registra e rastreia a trajetória dos dados através do sistema, essencial para auditoria, conformidade e solução de problemas.
6. Escalabilidade
O NiFi é projetado para ser escalável, podendo ser configurado em cluster para lidar com grandes volumes de dados, permitindo múltiplos nós trabalharem juntos para otimizar a capacidade de processamento.
7. Segurança de dados
O NiFi incorpora mecanismos de segurança, como criptografia de dados em trânsito e em repouso, autenticação robusta e controle de acesso granular, garantindo a proteção dos dados durante todo o ciclo de vida.
8. Integração com outras ferramentas
A fácil integração com outras ferramentas e serviços permite que dados sejam movidos e transformados entre diferentes plataformas de forma eficaz, uma grande vantagem em ambientes de Big Data.
9. Flexibilidade na arquitetura
O NiFi oferece uma arquitetura extensível, permitindo que desenvolvedores criem novos processadores e funcionalidades para atender a necessidades específicas, adaptando-se a diferentes casos de uso e cenários de negócios.
Como instalar o Apache NiFi no seu computador
Instalar o Apache NiFi é um processo simples. A seguir, um guia passo a passo para ambientes Windows e Linux.
Passo 1: Verificando e instalando o JDK
O Apache NiFi depende do Java, então, a primeira coisa a fazer é verificar se o Java Development Kit (JDK) está instalado.
Para Windows:
Verifique a instalação do JDK:
Abra o Prompt de Comando e execute:Instalar o JDK:
Acesse o site oficial da Oracle para baixar e instalar o JDK.Defina a variável JAVA_HOME:
Após a instalação, adicione a variávelJAVA_HOMEao local de instalação do JDK.
Para Linux (Ubuntu):
Atualize o sistema:
Execute:Instalar o JDK:
Use o comando:Verifique a instalação:
Confirme com:
Passo 2: Baixando e instalando o Apache NiFi
Para ambos os sistemas:
Baixe o Apache NiFi:
Vá à página de downloads do Apache NiFi e escolha a versão mais recente.Extraia os arquivos:
Windows: Extraia o arquivo zip em um diretório de sua escolha.
Linux:
Mova para o diretório apropriado (Linux):
Passo 3: Configurações finais
Defina o PATH (Linux):
Adicione o diretório bin do NiFi ao seu PATH:Inicie o NiFi:
Windows: Execute o
run-nifi.bat.Linux:
Verifique o status:
Passo 4: Acesse a interface web do NiFi
Após iniciar o Apache NiFi, acesse a interface web no seu navegador:
http://localhost:8080/nifi
Agora você pode criar e gerenciar seus fluxos de dados de maneira intuitiva.
Como configurar o Apache NiFi para seus projetos de dados
Configurar o Apache NiFi é fundamental para garantir que o fluxo de dados opere de maneira eficiente. Aqui estão as etapas essenciais para a configuração do NiFi.
1. Acesse a interface do usuário do NiFi
Após a instalação, inicie o Apache NiFi e acesse a interface do usuário através do navegador, normalmente em http://localhost:8080/nifi.
2. Criação de um Grupo de Processamento
Os Grupos de Processamento ajudam a organizar e configurar componentes relacionados. Para criar um novo:
Clique com o botão direito no canvas e selecione "Add Process Group".
Dê um nome e adicione uma descrição, se desejado.
3. Adicionando Processadores
Os Processadores são componentes que realizam o trabalho no NiFi. Para adicionar um:
No painel de ferramentas, clique e arraste o ícone do tipo de Processador desejado para o canvas.
Abra a interface de configuração do Processador adicionado.
Na interface de configuração, você encontrará várias abas:
Settings: para configurar detalhes gerais.
Properties: para definir propriedades específicas.
Scheduling: para definir como e quando o Processador será executado.
4. Configuração de Relações e Conexões
Após configurar os Processadores, eles precisam estar conectados:
Use o ícone de conexão ao passar o mouse sobre o Processador.
Arraste a conexão até outro Processador.
Na caixa de diálogo “Create Connection”, selecione as relações desejadas.
5. Implementação de Serviços de Controle
Os Serviços de Controle são utilizados para compartilhar configuração entre diferentes componentes:
Clique em "Controller Services" no menu do Process Group.
Clique em "Add" para adicionar um novo serviço, providenciando a configuração necessária.
Habilite-o para que fique ativo.
6. Utilizando Variáveis e Contextos de Parâmetros
As Variáveis e Contextos de Parâmetros proporcionam flexibilidade em suas configurações:
Crie variáveis reutilizáveis para facilitar a manutenção.
Contextos de Parâmetros permitem a passagem de conjuntos de parâmetros entre Processadores.
7. Monitoramento e Validação
Monitore o status dos componentes e valide as configurações:
Utilize a Status Bar para informações sobre componentes ativos e dados importantes.
Valide suas configurações observando indicadores de status e mensagens de erro.
Tutorial prático: Criando seu primeiro fluxo de dados com Apache NiFi
Criar seu primeiro fluxo de dados no Apache NiFi é simples. Neste tutorial, vamos passar pelos passos necessários para criar um fluxo básico.
1. Acessando a interface do NiFi
Após instalar o Apache NiFi, abra um navegador e digite http://localhost:8080/nifi.
2. Criando um novo DataFlow
Adicione um processor ao canvas. Clique no botão de componente e arraste para a área de trabalho.
3. Selecionando os processors
Para este tutorial, usaremos o GenerateFlowFile, que cria arquivos de fluxo automaticamente:
Adicione o GenerateFlowFile e clique em "ADD".
Na aba Properties, defina o Custom Text como "Olá, Data Flow!" e clique em "Apply".
4. Adicionando um processor de saída
Adicione o PutFile, que grava os dados em um diretório específico:
Arraste o PutFile para a tela, clique em "ADD" e configure o diretório na aba Properties.
5. Conectando os processors
Conecte os dois processors clicando no GenerateFlowFile e arrastando até o PutFile, criando uma fila que, por padrão, se chamará "success".
6. Configurando terminações de relacionamento
Marque as opções Failure e Success em Automatically Terminate Relationships no PutFile para evitar complicações durante a execução.
7. Testando o fluxo de dados
Para testar, clique no GenerateFlowFile, vá até a aba Operate e clique em Play. Você verá o número de arquivos criados aumentando rapidamente no seu diretório.
8. Ajustando o intervalo
Altere o Run Schedule de 0 segundos para 1 segundo no GenerateFlowFile para permitir uma criação mais controlada de arquivos.
Com isso, você criou seu primeiro fluxo de dados no Apache NiFi! Essa abordagem ajuda a entender como os dados se movem entre diferentes partes do seu sistema. Existem muitos outros processors e configurações para explorar, ampliando a complexidade dos fluxos que você pode criar.
Considerações finais
Concluindo, explorar o Apache NiFi permite que você automatize e gerencie fluxos de dados de maneira eficiente e intuitiva. Através de sua interface gráfica e poderosas funcionalidades, desde a proveniência de dados até a escalabilidade, você pode enfrentar desafios variados em projetos de dados com facilidade.
Além disso, o passo a passo para instalação e criação de seu primeiro fluxo serve como um ótimo ponto de partida. Experimente e integre o NiFi em seus projetos para melhor otimização e controle dos dados em suas operações diárias.