Introdução
Usando o Azure HDInsight com Apache Kafka e Apache Spark, você pode criar pipelines e aplicativos de análise de dados de streaming em tempo real na nuvem.
O Apache Kafka é um sistema de mensagens distribuído que recebe dados de streaming de vários sistemas e os disponibiliza para outros aplicativos em tempo real. O Apache Kafka funciona criando uma fila de dados ordenados, replicando os dados em várias máquinas para que não haja um único ponto de falha e disponibilizando-os para os chamados editores ou consumidores. Os editores são os clientes que criam as mensagens e as adicionam à fila Kafka, e os consumidores recebem as mensagens com base em suas assinaturas.
O Apache Spark é um sistema de processamento paralelo que permite pegar dados de sistemas como o Apache Kafka e transformar e reagir aos dados. O Apache Kafka permite que você aproveite e salve os dados, e o Apache Spark permite que você modifique e processe os dados. Quando usado em conjunto, o Spark pode ingerir pequenos lotes ou fluxos contínuos de dados do Kafka e processá-los em tempo real usando o que é chamado de streaming estruturado. Quando as empresas implementam streaming estruturado, elas podem usar uma única arquitetura para processar dados em lote, dados de streaming em tempo real ou uma combinação dos dois, o que permite que as empresas subam o nível de seus aplicativos à medida que passam do processamento em lote para incluir o processamento em tempo real, sem ter que aprender ou implementar estruturas diferentes.
Usando o Apache Kafka e o Apache Spark no Azure HDInsight, você pode criar essa arquitetura em questão de minutos e pode se beneficiar da escalabilidade e da alta disponibilidade de um provedor de nuvem online. Isso também permite que as empresas que criaram aplicativos Kafka e Spark locais migrem essas cargas de trabalho para a nuvem com mais facilidade.
Com seu trabalho como engenheiro de dados no setor bancário, você precisa ser capaz de começar a processar streaming de entrada e dados em lote com latência muito baixa, e você acredita que o Apache Spark e o Apache Kafka podem ser as ferramentas certas para o trabalho.
Objetivos de aprendizagem
No final deste módulo, irá:
- Usar o HDInsight
- Transmita dados com o Apache Kafka
- Descrever o streaming estruturado de faísca
- Criar uma arquitetura Kafka Spark
- Provisionar o HDInsight para executar transformações de dados
- Creat um produtor Kafka
- Transmitir dados Kafka para um Jupyter Notebook
- Replicar dados para um cluster secundário