Compartilhar via


O que é o Apache Flink® no Azure HDInsight no AKS? (Visualização)

Importante

Esse recurso está atualmente na visualização. Os Termos de Uso Complementares para Versões Prévias da Microsoft Azure incluem mais termos legais que se aplicam aos recursos do Azure que estão em versão beta, em versão prévia ou ainda não lançados em disponibilidade geral. Para obter informações sobre essa versão prévia específica, confira Informações sobre a versão prévia do HDInsight no AKS. No caso de perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para ver mais atualizações sobre a Comunidade do Azure HDInsight.

O Apache Flink é uma estrutura e um mecanismo de processamento distribuído para cálculos com estado em fluxos de dados não associados e limitados. O Flink foi projetado para ser executado em todos os ambientes de cluster comuns, executar cálculos e aplicativos de streaming com estado em velocidade na memória e em qualquer escala. Os aplicativos são paralelizados em possivelmente milhares de tarefas distribuídas e executadas simultaneamente em um cluster. Portanto, um aplicativo pode usar quantidades ilimitadas de vCPUs, memória principal, disco e E/S de rede. Além disso, o Flink mantém facilmente um estado de aplicativo grande. Seu algoritmo de ponto de verificação assíncrono e incremental garante uma influência mínima nas latências de processamento, garantindo exatamente uma vez a consistência do estado.

O Apache Flink é um mecanismo de análise massivamente escalonável para processamento de fluxo.

Alguns dos principais recursos que o Flink oferece são:

  • Operações em fluxos limitados e não associados
  • No desempenho de memória
  • Capacidade de cálculos em lote e streaming
  • Baixa latência, operações de alta taxa de transferência
  • Processamento exatamente uma vez
  • Alta disponibilidade
  • Tolerância a estado e falha
  • Totalmente compatível com o ecossistema do Hadoop
  • APIs do SQL unificadas para fluxo e lote

Diagrama de arquitetura Flink.

O Apache Flink é uma excelente opção para desenvolver e executar muitos tipos diferentes de aplicativos devido ao seu amplo conjunto de recursos. Os recursos do Flink incluem suporte para processamento de fluxo e lote, gerenciamento de estado sofisticado, semântica de processamento em tempo de evento e garantias de consistência exatamente uma vez para o estado. O Flink não tem um único ponto de falha. O Flink provou ser dimensionado para milhares de núcleos e terabytes de estado do aplicativo, fornece alta taxa de transferência e baixa latência e alimenta alguns dos aplicativos de processamento de fluxo mais exigentes do mundo.

  • Detecção de fraudes: o Flink pode ser usado para detectar transações ou atividades fraudulentas em tempo real aplicando regras complexas e modelos de machine learning em dados de streaming.
  • Detecção de anomalias: o Flink pode ser usado para identificar exceções ou padrões anormais em dados de streaming, como leituras de sensor, tráfego de rede ou comportamento do usuário.
  • Alertas baseados em regras: o Flink pode ser usado para disparar alertas ou notificações com base em condições ou limites predefinidos em dados de streaming, como temperatura, pressão ou preços das ações.
  • Monitoramento de processos empresariais: o Flink pode ser usado para acompanhar e analisar o status e o desempenho de processos de negócios ou fluxos de trabalho em tempo real, como atendimento de pedidos, entrega ou atendimento ao cliente.
  • Aplicativo Web (rede social): o Flink pode ser usado para alimentar aplicativos Web que exigem processamento em tempo real de dados gerados pelo usuário, como mensagens, curtidas, comentários ou recomendações.

Leia mais sobre casos de uso comuns descritos em casos de uso do Apache Flink

Os clusters do Apache Flink no Azure HDInsight no AKS são um serviço totalmente gerenciado. Os benefícios da criação de um cluster do Flink no Azure HDInsight no AKS estão listados aqui.

Recurso Descrição
Criação facilitada Você pode criar um novo cluster do Flink no Azure HDInsight em minutos usando o portal do Microsoft Azure, o Azure PowerShell ou o SDK. Consulte Para começar a usar o cluster do Apache Flink no Azure HDInsight no AKS.
Facilidade de uso Os clusters do Flink no Azure HDInsight no AKS incluem o gerenciamento da configuração a colocação em escala com base no portal. Além disso, com a API de gerenciamento de trabalhos, você usa a API REST ou o portal do Microsoft Azure para o gerenciamento de trabalhos.
APIs REST Os clusters do Flink no HDInsight no AKS incluem API de gerenciamento de trabalhos, um método de envio de trabalhos do Flink baseado em API REST para enviar e monitorar trabalhos remotamente no portal do Microsoft Azure.
Tipo de Implantação O Flink pode executar aplicativos no modo de sessão ou no modo de aplicativo. Atualmente, o HDInsight no AKS dá suporte apenas a clusters de sessão. Você pode executar vários trabalhos do Flink em um cluster de sessão. O modo de aplicativo está no roteiro do Azure HDInsight em clusters do AKS
Suporte para Metastore Os clusters do Flink no Azure HDInsight no AKS podem dar suporte para catálogos com o Metastore do Hive em diferentes formatos de arquivos abertos com pontos de verificação remotos no Azure Data Lake Storage Gen2.
Suporte para o Armazenamento do Azure Os clusters do Flink no Azure HDInsight podem usar o Azure Data Lake Storage Gen2 como coletor de arquivos. Para obter mais informações sobre o Data Lake Storage Gen2, confira Azure Data Lake Storage Gen2.
Integração com serviços do Azure O cluster do Flink no Microsoft Azure HDInsight no AKS vem com uma integração ao Kafka junto com Hubs de Eventos do Azure e Azure HDInsight. Você pode criar aplicativos de streaming usando os Hubs de Eventos ou o Azure HDInsight.
Adaptabilidade O Azure HDInsight no AKS permite escalar os nós do cluster do Flink com base no agendamento com o recurso de Dimensionamento Automático. Confira Escalar automaticamente o Azure HDInsight em clusters do AKS.
Back-end de estado O Azure HDInsight no AKS usa o RocksDB como StateBackend padrão. O RocksDB é um repositório de chave-valor persistente inserível para armazenamento rápido.
Pontos de verificação O ponto de verificação está habilitado no Azure HDInsight em clusters do AKS por padrão. As configurações padrão no HDInsight no AKS mantêm os últimos cinco pontos de verificação no armazenamento persistente. Caso o trabalho falhe, o trabalho pode ser reiniciado do ponto de verificação mais recente.
Pontos de verificação incrementais O RocksDB dá suporte para pontos de verificação incrementais. Incentivamos o uso de pontos de verificação incrementais para estados grandes; é preciso habilitar esse recurso manualmente. Definir um padrão em seu flink-conf.yaml: state.backend.incremental: true habilita pontos de verificação incrementais, a menos que o aplicativo substitua essa configuração no código. Essa instrução é verdadeira por padrão. Alternativamente, você pode configurar esse valor diretamente no código (substitui o padrão configurável) EmbeddedRocksDBStateBackend` backend = new `EmbeddedRocksDBStateBackend(true); . Por padrão, preservamos os últimos cinco pontos de verificação no dir de ponto de verificação configurado. Esse valor pode ser alterado mudando a configuração na seção de gerenciamento de configuração state.checkpoints.num-retained: 5

Os clusters do Apache Flink no Azure HDInsight no AKS incluem os seguintes componentes, que estarão disponíveis nos clusters por padrão.

Consulte o Roadmap para saber o que está por vir!

O Flink agenda trabalhos usando três componentes distribuídos, Gerenciador de Trabalhos, Gerenciador de Tarefas e Cliente de Trabalho, que são definidos em um padrão Líder-Seguidor.

Trabalho Flink: um trabalho ou programa Flink consiste em várias tarefas. As tarefas são a unidade básica de execução no Flink. Cada tarefa Flink tem várias instâncias dependendo do nível de paralelismo e cada instância é executada em um TaskManager.

Gerenciador de trabalhos: o gerenciador de trabalho atua como agendador e agenda tarefas em gerenciadores de tarefas.

Gerenciador de tarefas: os Gerenciador de Tarefas vêm com um ou mais slots para executar tarefas em paralelo.

Cliente de trabalho: o cliente de trabalho se comunica com o gerenciador de trabalhos para enviar trabalhos do Flink

Interface do usuário da Web do Flink: o Flink apresenta uma interface do usuário da Web para inspecionar, monitorar e depurar aplicativos em execução.

Diagrama de processo do Flink mostrando como o trabalho, o gerenciador de trabalhos, o gerenciador de tarefas e o cliente de trabalho operam juntos.

Referência