Idee per le soluzioni
Questo articolo descrive un'idea di soluzione. L'architetto cloud può usare queste linee guida per visualizzare i componenti principali per un'implementazione tipica di questa architettura. Usare questo articolo come punto di partenza per progettare una soluzione ben progettata in linea con i requisiti specifici del carico di lavoro.
L'organizzazione deve inserire dati di qualsiasi formato, dimensione e velocità nel cloud in modo coerente. La soluzione in questo articolo soddisfa tale esigenza con un'architettura che implementa l'estrazione, la trasformazione e il caricamento (ETL) dalle origini dati a un data lake. Il data lake può contenere tutti i dati, incluse le versioni trasformate e curate su varie scale. I dati possono essere usati per l'analisi dei dati, business intelligence (BI), la creazione di report, l'analisi scientifica dei dati e l'apprendimento automatico.
Apache e Apache® Spark™ sono marchi registrati o marchi di Apache Software Foundation nei Stati Uniti e/o in altri paesi. L'uso di questi marchi non implica alcuna approvazione da parte di Apache Software Foundation.
Architettura
Scaricare un file di Visio di questa architettura.
Flusso di dati
I dati vengono inseriti nei modi seguenti:
- Code di eventi come Hub eventi, hub IoT o Kafka inviano dati di streaming ad Azure Databricks, che usa il motore Delta ottimizzato per leggere i dati.
- Le pipeline di Data Factory pianificate o attivate copiano i dati da origini dati diverse in formati non elaborati. Il caricatore automatico in Azure Databricks elabora i dati man mano che arrivano.
Azure Databricks carica i dati in cartelle o tabelle Delta Lake ottimizzate e compresse nel livello Bronze in Data Lake Storage.
I processi di Azure Databricks in streaming, pianificati o attivati leggono nuove transazioni dal livello Data Lake Storage Bronze. I processi vengono aggiunti, puliti, trasformati e aggregati i dati prima di usare le transazioni ACID per caricarli in set di dati curati nei livelli Data Lake Storage Silver e Gold.
I set di dati vengono archiviati in Delta Lake in Data Lake Storage.
Ogni servizio inserisce i dati in un formato comune per garantire la coerenza. L'architettura usa un data lake condiviso basato sul formato Delta Lake aperto. I dati non elaborati vengono inseriti da origini batch e di streaming diverse per formare una piattaforma dati unificata. La piattaforma può essere usata per casi d'uso downstream, ad esempio analisi, creazione di report bi, data science, intelligenza artificiale e Machine Learning.
Livelli di archiviazione Bronze, Silver e Gold
Con il modello medallion, costituito da livelli di archiviazione Bronze, Silver e Gold, i clienti hanno accesso flessibile ed elaborazione dei dati estendibile.
- Le tabelle bronze forniscono il punto di ingresso per i dati non elaborati quando vengono inseriti in Data Lake Storage. I dati vengono acquisiti nel formato di origine non elaborato e convertiti nel formato Delta Lake transazionale aperto per l'elaborazione. La soluzione inserisce i dati nel livello Bronze usando:
- API Apache Spark in Azure Databricks. Le API leggono gli eventi di streaming da Hub eventi o hub IoT e quindi converte tali eventi o file non elaborati nel formato Delta Lake.
- Comando COPY INTO . Usare il comando per copiare i dati direttamente da un file di origine o una directory in Delta Lake.
- Caricatore automatico di Azure Databricks. Il caricatore automatico recupera i file quando arrivano nel data lake e li scrive nel formato Delta Lake.
- Attività di copia di Data Factory. I clienti possono usare questa opzione per convertire i dati da uno dei formati supportati nel formato Delta Lake.
- Le tabelle Silver archiviano i dati mentre sono ottimizzati per i casi d'uso di business intelligence e data science. Il livello Bronze inserisce dati non elaborati e quindi vengono eseguite più attività di elaborazione ETL e flusso per filtrare, pulire, trasformare, unire e aggregare i dati in set di dati curati silver. Le aziende possono usare un motore di calcolo coerente, ad esempio delta engine open-standards, quando si usa Azure Databricks come servizio iniziale per queste attività. Possono quindi usare linguaggi di programmazione familiari come SQL, Python, R o Scala. Le aziende possono anche usare processi DevOps ripetibili e cluster di calcolo temporanei ridimensionati per i singoli carichi di lavoro.
- Le tabelle Gold contengono dati arricchiti, pronti per l'analisi e la creazione di report. Gli analisti possono usare il metodo scelto, ad esempio PySpark, Koalas, SQL, Power BI ed Excel per ottenere nuove informazioni dettagliate e formulare query.
Componenti
- Hub eventi analizza e assegna punteggi ai messaggi in streaming da varie origini, inclusi i sistemi locali e fornisce informazioni in tempo reale.
- Data Factory orchestra le pipeline di dati per l'inserimento, la preparazione e la trasformazione di tutti i dati su qualsiasi scala.
- Data Lake Storage riunisce dati in streaming e batch, inclusi dati strutturati, non strutturati e semistrutturati, ad esempio log, file e supporti.
- Azure Databricks pulisce e trasforma i set di dati senza struttura e li combina con dati strutturati da database operativi o data warehouse.
- hub IoT offre comunicazioni altamente sicure e affidabili tra l'applicazione IoT e i dispositivi.
- Delta Lake in Data Lake Storage supporta transazioni ACID per l'affidabilità ed è ottimizzata per l'inserimento, l'elaborazione e le query efficienti.
Dettagli dello scenario
L'elaborazione di inserimento, ETL e flusso con Azure Databricks è semplice, aperta e collaborativa:
- Semplice: un data lake aperto con un livello curato in un formato open source semplifica l'architettura dei dati. Delta Lake, uno strumento open source, consente di accedere al data lake di Azure Data Lake Storage. Delta Lake in Data Lake Storage supporta transazioni atomicità, coerenza, isolamento e durabilità (ACID) per l'affidabilità. Delta Lake è ottimizzato per l'inserimento, l'elaborazione e le query efficienti.
- Open: la soluzione supporta codice open source, standard aperti e framework aperti. Funziona anche con i più diffusi ambienti di sviluppo integrato (IDE), librerie e linguaggi di programmazione. Tramite connettori nativi e API, la soluzione funziona anche con un'ampia gamma di altri servizi.
- Collaborazione: i data engineer, i data scientist e gli analisti collaborano con questa soluzione. Possono usare notebook collaborativi, IDE, dashboard e altri strumenti per accedere e analizzare i dati sottostanti comuni.
Azure Databricks si integra perfettamente con altri servizi di Azure, ad esempio Data Lake Storage, Azure Data Factory, Hub eventi di Azure e hub IoT di Azure.
Potenziali casi d'uso
Questa soluzione è ispirata al sistema creato dall'assistenza sanitaria di Providence per l'analisi in tempo reale. Qualsiasi settore che inserisce dati batch o di streaming può anche prendere in considerazione questa soluzione. Alcuni esempi:
- Al dettaglio ed e-commerce
- Dati finanziari
- Servizi sanitari e scienze biologiche
- Fornitori di energia
Passaggi successivi
- Spanish Point Technologies crea il motore di corrispondenza usando Azure Databricks e Azure Data Factory per inserire dati su larga scala per aiutare i musicisti a pagare equamente.
Risorse correlate
Guide e architetture completamente distribuibili: