Set configura e gestisci Unity Catalog
Questo articolo illustra come configurare e usare Unity Catalog per gestire i dati nell'area di lavoro di Azure Databricks. È destinato principalmente agli amministratori dell'area di lavoro che usano Unity Catalog per la prima volta. Per set up Unity Catalog usando il provider Databricks Terraform, vedere Automate Unity Catalog setup using Terraform.To set up up Unity Catalog using Terraform provider, see Automate Unity Catalog setup using Terraform.
In questa articolo verranno illustrati:
- Un'area di lavoro abilitata per Unity Catalog.
- Calcolo con accesso a Unity Catalog.
- Gli utenti con l'autorizzazione per accedere e creare oggetti in Unity Catalog.
È anche possibile esaminare altri articoli introduttivi:
- Per una rapida procedura dettagliata su come creare i permessi table e grant in Unity Catalog, vedere il tutorial : Crea i tuoi primi privilegi table e grant.
- Per i concetti chiave di Unity Catalog e un'introduzione al funzionamento di Unity Catalog, vedere Che cos'è Unity Catalog?.
- Per informazioni su come usare al meglio Unity Catalog per soddisfare le esigenze di governance dei dati, vedere Catalog procedure consigliate per Unity.
Nota
Se si vuole aggiornare un'area di lavoro non Unity-Catalog esistente a Unity Catalog, è possibile trarre vantaggio dall'uso di UCX, un progetto databricks Labs che fornisce un set di flussi di lavoro e utilità per l'aggiornamento di identità, autorizzazioni e tables a Unity Catalog. Vedere Usare le utilità UCX per aggiornare l'area di lavoro a Unity Catalog.
Panoramica dell'abilitazione di Unity Catalog
Per usare Unity Catalog, le aree di lavoro di Azure Databricks devono essere abilitate per Unity Catalog, il che significa che le aree di lavoro sono collegate a un metastore Catalog Unity, il contenitore di primo livello per i metadati di Unity Catalog.
Il modo in cui gli amministratori set up Unity Catalog dipende dal fatto che l'area di lavoro sia stata abilitata automaticamente per Unity Catalog o richieda l'abilitazione manuale.
abilitazione automatica di Unity Catalog
Databricks ha iniziato ad abilitare automaticamente le nuove aree di lavoro per Unity Catalog il 9 novembre 2023, con un'implementazione graduale tra gli account. Le aree di lavoro abilitate automaticamente hanno le proprietà seguenti:
Un metastore Unity Catalog con provisioning automatico (a meno che non esista già un metastore Unity Catalog per la regione dell'area di lavoro e il metastore sia abilitato per l'assegnazione automatica dell'area di lavoro).
Privilegi predefiniti per gli amministratori dell'area di lavoro, ad esempio la possibilità di creare un catalog o una connessione di database esterna.
Nessun amministratore del metastore (a meno che non sia stato utilizzato un metastore Unity Catalog esistente oppure un amministratore del metastore sia già stato assegnato).
Nessuna risorsa di archiviazione a livello di metastore per le tables gestite e le volumes gestite (a meno che non sia stato usato un metastore Catalog esistente con l'archiviazione a livello di metastore).
Un'area di lavoro catalog, che, quando è stata originariamente configurata, è chiamata come la tua area di lavoro.
Tutti gli utenti dell'area di lavoro possono creare asset nel
default
schema in questo catalog. Per impostazione predefinita, questa catalog è associata al tuo spazio di lavoro, il che significa che è accessibile solo attraverso di esso. Il provisioning automatico dell'area di lavoro catalog viene implementato gradualmente su tutti gli account durante la creazione dell'area di lavoro.
Queste configurazioni predefinite funzionano correttamente per la maggior parte delle aree di lavoro, ma possono essere tutte modificate da un amministratore dell'area di lavoro o da un amministratore dell'account. Ad esempio, un amministratore dell'account può assegnare un amministratore del metastore e creare una risorsa di archiviazione a livello di metastore e un amministratore dell'area di lavoro può modificare l'area di lavoro catalog nome e accesso.
Cosa accade se l'area di lavoro non è stata abilitata automaticamente per Unity Catalog?
Se l'area di lavoro non è stata abilitata automaticamente per Unity Catalog, un amministratore dell'account o un amministratore del metastore deve collegare manualmente l'area di lavoro a un metastore Unity Catalog nella stessa regione. Se non esiste alcun metastore Unity Catalog nella regione, un amministratore dell'account deve crearne uno. Per istruzioni, vedere Creare un metastore UnityCatalog .
Come è possibile sapere se l'area di lavoro è stata abilitata per Unity Catalog?
Per confermare se l'area di lavoro è abilitata per Unity Catalog, chiedi a un amministratore dell'area di lavoro di Azure Databricks o a un amministratore dell'account di verificare per te. Vedere anche Passaggio 1: Verificare che l'area di lavoro sia abilitata per Unity Catalog.
Come è possibile sapere se l'area di lavoro include un'area di lavoro catalog?
Alcune nuove aree di lavoro hanno un'area di lavoro catalog, che, quando viene inizialmente fornita, è denominata in base al nome della tua area di lavoro. Per determinare se l'area di lavoro ne ha una, fare clic sull'icona Catalog nella barra laterale per aprire Catalog Explorer e cercare un catalog che usa il nome dell'area di lavoro come nome catalog.
Nota
L'area di lavoro catalog è simile a qualsiasi altra catalog in Unity Catalog: un amministratore dell'area di lavoro può modificare il nome, modificarne la proprietà o persino eliminarla. Tuttavia, subito dopo la creazione dell'area di lavoro, porta il nome dell'area di lavoro
Operazioni preliminari
Prima di iniziare le attività descritte in questo articolo, è necessario acquisire familiarità con i concetti di base di Unity Catalog, tra cui metastores, ruoli di amministratore e archiviazione gestita. Consulta Che cos'è Unity Catalog?.
È anche necessario verificare di possedere i seguenti requisiti:
Un'area di lavoro di Azure Databricks sul piano Premium.
I seguenti ruoli e privilegi, che dipendono dallo stato dell'area di lavoro:
Amministratore dell'area di lavoro: se l'area di lavoro è stata abilitata per Unity Catalog automaticamente al momento della creazione, è necessario essere un amministratore dell'area di lavoro per completare le attività necessarie.
Amministratore account: se l'area di lavoro non è già abilitata per Unity Catalog, un amministratore account deve collegare l'area di lavoro al metastore.
Se non c'è alcun metastore Unity Catalog nella stessa regione del workspace, anche un amministratore dell'account deve creare il metastore Unity Catalog.
Istruzioni per determinare se esiste un metastore per lo spazio dell'area di lavoro, insieme alle istruzioni per la creazione di un metastore, vedere questo articolo.
Vedere privilegi di amministratore di in Unity Catalog e abilitazione automatica di Unity Catalog.
Passaggio 1: Verificare che l'area di lavoro sia abilitata per Unity Catalog
In questo passaggio si determina se l'area di lavoro è già abilitata per Unity Catalog, where l'abilitazione viene definita come having un metastore Catalog Unity collegato all'area di lavoro. Se l'area di lavoro non è abilitata per Unity Catalog, è necessario abilitare manualmente l'area di lavoro per Unity Catalog. Consulta Passaggi successivi se l'area di lavoro non è abilitata per Unity Catalog.
Per confermare, usare uno dei metodi descritti di seguito.
Usare la console dell'account per confermare l'abilitazione di Unity Catalog
- Come amministratore di un account Azure Databricks, accedere alla console dell'account.
- Fare clic su Aree di lavoro.
- Trova la tua area di lavoro e controlla il Metastore column. Se è presente un nome di metastore, l'area di lavoro è collegata a un metastore Unity Catalog e quindi abilitata per Unity Catalog.
Eseguire una query SQL per confermare l'abilitazione di Unity Catalog
Eseguire la query SQL seguente nell'editor di query SQL o in un notebook collegato a un cluster che usa la modalità di accesso condiviso o utente singolo. Vedere Modalità di accesso usata. Non è necessario alcun ruolo di amministratore.
SELECT CURRENT_METASTORE();
Se la query restituisce un ID metastore simile al seguente, l'area di lavoro viene collegata a un metastore di Unity Catalog e quindi abilitata per Unity Catalog.
Passaggi successivi se l'area di lavoro non è abilitata per Unity Catalog
Se l'area di lavoro non è abilitata per Unity Catalog (collegata a un metastore), il passaggio successivo dipende dal fatto che abbiate già definito un Unity metastore Catalog per la regione dell'area di lavoro:
- Se il tuo account ha già un metastore Catalog Unity definito per la regione della tua area di lavoro, basta collegare la tua area di lavoro al metastore esistente. Vai a e abilita l'area di lavoro per Unity Catalog.
- Se non c'è un metastore di Unity Catalog definito per la tua area di lavoro, è necessario creare un metastore e quindi associarlo all'area di lavoro. Passare a creare un metastore Unity Catalog.
Quando l'area di lavoro è abilitata per Unity Catalog, andare al passaggio successivo.
Passaggio 2: aggiungere utenti e assegnare il ruolo di amministratore dell'area di lavoro
L'utente che crea l'area di lavoro viene aggiunto automaticamente come utente dell'area di lavoro con il ruolo di amministratore dell'area di lavoro, ovvero un utente nel gruppo locale dell'area di lavoro admins
. Gli amministratori dell'area di lavoro possono aggiungere e invitare utenti all'area di lavoro, assegnare il ruolo di amministratore dell'area di lavoro ad altri utenti e creare entità servizio e gruppi.
Anche gli amministratori di account possono aggiungere utenti, entità servizio e gruppi all'area di lavoro. Possono grant i ruoli di amministratore dell'account e di amministratore del metastore.
Per informazioni dettagliate, vedere Gestire gli utenti.
(scelta consigliata) Sync identità a livello di account da Microsoft Entra ID
Può essere utile gestire l'accesso degli utenti ad Azure Databricks configurando il provisioning da Microsoft Entra ID. Per istruzioni complete, vedere utenti e gruppi di Sync da Microsoft Entra ID.
Passaggio 3: creare cluster o magazzini SQL che gli utenti possono usare per eseguire query e creare oggetti
Per eseguire i carichi di lavoro di Unity Catalog, le risorse di calcolo devono essere conformi a determinati requisiti di sicurezza. Le risorse di calcolo non conformi non possono accedere ai dati o ad altri oggetti in Unity Catalog. I warehouse SQL sono sempre conformi ai requisiti di Unity Catalog, ma alcune modalità di accesso al cluster non lo sono. Vedere Modalità di accesso usata.
In qualità di amministratore dell'area di lavoro, è possibile scegliere di rendere la creazione di calcolo limitata agli amministratori o consentire agli utenti di creare i propri magazzini e cluster di SQL. È anche possibile creare criteri di cluster che consentono agli utenti di creare i propri cluster utilizzando specifiche conformi a Unity Catalogche si impongono. Vedere Autorizzazioni di calcolo e Creare e gestire i criteri di calcolo.
Passaggio 4: privilegi di Grant agli utenti
Per creare oggetti e accedervi in Unity Catalogcatalogs e schemi, un utente deve disporre dell'autorizzazione per farlo. Questa sezione descrive i privilegi utente e amministratore concessi per impostazione predefinita ad alcune aree di lavoro e descrive come grant privilegi aggiuntivi.
Privilegi utente predefiniti
Alcune aree di lavoro hanno privilegi utente (non amministratore) predefiniti al momento dell'avvio:
Se il tuo spazio di lavoro è stato avviato con uno spazio di lavoro con provisioning automatico catalog, tutti gli utenti dello spazio di lavoro possono creare oggetti nello spazio di lavoro di catalog
default
schema.Per informazioni su come determinare se l'area di lavoro dispone di un'area di lavoro catalog, vedere Come è possibile sapere se l'area di lavoro include un'area di lavoro catalog?.
Se l'area di lavoro è stata abilitata manualmente per Unity Catalog, viene configurato automaticamente un
main
catalog.Gli utenti dell'area di lavoro hanno il privilegio di
USE CATALOG
per l'main
catalog, che non grant la possibilità di creare o select da qualsiasi oggetto nell'catalog, ma è un prerequisito per l'uso di qualsiasi oggetto nel catalog. L'utente che ha creato il metastore possiede ilmain
catalog per impostazione predefinita e può sia trasferire la proprietà che l'accesso grant ad altri utenti.Se l'archiviazione metastore viene aggiunta dopo la creazione del metastore, non viene fornito nessun
main
catalog.
In altre aree di lavoro, nessun catalogs è creato per impostazione predefinita e nessun privilegio utente non amministratore è abilitato per impostazione predefinita. Un amministratore dell'area di lavoro deve creare il primo accesso degli utenti catalog e grant ad esso e agli oggetti al suo interno. Passare a Passaggio 5: creare un nuovo catalogs e nuovi schemi prima di completare i passaggi descritti in questa sezione.
Privilegi predefiniti dell'amministratore
In alcune aree di lavoro, gli amministratori hanno dei privilegi per impostazione predefinita al momento dell'avvio:
- Se la tua area di lavoro era stata abilitata per Unity Catalog automaticamente:
- Gli amministratori dell'area di lavoro possono creare nuovi catalogs e oggetti in nuovi catalogs, e gestire l'accesso a essi con grant.
- Non ci sono amministratori del metastore per impostazione predefinita.
- Gli amministratori dell'area di lavoro sono proprietari dell'area di lavoro catalog (se presente) e possono grant l'accesso a tale catalog e a qualsiasi oggetto in tale catalog.
- Se la tua area di lavoro è stata abilitata manualmente per Unity Catalog:
- Per impostazione predefinita, gli amministratori dell'area di lavoro non dispongono di privilegi speciali di Unity Catalog.
- Gli amministratori del metastore devono esistere e possono creare qualsiasi oggetto Unity Catalog e assumere il controllo di qualsiasi oggetto Unity Catalog.
Per un list di privilegi di oggetto aggiuntivi concessi agli amministratori delle aree di lavoro nelle aree di lavoro Catalog di Unity abilitate automaticamente, vedere privilegi di amministratore delle aree di lavoro quando queste sono abilitate automaticamente per Unity Catalog.
Grant privilegi
Per l'accesso a oggetti diversi da quelli elencati nelle sezioni precedenti, un utente con privilegi deve eseguire grant per tale accesso.
Ad esempio, per grant un gruppo la possibilità di creare nuovi schemi in my-catalog
, il proprietario catalog può eseguire quanto segue nell'editor SQL o in un notebook:
GRANT CREATE SCHEMA ON my-catalog TO `data-consumers`;
Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog, l'amministratore dell'area di lavoro è proprietario dell'area di lavoro catalog e può grant la possibilità di creare nuovi schemi:
GRANT CREATE SCHEMA ON <workspace-catalog> TO `data-consumers`;
È anche possibile gestire le autorizzazioni grant e revoke usando Catalog Explorer.
Importante
Non è possibile grant privilegi per i gruppi di users
o admins
locali dell'area di lavoro. Per avere i privilegi grant sui gruppi, questi devono essere gruppi a livello di account.
Per informazioni dettagliate sulla gestione dei privilegi in Unity Catalog, vedere Gestire i privilegi in Unity Catalog.
Passaggio 5: Creare catalogs e nuovi schemi
Per iniziare a usare Unity Catalog, è necessario avere almeno un catalog definito. Catalogs sono l'unità principale per l'isolamento e l'organizzazione dei dati in Unity Catalog. Tutti gli schemi e tables si trovano in catalogs, così come volumes, viewse i modelli.
Alcuni spazi di lavoro non hanno provisioning automatico catalog. Per usare Unity Catalog, un amministratore dello spazio di lavoro deve creare il primo catalog per tali spazi di lavoro.
Altre aree di lavoro hanno accesso a un catalog con provisioning preliminare, a cui gli utenti possono accedere per iniziare le get (sia l'area di lavoro catalog sia l'main
catalog, a seconda della modalità di abilitazione dell'area di lavoro per Unity Catalog). Man mano che si aggiungono altri asset di dati e intelligenza artificiale in Azure Databricks, è possibile creare altri catalogs per raggruppare tali asset in modo da semplificare la governance logica dei dati.
Per consigli su come usare catalogs e schemi per organizzare i dati e gli asset di intelligenza artificiale, vedere Unity Catalog procedure consigliate.
Come amministratore del metastore, amministratore dell'area di lavoro (solo aree di lavoro abilitate automaticamente) o altro utente con il privilegio CREATE CATALOG
, è possibile creare nuovi catalogs nel metastore. Quando si esegue questa operazione, è necessario:
Creare di archiviazione gestita per il nuovo catalog.
L'archiviazione gestita è una posizione di archiviazione dedicata nell'account Azure per i tables gestiti e i volumesgestiti. È possibile assegnare l'archiviazione gestita al metastore, a catalogse agli schemi. Quando un utente crea un table, i dati vengono archiviati nella posizione di archiviazione più inferiore nella gerarchia. Ad esempio, se viene definita una posizione di archiviazione per il metastore e catalog ma non per il schema, i dati vengono archiviati nella posizione definita per l'catalog.
Databricks consiglia di assegnare l'archiviazione gestita a livello di catalog, perché catalogs in genere rappresentano unità logiche di isolamento dei dati. Se hai familiarità con i dati in più catalogs che condividono la stessa posizione di archiviazione, puoi impostare come predefinita la posizione di archiviazione a livello di metastore. Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog, per impostazione predefinita non è disponibile alcuna risorsa di archiviazione a livello di metastore. Un amministratore dell'account ha la possibilità di configurare l'archiviazione a livello di metastore. Vedere Specificare un percorso di archiviazione gestito in Unity Catalog e Aggiungere archiviazione gestita a un metastore esistente.
L'assegnazione dell'archiviazione gestita a un catalog richiede il fatto che si crei:
- Delle credenziali di archiviazione.
- Una posizione esterna che faccia riferimento alle credenziali di archiviazione.
Per un'introduzione a questi oggetti e istruzioni per la creazione di questi oggetti, vedere Connettersi all'archiviazione di oggetti cloud e ai servizi usando Unity Catalog.
Associare il nuovo catalog al proprio workspace se si desidera limit l'accesso da altri workspace che condividono lo stesso metastore.
Grant privilegi su l'catalog.
Per istruzioni dettagliate, vedere Creare catalogs.
Catalog esempio di creazione
Nell'esempio seguente viene illustrata la creazione di un catalog con l'archiviazione gestita, seguita dalla concessione del privilegio SELECT
al catalog:
CREATE CATALOG IF NOT EXISTS mycatalog
MANAGED LOCATION 'abfss://mycontainer@<myaccount.dfs.core.windows.net//depts/finance';
GRANT SELECT ON mycatalog TO `finance-team`;
Per altri esempi, incluse istruzioni per creare catalogs tramite Esplora Catalog, vedere Creare catalogs.
Creare un schema
Gli schemi rappresentano raggruppamenti più granulari ,ad esempio reparti o progetti, rispetto a catalogs. Tutti gli oggetti tables e altri Catalog Unity nel catalog sono contenuti negli schemi. Come proprietario di un nuovo catalog, potrebbe voler creare gli schemi nel catalog. È tuttavia consigliabile delegare la possibilità di creare schemi ad altri utenti assegnando loro il privilegio CREATE SCHEMA
per l'catalog.
Per istruzioni dettagliate, vedere Creare schemi.
(Facoltativo) Assegnare il ruolo di amministratore del metastore
Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog, di default non viene assegnato alcun ruolo di amministratore del metastore. Gli amministratori di metastore hanno alcuni privilegi che gli amministratori dell'area di lavoro non hanno.
Se necessario, è possibile assegnare un amministratore del metastore:
Modificare la proprietà di catalogs dopo che qualcuno lascia l'azienda.
Gestire e delegare le autorizzazioni sull'elenco di elementi consentiti di file jar e script init.
Delegare la possibilità di creare catalogs e altre autorizzazioni di primo livello agli amministratori al di fuori dell'area di lavoro.
Ricevere dati condivisi tramite la condivisione delta.
Usare clean room.
Remove autorizzazioni di amministratore dell'area di lavoro predefinite.
Aggiungere l'archiviazione gestita al metastore, se non è presente. Vedere Aggiungere l'archiviazione gestita a un metastore esistente.
Per informazioni dettagliate sul ruolo di amministratore del metastore e istruzioni per assegnarlo, vedere Assegnare un amministratore del metastore.
Aggiornare tables nel metastore Hive a Unity Catalogtables
Se l'area di lavoro era operativa prima che venisse abilitata a Unity Catalog, è probabile abbia un metastore Hive che contiene dati che desideri continuare a utilizzare. Databricks consiglia di eseguire la migrazione del tables gestito dal metastore Hive al metastore di Unity Catalog.
Consulta per aggiornare Hive tables e views a Unity Catalog, e . Usa le utilità UCX per aggiornare l'area di lavoro a Unity Catalog,.
(Facoltativo) Continuare a lavorare con il metastore Hive
Se l'area di lavoro dispone di un metastore Hive che contiene dati che si desidera continuare a usare e si sceglie di non seguire la raccomandazione di aggiornare il tables gestito dal metastore Hive al metastore di Unity Catalog metastore, è possibile continuare a usare i dati nel metastore Hive insieme ai dati nel metastore unity Catalog.
Il metastore Hive è rappresentato nelle interfacce Unity Catalog come una catalog denominata hive_metastore
. Per continuare a usare i dati nel metastore Hive senza having per update query per specificare il hive_metastore
catalog, è possibile set l'catalog predefinita dell'area di lavoro per hive_metastore
. Vedi Gestisci il catalogpredefinito.
A seconda del momento in cui l'area di lavoro è stata abilitata per Unity Catalog, il catalog predefinito potrebbe essere già hive_metastore
.
(Facoltativo) Creare un archivio a livello di metastore
Anche se Databricks consiglia di creare un percorso di archiviazione gestito separato per ogni catalog nel metastore (ed è possibile eseguire le stesse operazioni per gli schemi), è possibile scegliere di creare una posizione gestita a livello di metastore e usarla come risorsa di archiviazione per più schemi e catalogs.
Se si vuole un'archiviazione a livello di metastore, è necessario assegnare anche un amministratore del metastore. Vedere (Facoltativo) Assegnare il ruolo di amministratore del metastore.
L'archiviazione a livello di metastore è necessaria solo se si usa un'integrazione del prodotto partner Databricks che si basa su percorsi di gestione temporanea personali (deprecati).
Per altre informazioni sulla gerarchia delle posizioni di archiviazione gestita, vedere Dati separati fisicamente nell'archiviazione.
Per sapere come aggiungere uno storage a livello di metastore a metastores che non ne hanno, vedere Aggiungere uno storage gestito a un metastore esistente.
Nota
La maggior parte delle aree di lavoro abilitate per Unity Catalog prima del 9 novembre 2023 ha una radice di archiviazione a livello di metastore.
Passaggi successivi
- Avvia un tutorial rapido per creare il tuo primo table in Unity Catalog: Tutorial su : crea il tuo primo table e i privilegi di grant
- Altre informazioni su Unity Catalog: Che cos'è Unity Catalog?
- Apprendi le migliori pratiche per l'uso di Unity Catalog: migliori pratiche per Unity Catalog
- Scopri come grant e revoke: Gestire i privilegi in Unity Catalog
- Informazioni su come creare tables
- Informazioni su come aggiornare tables Hive a Unity Catalog
- Installare la CLI di Databricks: Che cos'è la CLI di Databricks?