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
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.
I dati degli eventi in tempo reale, ad esempio i dati degli eventi IoT, vengono inseriti in Apache Kafka tramite un producer Apache Kafka.
Apache Spark Structured Streaming elabora i dati quasi in tempo reale.
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.
I dati elaborati vengono inseriti continuamente in Apache Kafka.
I dati nell'account azure Data Lake Archiviazione possono fornire informazioni dettagliate per:
- Dashboard quasi in tempo reale in Power BI.
- Azure Machine Learning da usare con gli strumenti di Machine Learning .
- Jupyter Notebook usando PySpark o Scala per usare le tabelle Delta Lake.
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:
- Arun Sethia | Principal Program Manager
- Sairam Yeturi | Product Manager principale
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Che cos'è Azure HDInsight?
- Flusso su larga scala in HDInsight
- Guida introduttiva: Creare un cluster Apache Spark in Azure HDInsight
- Avvio rapido: Creare un cluster Apache Kafka in Azure HDInsight
- Panoramica della sicurezza aziendale in Azure HDInsight
- HDInsight 5.0 con Spark 3.x - Parte 1
- HDInsight- Formato tabella open source Iceberg
- Creare un data lakehouse usando Azure HDInsight
- Usare un metastore Hive condiviso in Azure Synapse, HDInsight e Databricks