Tutorial do Apache NiFi

โšก Resumo Inteligente

O tutorial do Apache NiFi explica a plataforma de integraรงรฃo de dados de cรณdigo aberto projetada para fluxo automatizado e confiรกvel entre sistemas. LessOs documentos abordam arquitetura, processadores, terminologias, funcionalidades, instalaรงรฃo, casos de uso, vantagens, desvantagens e melhores prรกticas para implantaรงรตes em produรงรฃo.

  • ๐Ÿ” Design baseado em fluxo: O NiFi utiliza uma tela visual para construir fluxos de dados a partir de processadores configurรกveis โ€‹โ€‹conectados por filas roteadas.
  • ???? Distribuรญdo Architextura: Servidor web, controlador de fluxo e repositรณrios se combinam para movimentaรงรฃo de dados escalรกvel e tolerante a falhas.
  • โš™๏ธ Biblioteca de Processador Rico: Centenas de processadores gerenciam Kafka, MQTT, APIs REST, bancos de dados, sistemas de arquivos e fontes na nuvem.
  • ๐Ÿ”’ Seguranรงa forte: TLS, autorizaรงรฃo multi-inquilino e repositรณrios criptografados reforรงam a governanรงa de dados corporativos.
  • ๐Ÿ“Š Rastreabilidade de ponta a ponta: Cada FlowFile รฉ tracrastreado da origem ao destino para fins de auditoria, depuraรงรฃo e conformidade.
  • ๐Ÿค– Pipeline de IA pronto: Combine o NiFi com endpoints LLM e bancos de dados vetoriais para fluxos de trabalho de geraรงรฃo com recuperaรงรฃo aprimorada.

Tutorial do Apache NiFi

Resumo do tutorial do Apache NiFi

Este tutorial do Apache NiFi cobre todos os tรณpicos bรกsicos a avanรงados do zero. Vocรช aprenderรก conceitos como definiรงรฃo de NiFi, histรณrico, arquitetura, recursos, processo de instalaรงรฃo, casos de uso. Vocรช tambรฉm aprenderรก por que precisa usar o Apache NiFi e as melhores prรกticas para executar o Apache NiFi.

O que รฉ Apache NiFi?

Apache NiFiName รฉ um software de cรณdigo aberto para automatizar e gerenciar o fluxo de dados entre sistemas. ร‰ um sistema poderoso e confiรกvel para processar e distribuir dados. Ele fornece interface de usuรกrio baseada na web para criar, monitorar e controlar fluxos de dados. Possui um processo de fluxo de dados altamente configurรกvel e modificรกvel para modificar dados em tempo de execuรงรฃo.

Apache NiFi รฉ facilmente extensรญvel atravรฉs do desenvolvimento de componentes customizados.

Por que usar o Apache NIfi?

Aqui estรฃo os motivos para usar o Apache Nifi:

  • Permite que vocรช faรงa ingestรฃo de dados para extrair dados para NiFi, de inรบmeras fontes de dados e criar arquivos de fluxo
  • Oferece controle em tempo real que ajuda vocรช a gerenciar a movimentaรงรฃo de dados entre qualquer origem e destino
  • Visualize o DataFlow no nรญvel empresarial
  • Fornece ferramentas e extensรตes comuns
  • Permite que vocรช aproveite as bibliotecas existentes e Java funcionalidade do ecossistema
  • Ajuda as organizaรงรตes a integrar o Nifi com sua infraestrutura existente
  • NiFi foi projetado para expansรฃo em clusters que oferecem entrega garantida de dados
  • Visualize e monitore o desempenho e o comportamento em um boletim de fluxo que oferece insights e documentaรงรฃo inline
  • Ajuda vocรช a iniciar e parar componentes separadamente ou em nรญvel de grupo
  • Ele ajuda vocรช a ouvir, buscar, dividir, agregar, rotear, transformar e arrastar e soltar o Dataflow

Histรณria do Apache NiFi

  • Desenvolvido na NSA hรก mais de oito anos
  • 2014- Foi doado para a Apache Software Foundation
  • 2015- NiFi tornou-se parte oficial do Apache Project Suite
  • Desde entรฃo, a cada 6 a 8 semanas, o Apache NiFi lanรงa uma nova atualizaรงรฃo

a menos que Archiarquitetura

Apache NiFi possui uma arquitetura bem pensada. Depois que os dados sรฃo obtidos de fontes externas, eles sรฃo representados como FlowFile dentro da arquitetura Apache NiFi.

a menos que Archiarquitetura
a menos que Archiarquitetura

Aqui estรฃo os principais componentes da arquitetura NiFi

Componente Nifi Descriรงรฃo
Arquivo de fluxo FlowFile sรฃo dados originais com metainformaรงรตes anexadas a eles. Ele permite processar nรฃo apenas CSV ou outros dados baseados em registros, mas tambรฉm imagens, vรญdeos, รกudio ou quaisquer outros dados binรกrios.
Processador de arquivo de fluxo Executa o trabalho que atua como um bloco de construรงรฃo do fluxo de dados no NiFi.
controlador de fluxo Mantรฉm um registro de como os processos estรฃo conectados. Ele gerencia os threads e suas alocaรงรตes que todos os processos usam.
web Server O servidor Web hospeda comandos e API baseados em HTTP do NiFi.
Extensรฃo Existem muitos tipos de extensรตes NiFi que operam e sรฃo executadas na JVM.
Conexรฃo Atua como uma ligaรงรฃo entre processadores que contรชm uma fila e relacionamentos que afetam para onde os dados sรฃo roteados.
Contrapressรฃo Evite que o sistema seja sobrecarregado controlando a quantidade ou o tamanho dos dados dos arquivos de fluxo que podem ser armazenados na fila.
Grupo de Processos Um grupo de processos รฉ um conjunto de processos e suas conexรตes, que recebe e envia dados com a ajuda de portas.
Repositรณrio de arquivos de fluxo No repositรณrio FlowFile, o NiFi mantรฉm track do estado de quais detalhes ele possui sobre um determinado FlowFile que estรก ativo no fluxo.
Repositรณrio de Conteรบdo O Repositรณrio de Conteรบdo รฉ uma รกrea onde existem os bytes de conteรบdo reais de um determinado FlowFile.
Repositรณrio de Proveniรชncia O Repositรณrio de Proveniรชncia รฉ uma รกrea onde todos os dados de eventos de proveniรชncia sรฃo coletados.

Recursos do Apache NiFi

  • NiFi suporta buffer de todos os dados enfileirados e oferece uma capacidade de contrapressรฃo, pois essas filas podem atingir limites especificados
  • NiFi permite a configuraรงรฃo de um ou mais esquemas de priorizaรงรฃo
  • Fornece processadores de conexรฃo para muitas fontes de dados
  • Suporta qualquer dispositivo que execute Java
  • Ideal para locais com conectividade limitada
  • Suporte para soluรงรฃo de problemas e otimizaรงรฃo de fluxo
  • Oferece autenticaรงรฃo/autorizaรงรฃo baseada em funรงรฃo
  • Permite download, recuperaรงรฃo e reproduรงรฃo de arquivos individuais
  • Crie seus processadores, serviรงos de controlador e muito mais
  • Fornece criptografia de conteรบdo e comunicaรงรฃo por meio de protocolos seguros
  • Permite desenvolvimento rรกpido e testes eficazes
  • Permite o desenvolvimento de componentes simples de funรงรฃo รบnica que podem ser reutilizados e combinados para criar fluxos mais complexos
  • Permite o isolamento do carregador de classe para facilitar o gerenciamento de dependรชncias

Como instalar o Apache NiFi

Abaixo estรก um processo passo a passo para instalaรงรฃo do Apache NiFi

Passo 1) Acesse a ligaรงรฃo,

e clique em โ€œContinuar a se inscreverโ€

Instale o Apache NiFi

Passo 2) Na prรณxima pรกgina,

Clique em โ€œAceitar Termosโ€

Instale o Apache NiFi

Passo 3) Vocรช verรก esta pรกgina,

Obrigado por assinar este produto! Estamos processando sua requisiรงรฃo.

Instale o Apache NiFi

Passo 4) Atualize a pรกgina apรณs 5 minutos.

Clique em โ€œContinuar para configuraรงรฃoโ€

Instale o Apache NiFi

Passo 5) Na prรณxima pรกgina,

Mantenha as configuraรงรตes padrรฃo e clique em โ€œContinuar para iniciarโ€

Instale o Apache NiFi

Passo 6) Na prรณxima pรกgina,

Clique em Iniciar. Talvez seja necessรกrio criar uma chave

Instale o Apache NiFi

Passo 7) Vocรช verรก esta mensagem de sucesso.

Parabรฉns! Uma instรขncia deste software foi implantada com sucesso no EC2!

Instale o Apache NiFi

Passo 8) Nota,

O ID da instรขncia e o DNS pรบblico da instรขncia EC2

Instale o Apache NiFi

Passo 9) No grupo de seguranรงa,

Adicione todas as regras de trรกfego de entrada e saรญda

Instale o Apache NiFi

Passo 10) Para acessar o Nifi,

basta usar o URL

http://publicdns:8080/nifi

No nosso caso torna-se

http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/

Utilizador: administrador

Senha: ID da instรขncia

Instale o Apache NiFi

Passo 11) Vocรช verรก,

Tela inicial do NiFi

Instale o Apache NiFi

Casos de uso Nifi

Abaixo estรก uma lista de casos de uso do Apache NiFi:

Expertise Uso
Seguros
  • Anรกlise de risco e subscriรงรฃo
  • Anรกlise de sinistros
  • Seguro baseado em uso
  • Desenvolvimento de novos produtos
HealthCare
  • Visรฃo รบnica do paciente
  • Monitoramento de sinais vitais em tempo real
  • Otimizaรงรฃo de EMR
  • Otimizaรงรฃo da cadeia de suprimentos
Telecomunicaรงรฃo
  • Visรฃo รบnica do cliente
  • Anรกlise de CDR
  • Alocaรงรฃo dinรขmica de largura de banda
Manufatura
  • Manutenรงรฃo preventiva
  • Otimizaรงรฃo da cadeia de suprimentos
  • Controle de qualidade
Petrรณleo e Gรกs - Indรบstria
  • Monitoramento em tempo real
  • Visรฃo รบnica do Operaรงรฃo
  • Manutenรงรฃo Preditiva
  • Archive & Analytics
  • Classificaรงรฃo de dados nรฃo estruturados
Serviรงos Financeiros
  • Contra lavagem de dinheiro
  • Detecรงรฃo de fraude
  • Gerenciamento de dados de risco

Melhores prรกticas Executando Apache NiFi

  • Ideal para separar ambientes de teste/desenvolvimento/produรงรฃo em NiFi
  • Vocรช deve dividir seu fluxo em grupos de processos
  • Use uma convenรงรฃo de nomenclatura, use comentรกrios e rรณtulos
  • Organize seus projetos em trรชs partes: ingestรฃo, teste e monitoramento
  • Use nomes exclusivos para variรกveis

Desvantagem do Nifi

  • Precisa de controles precisos de seguranรงa e conformidade
  • Vocรช precisa conhecer muito bem o sistema subjacente ao trabalhar com Apache NiFi
  • Deve manter a cadeia de custรณdia dos dados
  • Transporte / Mensagens podem nรฃo ser suficientes
  • As necessidades de acesso a dados excedem os recursos disponรญveis para transporte
  • Nem todos os dados sรฃo criados igualmente
  • SSL e autorizaรงรฃo em nรญvel de tรณpico podem nรฃo ser suficientes

Perguntas Frequentes

O NiFi oferece fluxo de dados visual e com pouco cรณdigo, com roteamento e transformaรงรฃo integrados. O Kafka serve como infraestrutura de mensagens; o Airflow orquestra os trabalhos em lote. O NiFi frequentemente move dados entre o Kafka e destinos posteriores.

Sim. O NiFi ingere dados de streaming, chama endpoints de modelos e encaminha previsรตes para o armazenamento. Com Kafka, MiNiFi e bancos de dados vetoriais, ele cria fluxos de trabalho de geraรงรฃo de IA e recuperaรงรฃo de dados de ponta a ponta.

As ferramentas de IA sugerem cadeias de processadores, geram trechos de linguagem de expressรฃo e explicam padrรตes de fluxo. Elas aceleram o desenvolvimento e ajudam os iniciantes a entender a configuraรงรฃo do NiFi e a lรณgica de roteamento.

Um FlowFile รฉ um conjunto de dados que se move pelo NiFi. Ele contรฉm conteรบdo, alรฉm de atributos como metadados, linhagem e informaรงรตes de roteamento que os processadores usam para tomar decisรตes dentro de um fluxo de dados.

O NiFi oferece suporte a TLS, autorizaรงรฃo multi-inquilino, LDAP, Kerberos, OIDC e repositรณrios criptografados. Polรญticas baseadas em funรงรตes restringem quem pode visualizar, modificar ou operar fluxos de dados especรญficos.

O NiFi escala horizontalmente com clusters, verticalmente adicionando nรบcleos e por meio de filas de contrapressรฃo. Agentes MiNiFi na borda transmitem dados para um cluster NiFi central.

O NiFi รฉ um servidor completo com uma interface web rica para projetar fluxos de dados. O MiNiFi รฉ um agente leve que roda na borda da rede e encaminha dados para o NiFi.

Iniciantes criam seu primeiro fluxo em poucos dias. Dominar clustering, seguranรงa, processadores personalizados e otimizaรงรฃo de alto desempenho requer de dois a quatro meses de experiรชncia em projetos de produรงรฃo.

Resuma esta postagem com: