Oggetti di database in Azure Databricks
Azure Databricks usa due oggetti a protezione diretta primari per archiviare e accedere ai dati.
- Le tabelle regolano l'accesso ai dati tabulari.
- I volumi regolano l'accesso ai dati non tabulari.
Questo articolo descrive in che modo questi oggetti di database sono correlati a cataloghi, schemi, viste e altri oggetti di database in Azure Databricks. Questo articolo fornisce anche un'introduzione generale al funzionamento degli oggetti di database nel contesto dell'architettura generale della piattaforma.
Che cosa sono gli oggetti di database in Azure Databricks?
Gli oggetti di database sono entità che consentono di organizzare, accedere e gestire i dati. Azure Databricks usa una gerarchia a tre livelli per organizzare gli oggetti di database:
- Catalogo: il contenitore di primo livello contiene schemi. Vedere Che cosa sono i cataloghi in Azure Databricks?.
- Schema o database: contiene oggetti dati. Vedere Che cosa sono gli schemi in Azure Databricks?.
- Oggetti dati che possono essere contenuti in uno schema:
- Volume: volume logico di dati non tabulari nell'archiviazione di oggetti cloud. Vedere Che cosa sono i volumi del catalogo Unity?.
- Tabella: raccolta di dati organizzati in base a righe e colonne. Vedere Che cosa sono tabelle e viste?.
- Vista: query salvata su una o più tabelle. Vedere Che cos'è una visualizzazione?.
- Funzione: logica salvata che restituisce un valore scalare o un set di righe. Si veda Funzioni definite dall'utente (UDF) nel catalogo Unity.
- Modello: un modello di Machine Learning in pacchetto con MLflow. Vedere Gestire il ciclo di vita del modello nel catalogo Unity.
I cataloghi vengono registrati in un metastore gestito a livello di account. Solo gli amministratori interagiscono direttamente con il metastore. Vedere Metastore.
Azure Databricks offre asset aggiuntivi per l'uso dei dati, tutti controllabili tramite controlli di accesso a livello di area di lavoro o Unity Catalog, la soluzione di governance dei dati di Databricks:
- Asset di dati a livello di area di lavoro, ad esempio notebook, processi e query.
- Oggetti a protezione diretta di Unity Catalog, ad esempio le credenziali di archiviazione e le condivisioni delta sharing, che controllano principalmente l'accesso all'archiviazione o alla condivisione sicura.
Per altre informazioni, vedere Oggetti di database e asset di dati a protezione diretta dell'area di lavoro e credenziali a protezione diretta di Unity Catalog e infrastruttura.
Gestione dell'accesso agli oggetti di database tramite il catalogo unity
È possibile concedere e revocare l'accesso agli oggetti di database a qualsiasi livello della gerarchia, incluso il metastore stesso. L'accesso a un oggetto concede in modo implicito lo stesso accesso a tutti gli elementi figlio di tale oggetto, a meno che l'accesso non venga revocato.
È possibile usare i comandi SQL ANSI tipici per concedere e revocare l'accesso agli oggetti nel catalogo unity. È anche possibile usare Esplora cataloghi per la gestione guidata dall'interfaccia utente dei privilegi degli oggetti dati.
Per altre informazioni sulla protezione degli oggetti nel catalogo unity, vedere Oggetti a protezione diretta in Unity Catalog.
Autorizzazioni predefinite per gli oggetti nel catalogo unity
A seconda della modalità di creazione e abilitazione dell'area di lavoro per Il catalogo Unity, gli utenti possono disporre delle autorizzazioni predefinite per i cataloghi di cui è stato eseguito automaticamente il provisioning, incluso il main
catalogo o il catalogo dell'area di lavoro (<workspace-name>
). Per altre informazioni, vedere Privilegi utente predefiniti.
Se l'area di lavoro è stata abilitata manualmente per Unity Catalog, include uno schema predefinito denominato default
nel catalogo accessibile a tutti gli utenti dell'area main
di lavoro. Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog e include un <workspace-name>
catalogo, tale catalogo contiene uno schema denominato default
accessibile a tutti gli utenti dell'area di lavoro.
Oggetti di database e asset di dati a protezione diretta dell'area di lavoro
Azure Databricks consente di gestire più asset di ingegneria dei dati, analisi, Machine Learning e intelligenza artificiale insieme agli oggetti di database. Questi asset di dati non vengono registrati nel catalogo unity. Questi asset vengono invece gestiti a livello di area di lavoro, usando elenchi di controllo per gestire le autorizzazioni. Questi asset di dati includono quanto segue:
- Notebook
- Dashboard
- Processi
- Pipeline
- File di area di lavoro
- Query SQL
- Sperimentazioni
La maggior parte degli asset di dati contiene logica che interagisce con oggetti di database per eseguire query sui dati, usare funzioni, registrare modelli o altre attività comuni. Per altre informazioni sulla protezione degli asset di dati dell'area di lavoro, vedere Elenchi di controllo di accesso.
Nota
L'accesso alle risorse di calcolo è regolato dagli elenchi di controllo di accesso. È possibile configurare il calcolo con una modalità di accesso e aggiungere autorizzazioni cloud aggiuntive, che controllano il modo in cui gli utenti possono accedere ai dati. Databricks consiglia di usare i criteri di calcolo e limitare i privilegi di creazione del cluster come procedura consigliata per la governance dei dati. Vedere Modalità di accesso usata.
Credenziali a protezione diretta e infrastruttura di Unity Catalog
Unity Catalog gestisce l'accesso all'archiviazione di oggetti cloud, alla condivisione dei dati e alla federazione delle query usando oggetti a protezione diretta registrati a livello di metastore. Di seguito sono riportate brevi descrizioni di questi oggetti a protezione diretta non dati.
Connessione del catalogo Unity all'archiviazione di oggetti cloud
È necessario definire le credenziali di archiviazione e i percorsi esterni per creare un nuovo percorso di archiviazione gestito o registrare tabelle esterne o volumi esterni. Questi oggetti a protezione diretta vengono registrati nel catalogo unity:
- Credenziali di archiviazione: credenziali cloud a lungo termine che forniscono l'accesso all'archiviazione cloud.
- Percorso esterno: riferimento a un percorso di archiviazione di oggetti cloud accessibile usando le credenziali di archiviazione abbinate.
Vedere Connettersi all'archiviazione di oggetti cloud e ai servizi usando il catalogo unity.
Delta Sharing
Azure Databricks registra gli oggetti a protezione diretta di condivisione delta seguenti nel catalogo unity:
- Condivisione: raccolta di sola lettura di tabelle, volumi e altri asset di dati.
- Provider: organizzazione o entità che condivide i dati. Nel modello di condivisione Databricks-to-Databricks il provider viene registrato nel metastore del catalogo Unity del destinatario come entità univoca identificata dal relativo ID metastore.
- Destinatario: entità che riceve condivisioni da un provider. Nel modello di condivisione Da Databricks a Databricks il destinatario viene identificato dal provider in base al relativo ID metastore univoco.
Si veda Che cos'è Delta Sharing?.
Lakehouse Federation
Lakehouse Federation consente di creare cataloghi esterni per fornire l'accesso in sola lettura ai dati che risiedono in altri sistemi, ad esempio PostgreSQL, MySQL e Snowflake. Per creare cataloghi esterni, è necessario definire una connessione al sistema esterno.
Connessione: un oggetto a protezione diretta di Unity Catalog specifica un percorso e le credenziali per l'accesso a un sistema di database esterno in uno scenario di federazione lakehouse.
Vedere Che cos'è Lakehouse Federation?.
Posizioni di archiviazione gestite per volumi e tabelle gestite
Quando si creano tabelle e volumi Azure Databricks, è possibile scegliere di renderli gestiti o esterni. Unity Catalog gestisce l'accesso a tabelle e volumi esterni da Azure Databricks, ma non controlla i file sottostanti o gestisce completamente il percorso di archiviazione di tali file. Le tabelle gestite e i volumi, d'altra parte, sono completamente gestiti dal catalogo unity e vengono archiviati in un percorso di archiviazione gestito associato allo schema contenitore. Vedere Specificare un percorso di archiviazione gestito nel catalogo unity.
Databricks consiglia volumi gestiti e tabelle gestite per la maggior parte dei carichi di lavoro, perché semplificano la configurazione, l'ottimizzazione e la governance.
Catalogo unity e metastore Hive legacy
Databricks consiglia di usare Unity Catalog per la registrazione e la governance di tutti gli oggetti di database, ma offre anche il supporto legacy per il metastore Hive per la gestione di schemi, tabelle, viste e funzioni.
Se si interagisce con gli oggetti di database registrati usando il metastore Hive, vedere Oggetti di database nel metastore Hive legacy.