Condividi tramite


Creare pipeline con dlt-meta

Questo articolo presenta dlt-meta, un progetto di Databricks Labs che fornisce strumenti per generare pipeline dai metadati gestiti.

Annotazioni

Il progetto dlt-meta open source, come tutti i progetti nell'account GitHub databrickslabs, esiste solo a scopo di esplorazione. Azure Databricks non lo supporta né fornisce contratti di servizio per tale servizio. Non inviare ticket di supporto di Azure Databricks per problemi relativi a questo progetto. Invece, segnalare un problema di GitHub, che verrà esaminato quando il tempo lo permette.

Che cos'è dlt-meta?

Lakeflow Spark Declarative Pipelines consente di specificare in modo dichiarativo una tabella e di generare un flusso in una pipeline che crea la tabella e lo mantiene aggiornato man mano che cambiano i dati di origine. Tuttavia, se l'organizzazione dispone di centinaia di tabelle, la generazione e la gestione di queste pipeline richiede molto tempo e può causare procedure incoerenti.

Il progetto dlt-meta è un framework di metaprogrammazione basato sui metadati progettato per l'uso con le pipeline dichiarative di Lakeflow Spark. Questo framework consente l'automazione delle pipeline di dati bronze e silver sfruttando i metadati registrati in un set di file JSON e YAML. Il motore dlt-meta usa il codice Python per generare in modo dinamico il codice della pipeline per i flussi descritti nei metadati. Generi i metadati relativi alle tue pipeline, e dlt-meta genera le tue pipeline.

Con la logica centralizzata in un'unica posizione (metadati), il sistema è più veloce, riutilizzabile e più facile da gestire.

Annotazioni

Il progetto dlt-meta è stato chiamato in riferimento alla precedente funzionalità Tabelle live Delta in Azure Databricks. Le tabelle live delta sono state sostituite da pipeline dichiarative di Lakeflow Spark e dlt-meta funziona con le pipeline dichiarative di Lakeflow Spark.

Vantaggi di dlt-meta

Esistono due casi d'uso principali per dlt-meta:

  • Inserire e pulire semplicemente un numero elevato di tabelle.
  • Applicare gli standard di progettazione dei dati tra più pipeline e utenti.

I vantaggi dell'uso di un approccio basato sui metadati includono:

  • La gestione dei metadati può essere eseguita senza conoscere il codice Python o SQL.
  • La gestione dei metadati, anziché il codice, richiede meno overhead e riduce gli errori.
  • Il codice viene generato da dlt-meta, quindi rimane coerente e ha meno codice personalizzato tra pipeline e tabelle pubblicate.
  • È possibile raggruppare facilmente le tabelle in pipeline all'interno dei metadati, generando il numero di pipeline necessarie per aggiornare i dati in modo più efficiente.

Come funziona?

L'immagine seguente mostra una panoramica del sistema dlt-meta:

Panoramica di dlt-meta

  1. I file di metadati vengono creati come input per dlt-meta, per specificare i file di origine e gli output, le regole di qualità e l'elaborazione richiesta.
  2. Il motore dlt-meta compila i file di onboarding in una specifica del flusso di dati, denominata DataflowSpec e li archivia per usarli in un secondo momento.
  3. Il motore dlt-meta usa DataflowSpec per creare pipeline che generano tabelle bronze. Questo utilizza i file di metadati per leggere i dati di origine e applicare le attese corrette dei dati per conformarsi alle regole di qualità.
  4. Il motore dlt-meta usa quindi il DataflowSpec per creare le pipeline aggiuntive che generano le silver tables. In questo modo vengono usati i file di metadati per applicare le trasformazioni appropriate e altre elaborazioni per il sistema.

Le pipeline generate da dlt-meta vengono eseguite per mantenere aggiornato l'output al momento dell'aggiornamento dei dati d'origine.

Come faccio a iniziare?

Per usare dlt-meta, è necessario:

  • Distribuire e configurare la soluzione dlt-meta.
  • Preparare i metadati per le tabelle dei livelli bronze e silver.
  • Creare un processo per eseguire l'onboarding dei metadati.
  • Usare i metadati per creare pipeline per le tabelle.

La documentazione dlt-meta su GitHub offre un'esercitazione che consente di iniziare a usare questo processo. Per altre informazioni, vedere Introduzione a dlt-meta in GitHub.

Risorse aggiuntive