Condividere i dati usando il protocollo Databricks-to-Databricks di condivisione Delta (per i provider)
Questo articolo offre una panoramica dell'uso di Databricks-to-Databricks Delta Sharing per condividere i dati in modo sicuro con qualsiasi utente di Databricks, indipendentemente dall'account o dall'host cloud, purché l'utente abbia accesso a un'area di lavoro abilitata per Unity Catalog.
Nota
Se si è un destinatario di dati (un utente o un gruppo di utenti con cui vengono condivisi i dati di Databricks), vedere Accedere ai dati condivisi con l'utente usando la condivisione differenziale (per i destinatari).
Chi deve usare la condivisione Databricks-to-Databricks Delta?
Esistono tre modi per condividere i dati usando la condivisione delta.
Il protocollo di condivisione Da Databricks a Databricks, descritto in questo articolo, consente di condividere i dati dall'area di lavoro abilitata per Unity Catalog con gli utenti che hanno anche accesso a un'area di lavoro databricks abilitata per Unity Catalog.
Questo approccio usa il server di condivisione delta integrato in Azure Databricks e fornisce il supporto per la condivisione dei notebook, la governance dei dati di Unity Catalog, il controllo e il rilevamento dell'utilizzo per provider e destinatari. L'integrazione con Unity Catalog semplifica la configurazione e la governance sia per i provider che per i destinatari e migliora le prestazioni.
Il protocollo di condivisione aperta di Databricks consente di condividere i dati gestiti in un'area di lavoro databricks abilitata per Unity catalog con utenti su qualsiasi piattaforma di elaborazione.
Vedere Condividere i dati usando il protocollo di condivisione aperto Delta Sharing (per i provider).
Un'implementazione gestita dal cliente del server di condivisione Delta open source consente di condividere da qualsiasi piattaforma a qualsiasi piattaforma, indipendentemente dal fatto che Databricks o meno.
Per un'introduzione alla condivisione delta e altre informazioni su questi tre approcci, vedere Che cos'è la condivisione delta?.
Flusso di lavoro di condivisione Delta da Databricks a Databricks
Questa sezione offre una panoramica generale del flusso di lavoro di condivisione da Databricks a Databricks, con collegamenti alla documentazione dettagliata per ogni passaggio.
Nel modello databricks-to-Databricks Delta Sharing:
Un destinatario di dati fornisce a un provider di dati l'identificatore di condivisione univoco per il metastore di Databricks Unity Catalog collegato all'area di lavoro di Databricks che il destinatario (che rappresenta un utente o un gruppo di utenti) userà per accedere ai dati condivisi dal provider di dati.
Per informazioni dettagliate, vedere Passaggio 1: Richiedere l'identificatore di condivisione del destinatario.
Il provider di dati crea una condivisione nel metastore del catalogo Unity del provider. Questo oggetto denominato contiene una raccolta di tabelle, viste, volumi e notebook registrati nel metastore.
Per informazioni dettagliate, vedere Creare e gestire condivisioni per la condivisione Delta.
Il provider di dati crea un oggetto destinatario nel metastore del catalogo Unity del provider. Questo oggetto denominato rappresenta l'utente o il gruppo di utenti che accederanno ai dati inclusi nella condivisione, insieme all'identificatore di condivisione del metastore del catalogo Unity collegato all'area di lavoro che verrà usata dall'utente o dal gruppo di utenti per accedere alla condivisione. L'identificatore di condivisione è l'identificatore di chiave che abilita la connessione sicura.
Per informazioni dettagliate, vedere Passaggio 2: Creare il destinatario.
Il provider di dati concede al destinatario l'accesso alla condivisione.
Per informazioni dettagliate, vedere Gestire l'accesso alle condivisioni dati di condivisione differenziale (per i provider).
La condivisione diventa disponibile nell'area di lavoro databricks del destinatario e gli utenti possono accedervi tramite Esplora cataloghi, l'interfaccia della riga di comando di Databricks o i comandi SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Per accedere a tabelle, viste, volumi e notebook in una condivisione, un amministratore del metastore o un utente con privilegi deve creare un catalogo dalla condivisione. L'utente o un altro utente a cui viene concesso il privilegio appropriato può quindi concedere ad altri utenti l'accesso al catalogo e agli oggetti nel catalogo. La concessione di autorizzazioni per cataloghi condivisi e asset di dati funziona esattamente come con qualsiasi altro asset registrato in Unity Catalog, con la differenza importante che gli utenti possono essere concessi solo l'accesso in lettura agli oggetti nei cataloghi creati da condivisioni delta.
I notebook condivisi sono in tempo reale a livello di catalogo e qualsiasi utente con privilegi
USE CATALOG
nel catalogo può accedervi.Per informazioni dettagliate, vedere Leggere i dati condivisi con Databricks-to-Databricks Delta Sharing (per i destinatari).
Migliorare le prestazioni di lettura delle tabelle con la condivisione della cronologia
Le condivisioni di tabelle da Databricks a Databricks possono migliorare le prestazioni abilitando la condivisione della cronologia. La cronologia della condivisione ottimizza le prestazioni utilizzando credenziali di sicurezza temporanee provenienti dall'archiviazione cloud, limitate alla directory principale della tabella Delta condivisa del fornitore, consentendo così prestazioni paragonabili a quelle dell'accesso diretto alle tabelle sorgente.
- Per le nuove condivisioni di tabella, specificare
WITH HISTORY
durante la creazione della condivisione di tabella. Vedere Aggiungere tabelle a una condivisione. Quando si condivide una tabella usando il calcolo in Databricks Runtime 16.2 e versioni successive,WITH HISTORY
è l'impostazione predefinita. - Per le condivisioni di tabella esistenti, è necessario modificare la condivisione in modo da condividere la cronologia delle tabelle. Visualizza aggiorna le condivisioni. Quando si condivide una tabella usando il calcolo in Databricks Runtime 16.2 e versioni successive,
WITH HISTORY
è l'impostazione predefinita.
Quando si condivide un intero schema, tutte le tabelle nello schema vengono condivise con la cronologia per impostazione predefinita.
Nota
Le tabelle con partizionamento abilitato non ricevono i vantaggi delle prestazioni della condivisione della cronologia. Vedere Specificare partizioni di tabella da condividere
Condivisione della cronologia e privacy dei dati
I provider devono essere consapevoli che la condivisione della cronologia da Databricks a Databricks concede ai destinatari della condivisione Delta l'accesso in lettura temporaneo ai file di dati e al log Delta. Il log Delta contiene la cronologia dei commit per ogni versione della tabella, le informazioni sul committer (simile alla cronologia dei commit di GitHub) e i dati eliminati che non sono stati rimossi.