- Data Hackers Newsletter
- Posts
- Apache NiFi: um guia completo para iniciantes
Apache NiFi: um guia completo para iniciantes
Aprenda a instalar e usar o Apache NiFi para automação de fluxo de dados, e confira exemplos práticos e dicas úteis.
O Apache NiFi é uma plataforma robusta de automação de fluxo de dados que permite a movimentação e o processamento eficiente de dados entre diferentes sistemas. Com uma interface gráfica amigável, ele simplifica a criação de fluxos complexos, o que o torna uma ferramenta ideal para profissionais de dados que buscam integrar e manipular informações de forma intuitiva e escalável.
Neste post, você aprenderá como instalar e usar o Apache NiFi tanto no Windows quanto no Linux Ubuntu, e vamos ainda mostrar funcionalidades práticas e dar dicas úteis que podem ajudar a otimizar seus fluxos de dados.
O que é Apache NiFi e para que serve?
O Apache NiFi é uma poderosa plataforma de software de código aberto, projetada para automatizar o fluxo de dados entre sistemas de software. Desenvolvido inicialmente pela National Security Agency (NSA) dos Estados Unidos, o NiFi agora é mantido pela Apache Software Foundation como um projeto de nível superior.
A principal finalidade do Apache NiFi é simplificar processos de movimentação de dados, permitindo a criação de fluxos complexos de forma intuitiva. Com uma interface gráfica acessível através do navegador, os usuários podem facilmente arrastar e soltar componentes para configurar como os dados serão processados. Isso o torna uma escolha popular em redes corporativas.
Entre as funcionalidades mais destacadas do Apache NiFi, podemos mencionar:
Processadores de Dados: O NiFi possui uma vasta gama de processadores configuráveis que podem realizar diversas tarefas, como leitura de arquivos, transformação de dados e envio para diferentes destinos.
Rastreamento de Proveniência de Dados: Permite monitorar a origem dos dados e acompanhar como eles são transformados ao longo do fluxo, sendo valioso para auditoria e manutenção.
Segurança Robusta: Implementa práticas de segurança avançadas, como criptografia SSL/TLS, autenticação via Kerberos e controle de acesso baseado em políticas.
Principais características do Apache NiFi:
Fluxos de Dados Flexíveis: Suporta a criação de fluxos altamente configuráveis, permitindo a operação em tempo real e a rastreabilidade dos dados.
Multifuncionalidade: Pode integrar dados de uma variedade de fontes, como bancos de dados, sistemas de arquivos e APIs web.
Facilidade de Uso: A interface intuitiva facilita o uso mesmo para aqueles com conhecimento limitado em programação.
Vantagens do Apache NiFi:
Escalabilidade: Capaz de lidar com grandes volumes de dados, possibilitando o processamento em alta velocidade.
Flexibilidade da Configuração: Customizável para atender a uma ampla gama de requisitos, adaptando-se às mudanças nas necessidades do fluxo de dados.
Fácil Integração: Ideal para ambientes complexos onde a integração de diferentes sistemas e formatos de dados se faz necessária.
Desvantagens do Apache NiFi:
Apesar das vantagens, o Apache NiFi apresenta alguns desafios. A curva de aprendizado pode ser considerável para novos usuários, especialmente aqueles sem experiência anterior em manipulação de dados. Além disso, seu desempenho depente do hardware utilizado, podendo exigir máquinas mais potentes em cenários com grandes volumes de dados.

O Apache NiFi permite automatizar fluxos de dados de forma simples e intuitiva
Como instalar o Apache NiFi no Windows?
A instalação do Apache NiFi no Windows é um processo simples. Aqui está um guia passo a passo para ajudá-lo a configurar o NiFi em sua máquina.
1. Instale um JDK válido
Primeiramente, você precisará de um Java Development Kit (JDK) instalado. Para verificar, siga estas etapas:
Vá até o menu Iniciar > Painel de controle > Programas e veja se o Java está listado.
Alternativamente, abra a linha de comando e digite
javac
. Se o comando não for reconhecido, você não tem o JDK instalado.
Se precisar instalar o JDK, acesse o site da Oracle, baixe o instalador para Windows x64 e siga o assistente de instalação. Recomenda-se manter as configurações padrão.
Após isso, configure as variáveis de sistema:
Vá em Iniciar > Editar as variáveis de ambiente do sistema.
No menu Sistema, clique em Variáveis de Ambiente.
Crie uma variável chamada
JAVA_HOME
com o valor sendo o caminho da instalação do JDK.Edite a variável
Path
, adicionando ao final o caminho deJAVA_HOME
seguido de\bin
.
Verifique se o JDK foi instalado corretamente ao digitar javac
na linha de comando.
2. Baixe e inicie o NiFi
Com o JDK instalado, siga para o download do Apache NiFi:
Acesse o site do Apache NiFi e baixe a versão mais recente com
bin.zip
.Extraia o conteúdo do arquivo
.zip
em um diretório, comoC:\nifi-1.16.3
, que conterá uma subpastabin
.Navegue até a pasta
bin
e clique duas vezes no arquivorun-nifi.bat
para iniciar o NiFi.
Acesse a interface do usuário no navegador via https://localhost:8443/nifi
, onde você poderá inserir suas credenciais.
Como instalar o Apache NiFi no Linux Ubuntu?
A instalação do Apache NiFi no Linux Ubuntu é um processo simples. A seguir, um guia passo a passo:
1. Atualizar o sistema
Atualize os repositórios do sistema com o comando:
sudo apt-get update
2. Instalar o Java JDK
Instale o JDK usando o seguinte comando:
sudo apt-get install openjdk-8-jdk
Após a instalação, confirme se o Java está instalado corretamente:
java -version
3. Definir a variável de ambiente JAVA_HOME
Defina a variável de ambiente JAVA_HOME
criando um arquivo:
sudo vi /etc/profile.d/java.sh
Adicione o seguinte conteúdo ao arquivo:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Salve o arquivo e reinicie o sistema com:
sudo reboot
Verifique se a variável foi criada corretamente:
env | grep JAVA_HOME
4. Baixar o Apache NiFi
Crie um diretório para armazenar o Apache NiFi e faça o download da versão mais recente:
mkdir /downloads/apache-nifi
cd /downloads/apache-nifi
wget https://downloads.apache.org/nifi/1.13.2/nifi-1.13.2-bin.tar.gz
5. Extrair e instalar o Apache NiFi
Extraia o arquivo baixado e mova o diretório:
tar -zxvf nifi-1.13.2-bin.tar.gz
sudo mv nifi-1.13.2 /opt/
Crie um link simbólico para facilitar o acesso:
sudo ln -s /opt/nifi-1.13.2 /opt/nifi
6. Configurar o daemon
Instale o NiFi como um serviço:
cd /opt/nifi
bin/nifi.sh install
7. Iniciar o Apache NiFi
Inicie o serviço do Apache NiFi com:
sudo /etc/init.d/nifi start
8. Acessar a interface web
Abra um navegador e insira o endereço:
http://<seu-endereco-ip>:8080/nifi
Substitua <seu-endereco-ip>
pelo IP do seu servidor. Você deverá ver a interface do Apache NiFi.
Como usar o Apache NiFi para automação de fluxo de dados?
O Apache NiFi permite que você construa pipelines de dados complexos com facilidade. Vamos conferir os principais passos para utilizá-lo.
Construindo um fluxo de dados
Adicione um Processador: Abra a interface do usuário do NiFi, acessível em
http://localhost:8080/nifi
. Arraste um processador, como o GetFile, para o canvas.Configurar o Processador: Clique duas vezes no processador para abrir suas configurações e defina propriedades como o diretório a ser monitorado.
Estabelecendo Conexões
Crie conexões entre processadores:
Conexões: Clique na parte central do processador e arraste até o próximo processador. Isso permite o movimento dos dados e define a lógica de processamento.
Executando o Fluxo de Dados
Inicie seus processadores e monitore o processamento em tempo real:
Inicie o Processador: Selecione um ou mais processadores e clique no botão “Iniciar”.
Monitoramento e Ajustes
Após iniciar seu fluxo, monitore para garantir que tudo funcione corretamente:
Visualize Estatísticas: O NiFi oferece uma visão abrangente do estado de seus processadores e da quantidade de dados sendo processados.
Ajustes de Configuração: Ajuste parâmetros, como o número de tarefas simultâneas e o tamanho do buffer, nas configurações de cada processador.
Exemplos Práticos de Uso do Apache NiFi
O Apache NiFi pode ser utilizado em diversas situações práticas. Vamos explorar alguns exemplos:
1. Consumo de Dados de APIs REST
Configure um fluxo que utiliza um processador InvokeHTTP
para coletar dados de uma API e armazena-os em um banco de dados ou arquivo.
2. Processamento de Arquivos CSV
Utilize o processador GetFile
para ler arquivos CSV, aplique um SplitText
para dividir o conteúdo por linha e grave os dados transformados em um novo arquivo ou banco de dados com PutFile
.
3. Monitoramento em Tempo Real
Crie um fluxo que utiliza um ListenTCP
para captar dados de transações financeiras e envie alertas quando transações anômalas forem detectadas.
4. Integração de IoT
Utilize o NiFi para coletar dados de sensores por meio de um ListenUDP
, processá-los e armazená-los em um banco de dados.

Interface do Apache NiFi
Dicas úteis para trabalhar com o Apache NiFi
Familiarize-se com a interface: Dedique tempo para conhecer todas as opções disponíveis.
Use Processadores Adequados: Escolha o processador certo para otimizar seu fluxo.
Gerencie Conexões de Forma Eficiente: Configure prioridades e ajustes de filas.
Implementação de Monitoramento: Utilize processadores para coletar métricas de desempenho.
Rastreabilidade de Dados: Aproveite o recurso de rastreabilidade para auditorias.
Segurança em Primeiro Lugar: Configure protocolos de segurança adequados.
Aproveite o Suporte da Comunidade: Participe de fóruns e grupos de discussão.
Teste Constantemente: Realize testes rigorosos sempre que modificar fluxos.
Documente suas Configurações: Mantenha registros detalhados das configurações.
Crie Fluxos de Dados Simples: Comece com fluxos simples antes de adicionar complexidade.
Essas dicas são fundamentais para maximizar a eficiência e a produtividade ao usar o Apache NiFi, permitindo uma automação de fluxos de dados mais rápida e eficaz.
Considerações finais
Concluindo, o Apache NiFi se destaca como uma solução poderosa para a automação de fluxo de dados, oferecendo uma interface intuitiva que facilita a integração entre sistemas variados. Neste guia, você aprendeu a instalar e a configurar o NiFi em diferentes plataformas, explorando suas funcionalidades e dicas que podem otimizar seu fluxo de trabalho.
Seja você um iniciante ou um profissional experiente, o NiFi oferece as ferramentas necessárias para lidar com a movimentação e processamento de dados de maneira eficiente. Com a praticidade que ele proporciona, você pode aprimorar suas operações e explorar novas possibilidades no gerenciamento de dados.