Creare cataloghi
Questo articolo illustra come creare cataloghi in Unity Catalog. Un catalogo contiene schemi (database) e uno schema contiene tabelle, viste, volumi, modelli e funzioni.
Per altre informazioni sui cataloghi, vedere Che cosa sono i cataloghi in Azure Databricks?.
Nota
Per informazioni su come creare un catalogo esterno, un oggetto Catalogo Unity che esegue il mirroring di un database in un sistema dati esterno, vedere Creare un catalogo esterno. Vedere anche Gestire e usare cataloghi stranieri.
Requisiti
Per creare un catalogo, indipendentemente dal tipo di catalogo:
- È necessario essere un amministratore del metastore di Azure Databricks o avere il privilegio per
CREATE CATALOG
il metastore. - La risorsa di calcolo usata per eseguire un notebook per creare un catalogo deve trovarsi in Databricks Runtime 11.3 o versione successiva e deve usare una modalità di accesso conforme a Unity Catalog. Vedere Modalità di accesso usata. I warehouse SQL supportano sempre il catalogo Unity.
Per creare un catalogo condiviso:
- La condivisione di condivisione Delta deve esistere già nell'area di lavoro. Vedere Ricerca per categorie rendere disponibili i dati condivisi al team?
- È necessario essere un amministratore del metastore, avere il
USE PROVIDER
privilegio per il metastore o possedere l'oggetto provider che include la condivisione.
Per creare un catalogo standard:
- Se si specifica un percorso di archiviazione gestito per il catalogo, è necessario disporre del privilegio per
CREATE MANAGED STORAGE
la posizione esterna di destinazione. - Se non esiste alcuna risorsa di archiviazione gestita a livello di metastore, è necessario specificare un percorso di archiviazione gestito per il catalogo.
Per creare un catalogo esterno:
- È necessario essere il proprietario della connessione utilizzata per creare il catalogo esterno o avere il
CREATE FOREIGN CATALOG
privilegio per la connessione. - È necessario usare il calcolo in Databricks Runtime 13.1 o versione successiva. I warehouse SQL devono essere Pro o Serverless.
Creare un catalogo
Per creare un catalogo, è possibile usare Esplora cataloghi, un comando SQL, l'API REST, l'interfaccia della riga di comando di Databricks o Terraform. Quando si crea un catalogo, vengono creati default
automaticamente due schemi (database): e information_schema
.
Esplora cataloghi
Accedere a un'area di lavoro collegata al metastore.
Fare clic su Catalogo.
Fare clic sul pulsante Crea catalogo .
Nella finestra di dialogo Crea un nuovo catalogo immettere un nome catalogo e selezionare il tipo di catalogo da creare:
- Catalogo standard : un oggetto a protezione diretta che organizza i dati e gli asset di intelligenza artificiale gestiti da Unity Catalog. Per tutti i casi d'uso, ad eccezione della federazione lakehouse e dei cataloghi creati da condivisioni delta sharing.
- Catalogo esterno : oggetto a protezione diretta che esegue il mirroring di un database in un sistema dati esterno tramite Lakehouse Federation. Vedere Panoramica della configurazione di Lakehouse Federation.
- Catalogo condiviso: un oggetto a protezione diretta che organizza i dati e altri asset condivisi con l'utente come condivisione delta. La creazione di un catalogo da una condivisione rende tali asset disponibili per gli utenti dell'area di lavoro da leggere. Vedere Che cos'è una condivisione?.
A seconda del tipo di catalogo, specificare le opzioni seguenti:
Per i cataloghi standard: è facoltativo ma fortemente consigliato specificare un percorso di archiviazione gestito. È necessario avere il
CREATE MANAGED STORAGE
privilegio per la posizione esterna di destinazione usata come posizione di archiviazione gestita. Vedere Specificare un percorso di archiviazione gestito nel catalogo unity.Facoltativamente, è possibile specificare un sottopercorso di una posizione esterna definita. Se non è stata definita una posizione esterna, è possibile crearne una facendo clic su Crea una nuova posizione esterna.
Importante
Se l'area di lavoro non dispone di una posizione di archiviazione a livello di metastore, è necessario specificare un percorso di archiviazione gestito quando si crea un catalogo.
Per i cataloghi esterni: è necessario selezionare una connessione, ovvero un oggetto a protezione diretta in Unity Catalog che specifica un percorso e le credenziali per l'accesso a un sistema di database esterno. Vedere Panoramica della configurazione di Lakehouse Federation.
Dopo aver selezionato la connessione, immettere il nome del database o di un altro catalogo di Databricks che si vuole eseguire il mirroring.
I requisiti variano a seconda dell'origine dati:
- MySQL usa uno spazio dei nomi a due livelli e pertanto non richiede un nome di database.
- Per le connessioni a un catalogo in un'altra area di lavoro di Databricks, immettere il nome del catalogo di Databricks anziché un nome di database.
Se non si dispone di una connessione definita, è possibile crearne una facendo clic su Crea una nuova connessione.
Per i cataloghi condivisi: è necessario selezionare un provider e una condivisione. Dopo aver selezionato il provider, è possibile selezionare una delle condivisioni del provider.
Se non si è certi del provider e della condivisione desiderata, potrebbe risultare più semplice esplorare o cercare provider e condivisioni usando il browser Esplora cataloghi. Vedere Visualizzare i provider e Visualizzare le condivisioni condivise da un provider.
Cliccare su Crea.
Nella finestra di dialogo Catalogo creato fare clic su Visualizza catalogo per accettare il catalogo come configurato automaticamente oppure fare clic su Configura catalogo (scelta consigliata) per configurare le autorizzazioni del catalogo, le associazioni dell'area di lavoro e i metadati.
Se si fa clic su Visualizza catalogo, il catalogo sarà accessibile a tutte le aree di lavoro collegate al metastore e il
BROWSE
privilegio verrà concesso a tutti gli utenti dell'account. È possibile ignorare il resto dei passaggi di questa procedura e procedere con l'aggiunta di schemi al catalogo. Vedere Creare schemi.È possibile tornare alla pagina dei dettagli del catalogo in Esplora cataloghi in qualsiasi momento per aggiornare il proprietario, i tag, i commenti, le associazioni dell'area di lavoro, le autorizzazioni e gli schemi.
Nella pagina Configura aree di lavoro del catalogo > specificare l'area di lavoro a cui è associato il catalogo.
Per impostazione predefinita, il catalogo viene condiviso con tutte le aree di lavoro collegate al metastore corrente. Se il catalogo conterrà dati che devono essere limitati a aree di lavoro specifiche, deselezionare l'opzione Tutte le aree di lavoro con accesso e usare il pulsante Assegna alle aree di lavoro per aggiungere tali aree di lavoro. L'area di lavoro corrente deve essere inclusa.
Dopo aver assegnato un'area di lavoro, è possibile modificare facoltativamente il livello di accesso predefinito Lettura e scrittura in Sola lettura: selezionare l'area di lavoro dall'elenco e fare clic sul pulsante Gestisci livello di accesso.
Per altre informazioni, vedere Limitare l'accesso al catalogo ad aree di lavoro specifiche.
Fare clic su Avanti per assegnare le autorizzazioni per il catalogo.
Tutti gli utenti dell'account hanno il
BROWSE
privilegio per impostazione predefinita, consentendo loro di individuare i metadati del catalogo senza avere accesso in lettura ai dati.Per concedere un privilegio a un utente, a un gruppo o a un'entità servizio, fare clic su Concedi e seguire le istruzioni in Privilegi del catalogo Unity e oggetti a protezione diretta.
Fare clic su Avanti per aggiungere i metadati dei tag e dei commenti facoltativi.
I tag sono coppie chiave-valore che è possibile usare per organizzare e classificare i cataloghi per semplificare la ricerca e l'individuazione degli asset di dati. I valori sono facoltativi. Vedere Applicare tag a oggetti a protezione diretta del catalogo Unity.
Un commento è un campo aperto che viene spesso usato per fornire una descrizione per consentire agli utenti di individuare gli asset di dati nel catalogo. Vedere Aggiungere commenti ai dati e agli asset IA.
Fare clic su Salva.
Aggiungere schemi e oggetti dati al catalogo.
Vedere Creare schemi.
È possibile usare Esplora cataloghi per aggiornare il proprietario, i tag, i commenti, le associazioni dell'area di lavoro e le autorizzazioni in qualsiasi momento dopo aver creato il catalogo.
SQL
Per creare un catalogo standard, eseguire il comando SQL seguente in un notebook o in un editor di query SQL. Gli elementi tra parentesi sono facoltativi. Sostituire i valori segnaposto;
<catalog-name>
: nome del catalogo.<location-path>
: facoltativo ma fortemente consigliato. Specificare un percorso di archiviazione se si desidera che le tabelle gestite in questo catalogo vengano archiviate in un percorso diverso rispetto all'archiviazione radice predefinita configurata per il metastore.Importante
Se l'area di lavoro non dispone di una posizione di archiviazione a livello di metastore, è necessario specificare un percorso di archiviazione gestito quando si crea un catalogo.
Questo percorso deve essere definito in una configurazione del percorso esterno ed è necessario avere il
CREATE MANAGED STORAGE
privilegio per la configurazione della posizione esterna. È possibile usare il percorso definito nella configurazione della posizione esterna o un sottopercorso (in altre parole,'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
o'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance/product'
).<comment>
: Descrizione facoltativa o altro commento.
CREATE CATALOG [ IF NOT EXISTS ] <catalog-name>
[ MANAGED LOCATION '<location-path>' ]
[ COMMENT <comment> ];
Ad esempio, per creare un catalogo denominato example
:
CREATE CATALOG IF NOT EXISTS example;
Per creare un catalogo condiviso, eseguire il comando seguente in un notebook o in un editor di query SQL. Gli elementi tra parentesi sono facoltativi.
CREATE CATALOG [IF NOT EXISTS] <catalog-name>
USING SHARE <provider-name>.<share-name>;
[ COMMENT <comment> ];
Per creare un catalogo esterno, eseguire il comando seguente in un notebook o in un editor di query SQL. Gli elementi tra parentesi sono facoltativi. Sostituire i valori segnaposto;
<catalog-name>
: nome del catalogo in Azure Databricks.<connection-name>
: oggetto connessione che specifica l'origine dati, il percorso e le credenziali di accesso.<database-name>
: nome del database di cui si vuole eseguire il mirroring come catalogo in Azure Databricks. Non obbligatorio per MySQL, che usa uno spazio dei nomi a due livelli. Per la federazione di Databricks-to-Databricks Lakehouse, usarecatalog '<external-catalog-name>'
invece .<external-catalog-name>
: solo da Databricks a Databricks : nome del catalogo nell'area di lavoro di Databricks esterna di cui si esegue il mirroring. Vedere Eseguire query federate in un'altra area di lavoro di Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS [(database '<database-name>') | (catalog '<external-catalog-name>')];
Vedere anche Creare un catalogo esterno.
Per limitare l'accesso al catalogo a aree di lavoro specifiche nell'account, noto anche come associazione del catalogo dell'area di lavoro, vedere Limitare l'accesso al catalogo a aree di lavoro specifiche.
Per descrizioni dettagliate dei parametri, vedere CREATE CATALOG.
Dopo aver creato il catalogo, assegnare privilegi al catalogo. Vedere Privilegi del catalogo Unity e oggetti a protezione diretta.
Altro
Terraform: è possibile creare un catalogo usando il provider Databricks Terraform e databricks_catalog. È possibile recuperare informazioni sui cataloghi usando databricks_catalogs.
API REST: usare POST /api/2.1/unity-catalog/catalogs.
Interfaccia della riga di comando di Databricks: databricks catalogs create <catalog-name> [options]
per un elenco di opzioni, eseguire databricks catalogs create -h
. Le opzioni sono descritte anche nelle informazioni di riferimento sulle API. Seguire il collegamento API nel paragrafo precedente.
Dopo aver creato il catalogo, assegnare privilegi al catalogo. Vedere Privilegi del catalogo Unity e oggetti a protezione diretta.