Connettersi a database e cataloghi esterni

Azure Databricks offre più opzioni per l'esecuzione di query e l'accesso ai dati in database e cataloghi esterni senza eseguire la migrazione dei dati. Scegliere l'approccio in base al modello di accesso, ai requisiti di governance, alle esigenze di scrittura e alle preferenze di calcolo.

Scegliere un approccio

La tabella seguente confronta la federazione di query e la federazione del catalogo per scegliere l'approccio corretto.

Descrizione Esecuzione della query Supporto per la scrittura Governance Migliore per
Federazione di query Esegui query federate su database relazionali esterni tramite JDBC, con pushdown automatico delle query e governance di Unity Catalog tramite cataloghi esterni. Inviato al database esterno tramite JDBC. La query viene eseguita sia in Azure Databricks che in un ambiente di calcolo remoto. Non supportato (sola lettura). Catalogo esterno di Unity con controlli di accesso a livello di tabella. Accesso ad hoc di creazione di report, BI e modello di verifica ai database operativi.
Federazione del catalogo Connettere piattaforme di catalogo esterne ,ad esempio Metastore Hive, AWS Glue o Snowflake, in modo da poter eseguire query sui dati direttamente nell'archivio oggetti. Viene eseguito direttamente sullo storage a oggetti solo nel compute di Azure Databricks. Più conveniente in termini di costi e ottimizzata per le prestazioni rispetto alla federazione delle query. Non supportato (sola lettura). Catalogo esterno di Unity con controlli di accesso a livello di tabella. Migrazione incrementale a Unity Catalog o gestione di un modello ibrido a lungo termine con dati in un catalogo esterno.

Lakehouse Federation

Lakehouse Federation è la piattaforma federativa di query Azure Databricks. Fornisce accesso gestito in sola lettura ai dati esterni tramite i cataloghi federati di Unity Catalog, con inoltro automatico delle query e controlli di accesso granulari a livello di tabella.

Esistono due tipi di Lakehouse Federation: federazione delle query e federazione del catalogo.

Federazione di query rispetto a federazione di cataloghi

Nella tabella seguente vengono descritte le differenze principali tra la federazione delle query e la federazione del catalogo.

Percorso della query Caso d'uso Panoramica dei passaggi
Federazione di query Le query del Catalogo Unity vengono inviate al database esterno usando JDBC. La query viene eseguita sia in Azure Databricks che usando il calcolo remoto.
  • È necessario un accesso ad hoc per la reportistica o per una prova di concetto ai dati operativi archiviati in database esterni.
  • Si vuole ridurre al minimo lo spostamento dei dati e mantenere l'accesso in tempo reale ai sistemi esterni.

Quando l'origine supporta sia Lakehouse Federation che Lakeflow Connect, Azure Databricks consiglia Lakeflow Connect se le prestazioni su volumi di dati più elevati e una latenza inferiore sono priorità.
  • Creare una connessione nel catalogo unity con le credenziali di accesso e l'URL JDBC.
  • Creare un catalogo esterno usando la connessione.
  • Concedere privilegi agli utenti nelle tabelle nel catalogo esterno.
  • Esegui le query. Questi vengono trasferiti nel database esterno.
Federazione del catalogo Le query del Catalogo Unity accedono direttamente alla tabella esterna nell'archivio oggetti. La federazione del catalogo è disponibile per le piattaforme che supportano l'accesso diretto ai servizi di catalogo e archiviazione. La query viene eseguita solo sulle risorse di calcolo di Azure Databricks, il che significa che la federazione del catalogo è più conveniente e più ottimizzata in termini di prestazioni rispetto alla federazione delle query.
  • Stai migrando a Unity Catalog, ma devi introdurre gradualmente i dati gestiti in un catalogo federato.
  • Si vuole un modello ibrido a lungo termine in cui alcuni dati rimangono in un catalogo esterno e alcuni dati vengono gestiti da Unity Catalog.
  • Creare una connessione in Unity Catalog per l'accesso al catalogo esterno.
  • Creare credenziali di archiviazione e un percorso esterno per i percorsi della tabella.
  • Creare un catalogo straniero usando la connessione e la posizione esterna.
  • Concedere privilegi agli utenti nelle tabelle nel catalogo esterno.
  • Esegui le query. Vengono eseguiti direttamente nell'archivio oggetti.

Origini dati supportate

Connettersi alle origini seguenti usando la federazione di query:

Connettersi alle origini seguenti usando la federazione del catalogo:

Origini dati Spark

L'API origine dati Spark consente di leggere e scrivere in database esterni direttamente da Azure Databricks. Utilizzalo quando Lakehouse Federation non supporta la tua origine dati, quando hai bisogno dell'accesso in scrittura o quando ti serve un maggiore controllo sull'esecuzione delle query e sulla parallelizzazione.

Databricks Runtime include connettori in bundle per database comuni, ad esempio PostgreSQL, SQL Server, MySQL, Snowflake e Redshift. Per qualsiasi database compatibile con JDBC, è possibile usare una connessione del catalogo unity JDBC per usare un driver personalizzato con la gestione centralizzata delle credenziali. È anche possibile installare connettori di terze parti in cluster dedicati o creare connettori completamente personalizzati in Python usando l'API PySpark DataSource.

Per istruzioni sull'installazione e dettagli completi, vedere Origini dati Spark.

Risorse aggiuntive