Tutorial Apache NiFi: O que é NiFi? Archiarquitetura e instalação

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 monitora o estado de quais detalhes 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:

Indústria 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
Indústria​
  • 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

Resumo

  • Apache NiFi é um software de código aberto para automatizar e gerenciar o fluxo de dados entre sistemas
  • NiFi foi projetado para expansão em clusters que oferecem entrega garantida de dados
  • Nifi foi desenvolvido na NSA por mais de oito anos
  • Depois que os dados são obtidos de fontes externas, eles são representados como FlowFile dentro da arquitetura Apache NiFi.
  • FlowFile, processador, controlador, servidor web, conexão, contrapressão, repositório são componentes importantes da arquitetura NiFi
  • A linguagem de expressão NiFi suporta qualquer dispositivo que execute Java
  • Você pode instalar facilmente o NiFi na AWS
  • NiFi é usado em diversos setores, como saúde, seguros, telecomunicações, manufatura, finanças, petróleo e gás, entre outros.
  • Como prática recomendada, organize seus projetos em três partes: ingestão, teste e monitoramento