Apache NiFi - Introdução

Apache NiFi é um sistema poderoso, fácil de usar e confiável para processar e distribuir dados entre sistemas diferentes. Ele é baseado na tecnologia Niagara Files desenvolvida pela NSA e, após 8 anos, doado à Fundação Apache Software. Ele é distribuído sob a Licença Apache Versão 2.0, janeiro de 2004. A versão mais recente do Apache NiFi é 1.7.1.

Apache NiFi é uma plataforma de ingestão de dados em tempo real, que pode transferir e gerenciar a transferência de dados entre diferentes fontes e sistemas de destino. Ele oferece suporte a uma ampla variedade de formatos de dados, como registros, dados de localização geográfica, feeds sociais, etc. Ele também oferece suporte a muitos protocolos como SFTP, HDFS e KAFKA, etc. Este suporte a uma grande variedade de fontes de dados e protocolos tornando esta plataforma popular muitas organizações de TI.

Apache NiFi- Recursos Gerais

As características gerais do Apache NiFi são as seguintes -

  • O Apache NiFi oferece uma interface de usuário baseada na web, que oferece uma experiência perfeita entre design, controle, feedback e monitoramento.

  • É altamente configurável. Isso ajuda os usuários com entrega garantida, baixa latência, alto rendimento, priorização dinâmica, contrapressão e modificação de fluxos em tempo de execução.

  • Também fornece módulo de proveniência de dados para rastrear e monitorar dados do início ao fim do fluxo.

  • Os desenvolvedores podem criar seus próprios processadores personalizados e tarefas de relatório de acordo com suas necessidades.

  • NiFi também oferece suporte a protocolos seguros como SSL, HTTPS, SSH e outras criptografias.

  • Ele também oferece suporte ao gerenciamento de usuários e funções e também pode ser configurado com LDAP para autorização.

Apache NiFi -Key Concepts

Os principais conceitos do Apache NiFi são os seguintes -

  • Process Group - É um grupo de fluxos NiFi, que auxilia o usuário a gerenciar e manter os fluxos de forma hierárquica.

  • Flow - É criado conectando diferentes processadores para transferir e modificar dados, se necessário, de uma fonte ou fontes de dados para outras fontes de dados de destino.

  • Processor- Um processador é um módulo java responsável por buscar dados do sistema de sourcing ou armazená-los no sistema de destino. Outros processadores também são usados ​​para adicionar atributos ou alterar o conteúdo no arquivo de fluxo.

  • Flowfile- É o uso básico de NiFi, que representa o único objeto dos dados coletados do sistema de origem em NiFi. NiFiprocessormakes mudanças para flowfile enquanto se move do processador de origem para o destino. Diferentes eventos como CREATE, CLONE, RECEIVE, etc. são executados no arquivo de fluxo por diferentes processadores em um fluxo.

  • Event- Os eventos representam a mudança no arquivo de fluxo durante a passagem por um fluxo NiFi. Esses eventos são rastreados na proveniência dos dados.

  • Data provenance - É um repositório. Também possui uma IU, que permite aos usuários verificar as informações sobre um arquivo de fluxo e ajuda na solução de problemas se houver algum problema que surja durante o processamento de um arquivo de fluxo.

Vantagens Apache NiFi

  • O Apache NiFi permite a busca de dados de máquinas remotas usando SFTP e garante a linhagem dos dados.

  • Apache NiFi suporta clustering, portanto, pode funcionar em vários nós com o mesmo fluxo de processamento de dados diferentes, o que aumenta o desempenho do processamento de dados.

  • Ele também fornece políticas de segurança em nível de usuário, nível de grupo de processo e outros módulos também.

  • Sua IU também pode ser executada em HTTPS, o que torna a interação dos usuários com o NiFi segura.

  • NiFi suporta cerca de 188 processadores e um usuário também pode criar plug-ins personalizados para oferecer suporte a uma ampla variedade de sistemas de dados.

Desvantagens Apache NiFi

  • Quando o nó é desconectado do cluster NiFi enquanto um usuário está fazendo alguma alteração nele, o flow.xml se torna inválido. O anodo não pode se conectar de volta ao cluster, a menos que o administrador copie manualmente o flow.xml do nó conectado.

  • Apache NiFi tem problema de persistência de estado no caso de troca de nó primário, o que às vezes torna os processadores incapazes de buscar dados de sistemas de sourcing.