Ideias de soluções
Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe aos requisitos específicos de sua carga de trabalho.
Este artigo descreve uma solução para você ingerir e processar milhões de eventos de streaming por segundo e registrar os eventos em uma tabela do Delta Lake. Esta solução usa o Apache Spark e o Apache Kafka no Azure HDInsight.
Apache®, Apache Kafka e Apache Spark são marcas registradas ou marcas comerciais do Apache Software Foundation nos Estados Unidos e/ou em outros países ou regiões. O uso desta marca não implica aprovação por parte da Apache Software Foundation.
Delta Lake Project é a marca registrada da The Linux Foundation nos Estados Unidos e/ou em outros países.
Arquitetura
Baixe um Arquivo Visio dessa arquitetura.
O logotipo Jupyter Notebook é uma marca comercial da sua respectiva empresa. Nenhum endosso é implícito pelo uso dessa marca.
Fluxo de dados
O fluxo de dados a seguir corresponde à arquitetura anterior.
Os dados de eventos em tempo real, por exemplo, dados sobre eventos da IoT, são ingeridos para o Apache Kafka usando um produtor do Apache Kafka.
O Apache Spark Structured Streaming processa os dados quase em tempo real.
O Apache Spark fornece coletores para registrar análises transformadas e calculadas. Os dados processados são armazenados em uma conta do Azure Data Lake Storage no formato de tabela do Delta Lake.
Os dados processados são ingeridos sem parar no Apache Kafka.
Os dados na conta do Azure Data Lake Storage oferecem insights para:
- Painéis no Power BI quase em tempo real.
- Azure Machine Learning para usar com ferramentas de aprendizado de máquina.
- Jupyter Notebook usando PySpark ou Scala para consumir tabelas do Delta Lake.
Componentes
O HDInsight fornece componentes de código aberto para análises corporativas. Você pode executar esses componentes do Apache em um ambiente do Azure com segurança de nível empresarial. O HDInsight também oferece outros benefícios, incluindo escalabilidade, segurança, monitoramento centralizado, disponibilidade global e extensibilidade.
O Apache Kafka no HDInsight é uma plataforma gerenciada de streaming distribuída e de código aberto que pode ser usada para compilar pipelines e aplicativos de dados de streaming em tempo real. O Apache Kafka oferece alto desempenho e durabilidade na hora de você agrupar registros em tópicos, partições e grupos de consumidores, além defluxos de eventos multiplex de produtores a consumidores.
O Apache Spark no Azure HDInsight é uma implementação da Microsoft do Apache Spark gerenciada na nuvem, além de estar entre as várias ofertas do Spark no Azure.
O Apache Spark Structured Streaming é um mecanismo escalável, com tolerância a falhas, com argumento exactly_once, para processar fluxos. Ele foi criado no mecanismo Spark SQL. As consultas do Structured Streaming são quase em tempo real e têm baixa latência. O Apache Spark Structured Streaming fornece vários conectores para fontes de dados e coletores de dados. Você também pode ingressar em vários fluxos de vários tipos de origem.
O Apache Spark Structured Streaming no Apache Kafka é usado para agrupar e transmitir consultas e armazená-las em uma camada de armazenamento, um banco de dados ou o Apache Kafka.
Uma camada de armazenamento do Delta Lake traz confiabilidade para data lakes adicionando uma camada de armazenamento transacional sobre os dados armazenados na nuvem, como o Armazenamento do Azure. Essa camada de armazenamento estende os arquivos de dados do Apache Parquet com logs de transações baseados em arquivo. Você pode armazenar dados no formato de tabela do Delta Lake para aproveitar benefícios como transações com atomicidade, consistência, isolamento e durabilidade (ACID), evolução de esquemas e versões de históricos.
Um conector de tabela do Delta Lake do Power BI é usado para ler dados de tabela do Delta Lake do Power BI.
O Machine Learning é um serviço do Azure que você pode usar para enviar os dados coletados para usá-los em modelos de aprendizado de máquina.
Detalhes do cenário
O streaming de eventos é uma sequência contínua e ilimitada de eventos imutáveis que fluem do editor de eventos para os assinantes. Em alguns casos de uso de negócios, você precisa armazenar esses eventos em formato bruto e, em seguida, limpar, transformar e agregar os eventos para várias necessidades de análise. Use o streaming de eventos para realizar processamento e análise de eventos quase em tempo real e conseguir insights imediatos.
Possíveis casos de uso
Essa solução oferece uma oportunidade para sua empresa processar fluxos de eventos imutáveis e tolerantes a falhas quase em tempo real. Essa abordagem usa o Apache Kafka como uma fonte de entrada para o Spark Structured Streaming e usa o Delta Lake como uma camada de armazenamento.
Os cenários de negócios incluem:
- Detecção de fraude de login na conta
- Análise das condições atuais do mercado
- Análise de dados do mercado de ações em tempo real
- Detecção de fraudes de cartão de crédito
- Processamento digital de imagem e vídeo
- Pesquisa e descoberta de medicamentos
- Middleware para soluções corporativas de Big Data
- Cálculo do risco de venda a descoberto
- Manufatura inteligente e IoT industrial (IIoT)
Esta solução se aplica aos seguintes setores:
- Agricultura
- Bens de consumo (CPG)
- Segurança cibernética
- Finance
- Serviços de saúde
- Seguros
- Logística
- Manufacturing
- Retail
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Principais autores:
- Arun Sethia | Gerente Principal de Programas
- Sairam Yeturi | Gerente Principal de Produtos
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- O que é o Azure HDInsight?
- Faça streaming em escala no HDInsight
- Início Rápido: criar um cluster do Apache Spark no Azure HDInsight
- Início Rápido: criar um cluster do Apache Kafka no Azure HDInsight
- Visão geral da segurança empresarial no Azure HDInsight
- HDInsight 5.0 com Spark 3.x — Parte 1
- HDInsight – Formato de tabela de código aberto do tipo Iceberg
- Criar um data lakehouse usando o Azure HDInsight
- Usar um metastore do Hive compartilhado com Azure Synapse, HDInsight e Databricks