Usare HDInsight e Delta Lake per gestire i dati degli eventi

Azure HDInsight
Microsoft Entra ID
Azure Load Balancer
Azure ExpressRoute
Rete virtuale di Azure

Idee per le soluzioni

Questo articolo è un'idea di soluzione. Per espandere il contenuto con altre informazioni, ad esempio potenziali casi d'uso, servizi alternativi, considerazioni sull'implementazione o indicazioni sui prezzi, inviare commenti e suggerimenti su GitHub.

Questo articolo descrive una soluzione che è possibile usare per inserire ed elaborare milioni di eventi di streaming al secondo e quindi scrivere gli eventi in una tabella Delta Lake. Questa soluzione usa Apache Spark e Apache Kafka in Azure HDInsight.

Apache, Apache Kafka e Apache Spark sono marchi o marchi registrati di Apache® Software Foundation nelle Stati Uniti e/o in altri paesi o aree geografiche. L'uso di questi marchi non implica alcuna approvazione da parte di Apache Software Foundation.

Delta Lake Project è il marchio registrato di The Linux Foundation negli Stati Uniti e/o in altri paesi.

Architettura

Diagramma che mostra l'architettura per l'inserimento e l'elaborazione dei dati di streaming.

Scaricare un file di Visio di questa architettura.

Il logo jupyter Notebook è un marchio della rispettiva azienda. Nessuna verifica dell'autenticità è implicita nell'uso di questo marchio.

Flusso di dati

Il flusso di dati seguente corrisponde all'architettura precedente.

  1. I dati degli eventi in tempo reale, ad esempio i dati degli eventi IoT, vengono inseriti in Apache Kafka tramite un producer Apache Kafka.

  2. Apache Spark Structured Streaming elabora i dati quasi in tempo reale.

  3. Apache Spark offre sink per la scrittura di analisi trasformate e calcolate. I dati elaborati vengono archiviati in un account azure Data Lake Archiviazione in formato tabella Delta Lake.

  4. I dati elaborati vengono inseriti continuamente in Apache Kafka.

  5. I dati nell'account azure Data Lake Archiviazione possono fornire informazioni dettagliate per:

Componenti

  • HDInsight offre componenti open source per l'analisi aziendale. È possibile eseguire questi componenti Apache in un ambiente Azure con sicurezza di livello aziendale. HDInsight offre anche altri vantaggi , tra cui scalabilità, sicurezza, monitoraggio centralizzato, disponibilità globale ed estendibilità.

  • Apache Kafka in HDInsight è una piattaforma distribuita open source gestita che è possibile usare per creare pipeline e applicazioni di dati di streaming in tempo reale. Apache Kafka offre prestazioni elevate e durabilità in modo da poter raggruppare i record in argomenti, partizioni e gruppi di consumer e flussi di eventi multiplex dai producer ai consumer.

  • Apache Spark in HDInsight è un'implementazione Microsoft gestita di Apache Spark nel cloud ed è una delle diverse offerte Spark in Azure.

  • Apache Spark Structured Streaming è un motore scalabile di tolleranza di errore di tipo exactly-once per l'elaborazione dei flussi. Si basa sul motore SPARK SQL. Le query di streaming strutturato sono quasi in tempo reale e hanno bassa latenza. Apache Spark Structured Streaming offre diversi connettori per origini dati e sink di dati. È anche possibile unire più flussi da vari tipi di origine.

  • Apache Spark Structured Streaming in Apache Kafka viene usato per eseguire il batch e trasmettere query e archiviarle in un livello di archiviazione, un database o Apache Kafka.

  • Un livello di archiviazione Delta Lake offre affidabilità per i data lake aggiungendo un livello di archiviazione transazionale sui dati archiviati nell'archiviazione cloud, ad esempio Archiviazione di Azure. Questo livello di archiviazione estende i file di dati Apache Parquet con i log delle transazioni basati su file. È possibile archiviare i dati in formato tabella Delta Lake per sfruttare i vantaggi offerti da transazioni atomicità, coerenza, isolamento e durabilità (ACID), evoluzione dello schema e versioni della cronologia.

  • Un connettore di tabelle Delta Lake di Power BI viene usato per leggere i dati della tabella Delta Lake da Power BI.

  • Machine Learning è un servizio di Azure in cui è possibile inviare i dati raccolti per usarli per i modelli di Machine Learning.

Dettagli dello scenario

Lo streaming di eventi è una sequenza continua non associato di eventi non modificabili che passano dal server di pubblicazione eventi ai sottoscrittori. In alcuni casi d'uso aziendali è necessario archiviare questi eventi in formato non elaborato e quindi pulire, trasformare e aggregare gli eventi per diverse esigenze di analisi. Usare lo streaming di eventi per eseguire l'elaborazione e l'analisi quasi in tempo reale degli eventi, che genera informazioni dettagliate immediate.

Potenziali casi d'uso

Questa soluzione offre un'opportunità per l'azienda di elaborare flussi di eventi a tolleranza di errore non modificabili esattamente una volta quasi in tempo reale. Questo approccio usa Apache Kafka come origine di input per Spark Structured Streaming e usa Delta Lake come livello di archiviazione.

Gli scenari aziendali includono:

  • Rilevamento delle frodi di accesso all'account
  • Analisi delle attuali condizioni di mercato
  • Analisi dei dati del mercato azionario in tempo reale
  • Rilevamento di frodi tramite carta di credito
  • Elaborazione di immagini digitali e video
  • Ricerca e scoperta di farmaci
  • Middleware per soluzioni Big Data aziendali
  • Calcolo del rischio a vendita breve
  • Produzione intelligente e IoT industriale (IIoT)

Questa soluzione si applica ai settori seguenti:

  • Agricoltura
  • Beni in pacchetto di consumo (CPG)
  • Sicurezza informatica
  • Dati finanziari
  • Settore sanitario
  • Editoria e stampa
  • Logistica
  • Produzione
  • Vendita al dettaglio

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autori principali:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi