Creare e gestire schemi (database)

Questo articolo illustra come creare e gestire schemi (database) nel catalogo Unity. Uno schema contiene tabelle, viste, volumi, modelli e funzioni. Gli schemi vengono creati all'interno dei cataloghi.

Requisiti

  • È necessario disporre di un metastore del catalogo Unity collegato all'area di lavoro in cui si esegue la creazione dello schema.

  • È necessario disporre delle autorizzazioni per i USE CATALOG dati e CREATE SCHEMAnel catalogo padre dello schema. Un amministratore del metastore o il proprietario del catalogo può concedere questi privilegi. Gli amministratori del metastore possono concedere questi privilegi a se stessi.

  • Il cluster usato per eseguire un notebook per creare uno schema deve usare una modalità di accesso conforme al catalogo unity. Vedere Modalità di accesso.

    I warehouse SQL supportano sempre il catalogo Unity.

Creare uno schema

Per creare uno schema, è possibile usare Esplora cataloghi o comandi SQL.

Esplora cataloghi

  1. Accedere a un'area di lavoro collegata al metastore.
  2. Fare clic su Icona catalogoCatalogo.
  3. Nel riquadro Catalogo a sinistra fare clic sul catalogo in cui si vuole creare lo schema.
  4. Nel riquadro dei dettagli fare clic su Crea schema.
  5. Assegnare allo schema un nome e aggiungere qualsiasi commento che consenta agli utenti di comprendere lo scopo dello schema.
  6. (Facoltativo) Specificare un percorso di archiviazione gestito. Richiede il CREATE MANAGED STORAGE privilegio per la posizione esterna di destinazione. Vedere Specificare un percorso di archiviazione gestito nel catalogo unity.
  7. Fai clic su Crea.
  8. Assegnare le autorizzazioni per il catalogo. Vedere Privilegi del catalogo Unity e oggetti a protezione diretta.
  9. Fare clic su Salva.

Sql

  1. Eseguire i comandi SQL seguenti in un notebook o in un editor SQL di Databricks. Gli elementi tra parentesi quadre sono facoltativi. Puoi usare entrambi SCHEMA o DATABASE. Sostituire i valori segnaposto:

    • <catalog-name>: nome del catalogo padre per lo schema.
    • <schema-name>: nome dello schema.
    • <location-path>: facoltativo. Richiede privilegi aggiuntivi. Vedere Specificare un percorso di archiviazione gestito nel catalogo unity.
    • <comment>: Descrizione facoltativa o altro commento.
    • <property-key> = <property-value> [ , ... ]: facoltativo. Proprietà e valori di Spark SQL da impostare per lo schema.

    Per le descrizioni dei parametri, vedere CREATE SCHEMA.

    USE CATALOG <catalog>;
    CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] <schema-name>
        [ MANAGED LOCATION '<location-path>' ]
        [ COMMENT <comment> ]
        [ WITH DBPROPERTIES ( <property-key = property_value [ , ... ]> ) ];
    

    Facoltativamente, è possibile omettere l'istruzione USE CATALOG e sostituire <schema-name> con <catalog-name>.<schema-name>.

  2. Assegnare privilegi allo schema. Vedere Privilegi del catalogo Unity e oggetti a protezione diretta.

È anche possibile creare uno schema usando il provider Databricks Terraform e databricks_schema. È possibile recuperare un elenco di ID schema usando databricks_schemas

Eliminare uno schema

Per eliminare (o eliminare) uno schema, è possibile usare Esplora cataloghi o un comando SQL. Per eliminare uno schema, è necessario essere il proprietario.

Esplora cataloghi

È necessario eliminare tutte le tabelle nello schema prima di poterle eliminare.

  1. Accedere a un'area di lavoro collegata al metastore.
  2. Fare clic su Icona catalogoCatalogo.
  3. Nel riquadro Catalogo, a sinistra, fare clic sullo schema da eliminare.
  4. Nel riquadro dei dettagli fare clic sul menu a tre punti nell'angolo in alto a destra e selezionare Elimina.
  5. Nella finestra di dialogo Elimina schema fare clic su Elimina.

Sql

Eseguire il comando SQL seguente in un notebook o in un editor SQL di Databricks. Gli elementi tra parentesi quadre sono facoltativi. Sostituire il segnaposto <schema-name>.

Per le descrizioni dei parametri, vedere DROP SCHEMA.

Se si usa DROP SCHEMA senza l'opzione CASCADE , è necessario eliminare tutte le tabelle nello schema prima di poterle eliminare.

DROP SCHEMA [ IF EXISTS ] <schema-name> [ RESTRICT | CASCADE ]

Ad esempio, per eliminare uno schema denominato inventory_schema e le relative tabelle:

DROP SCHEMA inventory_schema CASCADE

Passaggi successivi

È ora possibile aggiungere tabelle o volumi allo schema. Vedere Creare tabelle in Unity Catalog e Creare e usare volumi.