Creare e gestire condivisioni per la condivisione Delta
Questo articolo illustra come creare e gestire condivisioni per la condivisione delta.
Una condivisione è un oggetto a protezione diretta in Unity Catalog che è possibile usare per condividere gli asset di dati seguenti con uno o più destinatari:
- Tabelle e partizioni di tabella
- Visualizzazioni, incluse le visualizzazioni dinamiche che limitano l'accesso a livello di riga e colonna
- Volumi
- Notebook
- Modelli di intelligenza artificiale
Se si condivide un intero schema (database), il destinatario può accedere a tutte le tabelle, le viste, i modelli e i volumi nello schema al momento in cui vengono condivisi, insieme a tutti gli asset di dati e intelligenza artificiale aggiunti allo schema in futuro.
Una condivisione può contenere dati e asset di intelligenza artificiale da un solo metastore di Unity Catalog. È possibile aggiungere o rimuovere i dati e gli asset di intelligenza artificiale da una condivisione in qualsiasi momento.
Per altre informazioni, vedere Condivisioni, provider e destinatari.
Requisiti
Per creare una condivisione, è necessario:
- Essere un amministratore del metastore o avere il
CREATE SHARE
privilegio per il metastore di Unity Catalog in cui sono registrati i dati da condividere. - Creare la condivisione usando un'area di lavoro di Azure Databricks con il metastore di Unity Catalog collegato.
Per aggiungere tabelle o viste a una condivisione, è necessario:
- Essere il proprietario della condivisione.
- Disporre dei
USE CATALOG
privilegi eUSE SCHEMA
nel catalogo e nello schema che contengono la tabella o la vista o la proprietà del catalogo o dello schema. - Disporre del
SELECT
privilegio per la tabella o la vista. È necessario mantenere tale privilegio affinché la tabella o la vista continui a essere condivisa. Se si perde, il destinatario non può accedere alla tabella o alla vista tramite la condivisione. Databricks consiglia quindi di usare un gruppo come proprietario della condivisione.
Per aggiungere volumi a una condivisione, è necessario:
- Essere il proprietario della condivisione.
- Disporre dei
USE CATALOG
privilegi eUSE SCHEMA
del catalogo e dello schema che contengono il volume o la proprietà del catalogo o dello schema. - Disporre del
READ VOLUME
privilegio per il volume. È necessario mantenere tale privilegio affinché il volume continui a essere condiviso. Se si perde, il destinatario non può accedere al volume tramite la condivisione. Databricks consiglia quindi di usare un gruppo come proprietario della condivisione.
Per aggiungere modelli a una condivisione, è necessario:
- Essere il proprietario della condivisione.
- Disporre dei
USE CATALOG
privilegi eUSE SCHEMA
del catalogo e dello schema che contengono il modello o la proprietà del catalogo o dello schema. - Avere il
EXECUTE
privilegio per il modello. È necessario mantenere tale privilegio affinché il modello continui a essere condiviso. Se si perde, il destinatario non può accedere al modello tramite la condivisione. Databricks consiglia quindi di usare un gruppo come proprietario della condivisione.
Per condividere un intero schema, è necessario:
- Essere il proprietario della condivisione e il proprietario dello schema o avere
USE SCHEMA.
- Disporre
SELECT
dello schema per condividere le tabelle. - Disporre
READ VOLUME
dello schema per condividere i volumi.
Per aggiungere file di notebook a una condivisione, è necessario:
- Il proprietario della condivisione e dispone dell'autorizzazione CAN READ per il notebook.
Per concedere al destinatario l'accesso a una condivisione, è necessario essere uno di questi:
- Amministratore metastore.
- L'utente con autorizzazioni delegate o proprietà sia per la condivisione che per gli oggetti destinatario ((
USE SHARE
+SET SHARE PERMISSION
) o il proprietario della condivisione) AND (USE RECIPIENT
o il proprietario del destinatario).
Per visualizzare le condivisioni, è necessario essere uno di questi:
- Un amministratore del metastore (può visualizzare tutti)
- Un utente con privilegi
USE SHARE
(può visualizzare tutti) - Proprietario dell'oggetto di condivisione
Requisiti di calcolo:
- Se si usa un notebook di Databricks per creare la condivisione, il cluster deve usare Databricks Runtime 11.3 LTS o versione successiva e la modalità di accesso al cluster condiviso o utente singolo.
- Se si usano istruzioni SQL per aggiungere uno schema a una condivisione (o aggiornare o rimuovere uno schema), è necessario usare un'istanza di SQL Warehouse o un calcolo che esegue Databricks Runtime 13.3 LTS o versione successiva. Per eseguire la stessa operazione con Esplora cataloghi non sono previsti requisiti di calcolo.
Creare un oggetto di condivisione
Per creare una condivisione, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il CREATE SHARE
comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: amministratore o utente metastore con il CREATE SHARE
privilegio per il metastore.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi da me fare clic sul pulsante Condividi dati .
Nella pagina Crea condivisione immettere il nome della condivisione e un commento facoltativo.
Fare clic su Salva e continua.
È possibile continuare ad aggiungere asset di dati oppure arrestare e tornare in un secondo momento.
Nella scheda Aggiungi asset di dati selezionare le tabelle, i volumi, le visualizzazioni e i modelli da condividere.
Per istruzioni dettagliate, vedere:
Fare clic su Salva e continua.
Nella scheda Aggiungi notebook selezionare i notebook da condividere.
Per istruzioni dettagliate, vedere Aggiungere file di notebook a una condivisione.
Fare clic su Salva e continua.
Nella scheda Aggiungi destinatari selezionare i destinatari con cui si vuole condividere.
Per istruzioni dettagliate, vedere Gestire l'accesso alle condivisioni dati di condivisione differenziale (per i provider).
Fare clic su Condividi dati per condividere i dati con i destinatari.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks:
CREATE SHARE [IF NOT EXISTS] <share-name>
[COMMENT "<comment>"];
È ora possibile aggiungere tabelle, volumi, viste e modelli alla condivisione.
Per istruzioni dettagliate, vedere:
- Aggiungere tabelle a una condivisione
- Aggiungere volumi a una condivisione
- Aggiungere visualizzazioni a una condivisione
- Aggiungere modelli a una condivisione
CLI
Eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks.
databricks shares create <share-name>
È possibile usare --comment
per aggiungere un commento o --json
per aggiungere asset alla condivisione. Per informazioni dettagliate, vedere le sezioni seguenti.
È ora possibile aggiungere tabelle, volumi, viste e modelli alla condivisione.
Per istruzioni dettagliate, vedere:
- Aggiungere tabelle a una condivisione
- Aggiungere volumi a una condivisione
- Aggiungere visualizzazioni a una condivisione
- Aggiungere modelli a una condivisione
Aggiungere tabelle a una condivisione
Per aggiungere tabelle a una condivisione, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o i comandi SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Nota
I commenti delle tabelle, i commenti di colonna e i vincoli di chiave primaria sono inclusi nelle condivisioni condivise con un destinatario che usa la condivisione da Databricks a Databricks il 25 luglio 2024. Se si desidera iniziare a condividere commenti e vincoli tramite una condivisione condivisa con un destinatario prima della data di rilascio, è necessario revocare e concedere di nuovo l'accesso del destinatario per attivare la condivisione di commenti e vincoli.
Autorizzazioni necessarie: proprietario dell'oggetto USE CATALOG
condivisione e USE SCHEMA
nel catalogo e nello schema che contengono la tabella e il SELECT
privilegio nella tabella. È necessario mantenere il SELECT
privilegio finché si desidera condividere la tabella. Per altre informazioni, vedere Requisiti.
Nota
Se si è un amministratore dell'area di lavoro e si sono ereditate le USE SCHEMA
autorizzazioni e USE CATALOG
per lo schema e il catalogo che contengono la tabella dal gruppo di amministrazione dell'area di lavoro, non è possibile aggiungere la tabella a una condivisione. È prima necessario concedere a se stessi le USE SCHEMA
autorizzazioni e USE CATALOG
per lo schema e il catalogo.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi dall'utente corrente individuare la condivisione a cui si vuole aggiungere una tabella e fare clic sul relativo nome.
Fare clic su Gestisci asset Aggiungi asset >di dati.
Nella pagina Aggiungi tabelle selezionare un intero schema (database) o singole tabelle e viste.
Per selezionare una tabella o una vista, selezionare prima il catalogo, quindi lo schema che contiene la tabella o la vista, quindi la tabella o la vista stessa.
È possibile cercare tabelle in base al nome, al nome della colonna o al commento usando la ricerca nell'area di lavoro. Vedere Cercare oggetti dell'area di lavoro.
Per selezionare uno schema, selezionare prima il catalogo e quindi lo schema.
Per informazioni dettagliate sulla condivisione degli schemi, vedere Aggiungere schemi a una condivisione.
(Facoltativo) Fare clic su Opzioni avanzate tabella per specificare le opzioni seguenti. Alias e partizioni non sono disponibili se si seleziona un intero schema. La cronologia delle tabelle è inclusa per impostazione predefinita se si seleziona un intero schema.
Alias: un nome di tabella alternativo per rendere il nome della tabella più leggibile. L'alias è il nome della tabella visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono utilizzare il nome effettivo della tabella se viene specificato un alias.
Partizione: condividere solo parte della tabella. Ad esempio:
(column = 'value')
. Vedere Specificare partizioni di tabella da condividere e Usare le proprietà del destinatario per eseguire il filtro delle partizioni.Condivisione cronologia: condividere la cronologia delle tabelle per consentire ai destinatari di eseguire query di spostamento del tempo o leggere la tabella con Spark Structured Streaming. Richiede Databricks Runtime 12.2 LTS o versione successiva.
Nota
Se, oltre a eseguire query di spostamento del tempo e letture in streaming, si vuole che i clienti possano eseguire query sul feed di dati delle modifiche di una tabella usando la funzione table_changes(), è necessario abilitare CDF nella tabella prima di condividerla
WITH HISTORY
.
Fare clic su Salva.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks per aggiungere una tabella:
ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name> [COMMENT "<comment>"]
[PARTITION(<clause>)] [AS <alias>]
[WITH HISTORY | WITHOUT HISTORY];
Eseguire il comando seguente per aggiungere un intero schema. Il ADD SCHEMA
comando richiede un'istanza di SQL Warehouse o un ambiente di calcolo che esegue Databricks Runtime 13.3 LTS o versione successiva. Per informazioni dettagliate sulla condivisione degli schemi, vedere Aggiungere schemi a una condivisione.
ALTER SHARE <share-name> ADD SCHEMA <catalog-name>.<schema-name>
[COMMENT "<comment>"];
Le opzioni includono quanto segue. PARTITION
e AS <alias>
non sono disponibili se si seleziona un intero schema. WITH HISTORY
è selezionata per impostazione predefinita per tutte le tabelle se si seleziona un intero schema.
PARTITION(<clause>)
: se si desidera condividere solo una parte della tabella, è possibile specificare una partizione. Ad esempio,(column = 'value')
vedere Specificare partizioni di tabella da condividere e Usare le proprietà del destinatario per eseguire il filtro delle partizioni.AS <alias>
: nome di tabella alternativo o Alias per rendere il nome della tabella più leggibile. L'alias è il nome della tabella visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono utilizzare il nome effettivo della tabella se viene specificato un alias. Usare il formato<schema-name>.<table-name>
.WITH HISTORY
oWITHOUT HISTORY
: quandoWITH HISTORY
viene specificato, condividere la tabella con la cronologia completa, consentendo ai destinatari di eseguire query di spostamento del tempo e letture in streaming. Il comportamento predefinito per la condivisione di tabelle èWITHOUT HISTORY
e per la condivisione dello schema èWITH HISTORY
. Richiede Databricks Runtime 12.2 LTS o versione successiva.Nota
Se, oltre a eseguire query di spostamento del tempo e letture in streaming, si vuole che i clienti possano eseguire query sul feed di dati delle modifiche di una tabella usando la funzione table_changes(), è necessario abilitare CDF nella tabella prima di condividerla
WITH HISTORY
.
Per altre informazioni sulle ALTER SHARE
opzioni, vedere ALTER SHARE.
CLI
Per aggiungere una tabella, eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks.
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
Per aggiungere uno schema, eseguire il comando dell'interfaccia della riga di comando di Databricks seguente:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<schema-full-name>",
"data_object_type": "SCHEMA"
}
}
]
}'
Nota
Per le tabelle e solo le tabelle, è possibile omettere "data_object_type"
.
Per informazioni sulle opzioni elencate in questo esempio, vedere le istruzioni nella scheda SQL.
Per altre informazioni sui parametri aggiuntivi, eseguire databricks shares update --help
o vedere PATCH /api/2.1/unity-catalog/shares/ nelle informazioni di riferimento sull'API REST.
Per informazioni sulla rimozione di tabelle da una condivisione, vedere Aggiornare le condivisioni.
Specificare le partizioni di tabella da condividere
Per condividere solo una parte di una tabella quando si aggiunge la tabella a una condivisione, è possibile specificare una specifica di partizione. È possibile specificare le partizioni quando si aggiunge una tabella a una condivisione o si aggiorna una condivisione usando Esplora cataloghi, l'interfaccia della riga di comando del catalogo Unity di Databricks o i comandi SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks. Vedere Aggiungere tabelle a una condivisione e Aggiornare le condivisioni.
Esempio di base
L'esempio SQL seguente condivide parte dei dati nella inventory
tabella, partizionati dalle year
colonne , month
e date
:
- Dati per l'anno 2021.
- Dati relativi a dicembre 2020.
- Dati relativi al 25 dicembre 2019.
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
(year = "2020", month = "Dec"),
(year = "2019", month = "Dec", date = "2019-12-25");
Usare le proprietà del destinatario per filtrare le partizioni
È possibile condividere una partizione di tabella che corrisponda alle proprietà del destinatario dei dati, note anche come condivisione di partizioni con parametri.
Le proprietà predefinite includono:
databricks.accountId
: account di Azure Databricks a cui appartiene un destinatario di dati (solo condivisione da Databricks a Databricks).databricks.metastoreId
: metastore del catalogo Unity a cui appartiene un destinatario di dati (solo condivisione da Databricks a Databricks).databricks.name
: nome del destinatario dati.
È possibile creare qualsiasi proprietà personalizzata desiderata quando si crea o si aggiorna un destinatario.
Il filtro in base alla proprietà del destinatario consente di condividere le stesse tabelle, usando la stessa condivisione, tra più account, aree di lavoro e utenti di Databricks mantenendo al tempo stesso i limiti dei dati tra di essi.
Ad esempio, se le tabelle includono una colonna ID account Azure Databricks, è possibile creare una singola condivisione con partizioni di tabella definite dall'ID account Azure Databricks. Quando si condivide, la condivisione Delta distribuisce dinamicamente a ogni destinatario solo i dati associati al proprio account Azure Databricks.
Senza la possibilità di partizionare dinamicamente per proprietà, è necessario creare una condivisione separata per ogni destinatario.
Per specificare una partizione che filtra in base alle proprietà dei destinatari quando si crea o si aggiorna una condivisione, è possibile usare Esplora cataloghi o la CURRENT_RECIPIENT
funzione SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks:
Nota
Le proprietà dei destinatari sono disponibili in Databricks Runtime 12.2 e versioni successive.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi da me individuare la condivisione che si vuole aggiornare e fare clic sul nome.
Fare clic su Gestisci asset Aggiungi asset >di dati.
Nella pagina Aggiungi tabelle selezionare il catalogo e il database che contengono la tabella, quindi selezionare la tabella.
Se non si è certi del catalogo e del database che contengono la tabella, è possibile cercarlo in base al nome, al nome della colonna o al commento usando la ricerca nell'area di lavoro. Vedere Cercare oggetti dell'area di lavoro.
(Facoltativo) Fare clic su Opzioni di tabella avanzate per aggiungere specifiche di partizione .
Nella finestra di dialogo Aggiungi partizione a una tabella aggiungere la specifica della partizione basata su proprietà usando la sintassi seguente:
(<column-name> = CURRENT_RECIPIENT().<property-key>)
ad esempio:
(country = CURRENT_RECIPIENT().'country')
Fare clic su Salva.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks:
ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>
PARTITION (<column-name> = CURRENT_RECIPIENT().<property-key>);
ad esempio:
ALTER SHARE acme ADD TABLE acme.default.some_table
PARTITION (country = CURRENT_RECIPIENT().'country');
Aggiungere tabelle con vettori di eliminazione o mapping di colonne a una condivisione
Importante
Questa funzionalità è disponibile in anteprima pubblica.
I vettori di eliminazione sono una funzionalità di ottimizzazione dell'archiviazione che è possibile abilitare nelle tabelle Delta. Vedere Che cosa sono i vettori di eliminazione?.
Azure Databricks supporta anche il mapping delle colonne per le tabelle Delta. Vedere Rinominare ed eliminare colonne con mapping di colonne Delta Lake.
Per condividere una tabella con vettori di eliminazione o mapping di colonne, è necessario condividerla con la cronologia. Vedere Aggiungere tabelle a una condivisione.
Quando si condivide una tabella con vettori di eliminazione o mapping di colonne, i destinatari possono eseguire query sulla tabella usando un data warehouse, un cluster che esegue Databricks Runtime 14.1 o versione successiva o calcolare che esegue open source delta-sharing-spark
3.1 o versione successiva. Vedere Leggere tabelle con vettori di eliminazione o mapping di colonne abilitati e Leggere tabelle con vettori di eliminazione o mapping di colonne abilitati.
Aggiungere visualizzazioni a una condivisione
Importante
Questa funzionalità è disponibile in anteprima pubblica.
Le viste sono oggetti di sola lettura creati da una o più tabelle o altre viste. È possibile creare una vista da tabelle e altre viste contenute in più schemi e cataloghi in un metastore del catalogo Unity. Vedere Creare e gestire le visualizzazioni.
Questa sezione descrive come aggiungere visualizzazioni a una condivisione usando 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. Se si preferisce usare l'API REST del catalogo Unity, vedere PATCH /api/2.1/unity-catalog/shares/ nella guida di riferimento all'API REST.
Autorizzazioni necessarie: proprietario dell'oggetto USE CATALOG
condivisione e USE SCHEMA
nel catalogo e nello schema che contengono la vista e SELECT
nella vista. È necessario mantenere il SELECT
privilegio per tutto il tempo necessario per condividere la visualizzazione. Per altre informazioni, vedere Requisiti.
Requisiti aggiuntivi:
- La condivisione delle visualizzazioni è supportata solo nella condivisione da Databricks a Databricks.
- Le viste condivisibili devono essere definite in tabelle Delta o in altre viste condivisibili.
- Non è possibile condividere viste che fanno riferimento a tabelle condivise o viste condivise.
- È necessario usare un'istanza di SQL Warehouse o un cluster in Databricks Runtime 13.3 LTS o versione successiva quando si aggiunge una visualizzazione a una condivisione.
- Per i requisiti e le limitazioni sull'utilizzo delle visualizzazioni dei destinatari, vedere Leggere le visualizzazioni condivise.
Per aggiungere visualizzazioni a una condivisione:
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi dall'utente corrente individuare la condivisione a cui si vuole aggiungere una visualizzazione e fare clic sul nome.
Fare clic su Gestisci asset Aggiungi asset >di dati.
Nella pagina Aggiungi tabelle cercare o cercare la visualizzazione che si desidera condividere e selezionarla.
(Facoltativo) Fare clic su Opzioni avanzate tabella per specificare un alias o un nome di visualizzazione alternativo per rendere il nome della visualizzazione più leggibile. L'alias è il nome visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo della visualizzazione se è specificato un alias.
Fare clic su Salva.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks:
ALTER SHARE <share-name> ADD VIEW <catalog-name>.<schema-name>.<view-name>
[COMMENT "<comment>"]
[AS <alias>];
Le opzioni includono:
AS <alias>
: un nome di visualizzazione alternativo, o alias, per rendere il nome della visualizzazione più leggibile. L'alias è il nome della visualizzazione visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo della visualizzazione se è specificato un alias. Usare il formato<schema-name>.<view-name>
.COMMENT "<comment>"
: i commenti vengono visualizzati nell'interfaccia utente di Esplora cataloghi e quando si elencano e visualizzano i dettagli usando istruzioni SQL.
Per altre informazioni sulle ALTER SHARE
opzioni, vedere ALTER SHARE.
CLI
Eseguire il comando dell'interfaccia della riga di comando di Databricks seguente:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<view-full-name>",
"data_object_type": "VIEW",
"shared_as": "<view-alias>"
}
}
]
}'
"shared_as": "<view-alias>"
è facoltativo e fornisce un nome di visualizzazione alternativo, o alias, per rendere il nome della visualizzazione più leggibile. L'alias è il nome della visualizzazione visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo della visualizzazione se è specificato un alias. Usare il formato<schema-name>.<view-name>
.
Per altre informazioni sui parametri aggiuntivi, eseguire databricks shares update --help
o vedere PATCH /api/2.1/unity-catalog/shares/ nelle informazioni di riferimento sull'API REST.
Per informazioni sulla rimozione di visualizzazioni da una condivisione, vedere Aggiornare le condivisioni.
Aggiungere visualizzazioni dinamiche a una condivisione per filtrare righe e colonne
Importante
Questa funzionalità è disponibile in anteprima pubblica.
È possibile usare le viste dinamiche per configurare il controllo di accesso con granularità fine ai dati della tabella, tra cui:
- Sicurezza a livello di colonne o righe.
- Maschera dati.
Quando si crea una visualizzazione dinamica che usa la funzione CURRENT_RECIPIENT(), è possibile limitare l'accesso dei destinatari in base alle proprietà specificate nella definizione del destinatario.
In questa sezione vengono forniti esempi di limitazione dell'accesso dei destinatari ai dati della tabella a livello di riga e colonna tramite una visualizzazione dinamica.
Requisiti
- Versione di Databricks Runtime: la
CURRENT_RECIPIENT
funzione è supportata in Databricks Runtime 14.2 e versioni successive. - Autorizzazioni:
- Per creare una vista, è necessario essere il proprietario dell'oggetto condivisione, avere
USE CATALOG
eUSE SCHEMA
nel catalogo e nello schema che contengono la vista, insiemeSELECT
alla vista. È necessario mantenere ilSELECT
privilegio per tutto il tempo necessario per condividere la visualizzazione. - Per impostare le proprietà di un destinatario, è necessario essere il proprietario dell'oggetto destinatario.
- Per creare una vista, è necessario essere il proprietario dell'oggetto condivisione, avere
- Limitazioni: tutte le limitazioni per la condivisione delle visualizzazioni, inclusa la restrizione alla condivisione da Databricks a Databricks, oltre a quanto segue:
- Quando un provider condivide una vista che usa la
CURRENT_RECIPIENT
funzione, il provider non può eseguire query direttamente sulla vista a causa del contesto di condivisione. Per testare una visualizzazione dinamica di questo tipo, il provider deve condividere la vista con se stessi ed eseguire query sulla vista come destinatario. - I provider non possono creare una vista che fa riferimento a una visualizzazione dinamica.
- Quando un provider condivide una vista che usa la
Impostare una proprietà del destinatario
In questi esempi, la tabella da condividere ha una colonna denominata country
e solo i destinatari con una proprietà corrispondente country
possono visualizzare determinate righe o colonne.
È possibile impostare le proprietà dei destinatari usando Esplora cataloghi o i comandi SQL in un notebook di Azure Databricks o nell'editor di query SQL.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Destinatari trovare il destinatario a cui si desidera aggiungere le proprietà e fare clic sul relativo nome.
Fare clic su Modifica proprietà.
Nella finestra di dialogo Modifica proprietà destinatario immettere il nome della colonna come chiave (in questo caso
country
) e il valore da filtrare in base al valore , ad esempioCA
.Fare clic su Salva.
SQL
Per impostare la proprietà sul destinatario, utilizzare ALTER RECIPIENT
. In questo esempio la country
proprietà è impostata su CA
.
ALTER RECIPIENT recipient1 SET PROPERTIES ('country' = 'CA');
Creare una visualizzazione dinamica con l'autorizzazione a livello di riga per i destinatari
In questo esempio solo i destinatari con una proprietà corrispondente country
possono visualizzare determinate righe.
CREATE VIEW my_catalog.default.view1 AS
SELECT * FROM my_catalog.default.my_table
WHERE country = CURRENT_RECIPIENT('country');
Un'altra opzione è che il provider di dati mantenga una tabella di mapping separata che esegue il mapping dei campi della tabella dei fatti alle proprietà dei destinatari, consentendo di separare le proprietà dei destinatari e i campi della tabella dei fatti per una maggiore flessibilità.
Creare una visualizzazione dinamica con l'autorizzazione a livello di colonna per i destinatari
In questo esempio solo i destinatari che corrispondono alla country
proprietà possono visualizzare determinate colonne. Altri visualizzano i dati restituiti come REDACTED
:
CREATE VIEW my_catalog.default.view2 AS
SELECT
CASE
WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
ELSE 'REDACTED'
END AS pii
FROM my_catalog.default.my_table;
Condividere la visualizzazione dinamica con un destinatario
Per condividere la visualizzazione dinamica con un destinatario, usare gli stessi comandi SQL o la stessa procedura dell'interfaccia utente come si farebbe per una visualizzazione standard. Vedere Aggiungere visualizzazioni a una condivisione.
Aggiungere volumi a una condivisione
I volumi sono oggetti catalogo Unity che rappresentano un volume logico di archiviazione in un percorso di archiviazione di oggetti cloud. Sono destinati principalmente a fornire governance su asset di dati non tabulari. Vedere Che cosa sono i volumi del catalogo Unity?.
Questa sezione descrive come aggiungere volumi a una condivisione usando Esplora cataloghi, l'interfaccia della riga di comando di Databricks o i comandi SQL in un notebook di Azure Databricks o un editor di query SQL. Se si preferisce usare l'API REST del catalogo Unity, vedere PATCH /api/2.1/unity-catalog/shares/ nella guida di riferimento all'API REST.
Nota
I commenti dei volumi sono inclusi nelle condivisioni condivise con un destinatario usando la condivisione da Databricks a Databricks il 25 luglio 2024. Se si desidera iniziare a condividere i commenti tramite una condivisione condivisa con un destinatario prima della data di rilascio, è necessario revocare e concedere di nuovo l'accesso del destinatario per attivare la condivisione dei commenti.
Autorizzazioni necessarie: proprietario dell'oggetto USE CATALOG
condivisione e USE SCHEMA
nel catalogo e nello schema che contengono il volume e READ VOLUME
nel volume. È necessario mantenere il READ VOLUME
privilegio per tutto il tempo necessario per condividere il volume. Per altre informazioni, vedere Requisiti.
Requisiti aggiuntivi:
- La condivisione dei volumi è supportata solo nella condivisione da Databricks a Databricks.
- È necessario usare un'istanza di SQL Warehouse nella versione 2023.50 o successiva o in un cluster in Databricks Runtime 14.1 o versione successiva quando si aggiunge un volume a una condivisione.
- Se l'archiviazione del volume sul lato provider dispone di configurazioni di rete personalizzate (ad esempio un firewall o un collegamento privato), il provider deve assicurarsi che il piano di controllo del destinatario e gli indirizzi del piano dati siano correttamente consentiti per potersi connettere al percorso di archiviazione del volume.
Per aggiungere volumi a una condivisione:
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi dall'utente corrente individuare la condivisione a cui si vuole aggiungere un volume e fare clic sul nome.
Fare clic su Gestisci asset Modifica asset>.
Nella pagina Modifica asset cercare o cercare il volume da condividere e selezionarlo.
In alternativa, è possibile selezionare l'intero schema che contiene il volume. Vedere Aggiungere schemi a una condivisione.
(Facoltativo) Fare clic su Opzioni avanzate per specificare un nome di volume alternativo o Alias per rendere il nome del volume più leggibile.
Gli alias non sono disponibili se si seleziona un intero schema.
L'alias è il nome visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo del volume se viene specificato un alias.
Fare clic su Salva.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks:
ALTER SHARE <share-name> ADD VOLUME <catalog-name>.<schema-name>.<volume-name>
[COMMENT "<comment>"]
[AS <alias>];
Le opzioni includono:
AS <alias>
: un nome di volume alternativo, o alias, per rendere il nome del volume più leggibile. L'alias è il nome del volume visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo del volume se viene specificato un alias. Usare il formato<schema-name>.<volume-name>
.COMMENT "<comment>"
: i commenti vengono visualizzati nell'interfaccia utente di Esplora cataloghi e quando si elencano e visualizzano i dettagli del volume usando istruzioni SQL.
Per altre informazioni sulle ALTER SHARE
opzioni, vedere ALTER SHARE.
CLI
Eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks 0.210 o versione successiva:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
"string_shared_as": "<volume-alias>"
è facoltativo e fornisce un nome di volume alternativo, o alias, per rendere il nome del volume più leggibile. L'alias è il nome del volume visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo del volume se viene specificato un alias. Usare il formato<schema-name>.<volume-name>
.
Per altre informazioni sui parametri aggiuntivi, eseguire databricks shares update --help
o vedere PATCH /api/2.1/unity-catalog/shares/ nelle informazioni di riferimento sull'API REST.
Per informazioni sulla rimozione di volumi da una condivisione, vedere Aggiornare le condivisioni.
Aggiungere modelli a una condivisione
Questa sezione descrive come aggiungere modelli a una condivisione usando Esplora cataloghi, l'interfaccia della riga di comando di Databricks o i comandi SQL in un notebook di Azure Databricks o un editor di query SQL. Se si preferisce usare l'API REST del catalogo Unity, vedere PATCH /api/2.1/unity-catalog/shares/ nella guida di riferimento all'API REST.
Nota
I commenti del modello e i commenti sulla versione del modello sono inclusi nelle condivisioni condivise tramite la condivisione da Databricks a Databricks.
Autorizzazioni necessarie: proprietario dell'oggetto USE CATALOG
condivisione e USE SCHEMA
nel catalogo e nello schema che contengono il modello e EXECUTE
nel modello. È necessario mantenere il EXECUTE
privilegio per tutto il tempo necessario per condividere il modello. Per altre informazioni, vedere Requisiti.
Requisiti aggiuntivi:
- La condivisione dei modelli è supportata solo nella condivisione da Databricks a Databricks.
- È necessario usare un'istanza di SQL Warehouse nella versione 2023.50 o successiva o in un cluster in Databricks Runtime 14.0 o versione successiva quando si aggiunge un modello a una condivisione.
Per aggiungere modelli a una condivisione:
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi dall'utente corrente individuare la condivisione a cui si vuole aggiungere un modello e fare clic sul nome.
Fare clic su Gestisci asset Modifica asset>.
Nella pagina Modifica asset cercare o cercare il modello da condividere e selezionarlo.
In alternativa, è possibile selezionare l'intero schema che contiene il modello. Vedere Aggiungere schemi a una condivisione.
(Facoltativo) Fare clic su Opzioni avanzate per specificare un nome di modello alternativo o Alias per rendere il nome del modello più leggibile.
Gli alias non sono disponibili se si seleziona un intero schema.
L'alias è il nome visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo del modello se è specificato un alias.
Fare clic su Salva.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks:
ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<model-name>
[COMMENT "<comment>"]
[AS <alias>];
Le opzioni includono:
AS <alias>
: un nome di modello alternativo, o alias, per rendere il nome del modello più leggibile. L'alias è il nome del modello visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo del modello se è specificato un alias. Usare il formato<schema-name>.<model-name>
.COMMENT "<comment>"
: i commenti vengono visualizzati nell'interfaccia utente di Esplora cataloghi e quando si elencano e visualizzano i dettagli del modello usando istruzioni SQL.
Per altre informazioni sulle ALTER SHARE
opzioni, vedere ALTER SHARE.
CLI
Eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks 0.210 o versione successiva:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<model-full-name>",
"data_object_type": "MODEL",
"string_shared_as": "<model-alias>"
}
}
]
}'
"string_shared_as": "<model-alias>"
è facoltativo e fornisce un nome di modello alternativo, o alias, per rendere il nome del modello più leggibile. L'alias è il nome del modello visualizzato dal destinatario e deve essere usato nelle query. I destinatari non possono usare il nome effettivo del modello se è specificato un alias. Usare il formato<schema-name>.<model-name>
.
Per altre informazioni sui parametri aggiuntivi, eseguire databricks shares update --help
o vedere PATCH /api/2.1/unity-catalog/shares/ nelle informazioni di riferimento sull'API REST.
Per informazioni sulla rimozione di modelli da una condivisione, vedere Aggiornare le condivisioni.
Aggiungere schemi a una condivisione
Quando si aggiunge un intero schema a una condivisione, i destinatari avranno accesso non solo a tutti gli asset di dati nello schema al momento della creazione della condivisione, ma a tutti gli asset aggiunti allo schema nel corso del tempo. Sono incluse tutte le tabelle, le viste e i volumi nello schema. Le tabelle condivise in questo modo includono sempre la cronologia completa.
L'aggiunta, l'aggiornamento o la rimozione di uno schema tramite SQL richiede un'istanza di SQL Warehouse o un ambiente di calcolo che esegue Databricks Runtime 13.3 LTS o versione successiva. Per eseguire la stessa operazione con Esplora cataloghi non sono previsti requisiti di calcolo.
Autorizzazioni necessarie: proprietario dell'oggetto condivisione e proprietario dello schema (o di un utente con USE SCHEMA
privilegi e SELECT
per lo schema).
Per aggiungere uno schema a una condivisione, seguire le istruzioni riportate in Aggiungere tabelle a una condivisione, prestando attenzione al contenuto che specifica come aggiungere uno schema.
Gli alias di tabella, le partizioni e gli alias di volume non sono disponibili se si seleziona un intero schema. Se sono stati creati alias o partizioni per qualsiasi asset nello schema, questi vengono rimossi quando si aggiunge l'intero schema alla condivisione.
Se si desidera specificare opzioni avanzate per una tabella o un volume condiviso tramite la condivisione dello schema, è necessario condividere la tabella o il volume usando SQL e assegnare alla tabella o al volume un alias con un nome di schema diverso.
Aggiungere file di notebook a una condivisione
Usare Esplora cataloghi per aggiungere un file di notebook a una condivisione.
Nota
Per condividere i notebook, il metastore deve disporre di archiviazione a livello di metastore.
Autorizzazioni necessarie: proprietario dell'oggetto condivisione e autorizzazione CAN READ per il notebook che si vuole condividere.
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi dall'utente corrente individuare la condivisione a cui si vuole aggiungere un notebook e fare clic sul nome.
Fare clic su Gestisci asset e selezionare Aggiungi file notebook.
Nella pagina Aggiungi file del notebook fare clic sull'icona del file per cercare il notebook da condividere.
Fare clic sul file che si desidera condividere e fare clic su Seleziona.
(Facoltativamente) specificare un alias descrittivo per il file nel campo Condividi come . Si tratta dell'identificatore visualizzato dai destinatari.
Fare clic su Salva.
Il file del notebook condiviso viene ora visualizzato nell'elenco File notebook nella scheda Asset .
Rimuovere i file del notebook dalle condivisioni
Per rimuovere un file di notebook da una condivisione:
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi dall'utente corrente individuare la condivisione che include il notebook e fare clic sul nome della condivisione.
Nella scheda Asset trovare il file del notebook che si vuole rimuovere dalla condivisione.
Fare clic sul menu kebab a destra della riga e selezionare Elimina file notebook.
Nella finestra di dialogo di conferma fare clic su Elimina.
Aggiornare i file del notebook nelle condivisioni
Per aggiornare un notebook già condiviso, è necessario aggiungerlo nuovamente, assegnandogli un nuovo alias nel campo Condividi come . Databricks consiglia di usare un nome che indica lo stato modificato del notebook, ad esempio <old-name>-update-1
. Potrebbe essere necessario inviare una notifica al destinatario della modifica. Il destinatario deve selezionare e clonare il nuovo notebook per sfruttare i vantaggi dell'aggiornamento.
Concedere ai destinatari l'accesso a una condivisione
Per concedere l'accesso condiviso ai destinatari, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il GRANT ON SHARE
comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: una delle opzioni seguenti:
- Amministratore metastore.
- Autorizzazioni delegate o proprietà per la condivisione e gli oggetti destinatario ((
USE SHARE
+SET SHARE PERMISSION
) o proprietario della condivisione AND (USE RECIPIENT
o proprietario del destinatario).
Per istruzioni, vedere Gestire l'accesso alle condivisioni dati di condivisione differenziale (per i provider). Questo articolo illustra anche come revocare l'accesso di un destinatario a una condivisione.
Visualizzare condivisioni e condividere i dettagli
Per visualizzare un elenco di condivisioni o dettagli su una condivisione, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando del catalogo unity di Databricks o i comandi SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: l'elenco di condivisioni restituite dipende dal ruolo e dalle autorizzazioni. Gli amministratori e gli utenti del metastore con privilegi USE SHARE
visualizzano tutte le condivisioni. In caso contrario, è possibile visualizzare solo le condivisioni per le quali si è il proprietario dell'oggetto di condivisione.
I dettagli includono:
- Proprietario della condivisione, autore, timestamp di creazione, aggiornamento, timestamp aggiornato, commenti.
- Asset di dati nella condivisione.
- Destinatari con accesso alla condivisione.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Aprire la scheda Condivisioni per visualizzare un elenco di condivisioni.
Visualizzare i dettagli della condivisione nella scheda Dettagli .
SQL
Per visualizzare un elenco di condivisioni, eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks. Facoltativamente, sostituire <pattern>
con un LIKE
predicato.
SHOW SHARES [LIKE <pattern>];
Per visualizzare i dettagli su una condivisione specifica, eseguire il comando seguente.
DESCRIBE SHARE <share-name>;
Per visualizzare i dettagli su tutte le tabelle, le viste e i volumi in una condivisione, eseguire il comando seguente.
SHOW ALL IN SHARE <share-name>;
CLI
Per visualizzare un elenco di condivisioni, eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks.
databricks shares list
Per visualizzare i dettagli su una condivisione specifica, eseguire il comando seguente.
databricks shares get <share-name>
Visualizzare i destinatari che dispongono delle autorizzazioni per una condivisione
Per visualizzare l'elenco di condivisioni a cui è stato concesso l'accesso a un destinatario, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il SHOW GRANTS TO RECIPIENT
comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: amministratore, USE SHARE
privilegio o proprietario dell'oggetto di condivisione metastore.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi da me trovare e selezionare il destinatario.
Passare alla scheda Destinatari per visualizzare l'elenco dei destinatari che possono accedere alla condivisione.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks.
SHOW GRANTS ON SHARE <share-name>;
CLI
Eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks.
databricks shares share-permissions <share-name>
Aggiornare le condivisioni
Oltre ad aggiungere tabelle, viste, volumi e notebook a una condivisione, è possibile:
- Rinominare una condivisione.
- Rimuovere tabelle, viste, volumi e schemi da una condivisione.
- Aggiungere o aggiornare un commento in una condivisione.
- Abilitare o disabilitare l'accesso ai dati della cronologia di una tabella, consentendo ai destinatari di eseguire query di spostamento del tempo o leggere in streaming della tabella.
- Aggiungere, aggiornare o rimuovere definizioni di partizione.
- Modificare il proprietario della condivisione.
Per eseguire questi aggiornamenti alle condivisioni, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o i comandi SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks. Non è possibile usare Esplora cataloghi per rinominare la condivisione.
Autorizzazioni necessarie: per aggiornare il proprietario della condivisione, è necessario essere uno dei seguenti: un amministratore del metastore, il proprietario dell'oggetto condivisione o un utente con entrambi i USE SHARE
privilegi e SET SHARE PERMISSION
. Per aggiornare il nome della condivisione, è necessario essere un amministratore del metastore (o un utente con i privilegi) e condividere il CREATE_SHARE
proprietario. Per aggiornare qualsiasi altra proprietà di condivisione, è necessario essere il proprietario.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi da me individuare la condivisione che si vuole aggiornare e fare clic sul nome.
Nella pagina dei dettagli della condivisione eseguire le operazioni seguenti:
- Fare clic sull'icona di modifica accanto al campo Proprietario o Commento per aggiornare questi valori.
- Fare clic sul pulsante del menu kebab in una riga di asset per rimuoverlo.
- Fare clic su Gestisci asset Modifica asset > per aggiornare tutte le altre proprietà:
- Per rimuovere un asset, deselezionare la casella di controllo accanto all'asset.
- Per aggiungere, aggiornare o rimuovere definizioni di partizione, fare clic su Opzioni avanzate.
SQL
Eseguire i comandi seguenti in un notebook o nell'editor SQL di Databricks.
Rinominare una condivisione:
ALTER SHARE <share-name> RENAME TO <new-share-name>;
Rimuovere tabelle da una condivisione:
ALTER SHARE share_name REMOVE TABLE <table-name>;
Rimuovere volumi da una condivisione:
ALTER SHARE share_name REMOVE VOLUME <volume-name>;
Aggiungere o aggiornare un commento in una condivisione:
COMMENT ON SHARE <share-name> IS '<comment>';
Aggiungere o modificare partizioni per una tabella in una condivisione:
ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);
Modificare il proprietario della condivisione:
ALTER SHARE <share-name> OWNER TO '<principal>'
-- Principal must be an account-level user email address or group name.
Abilitare la condivisione della cronologia per una tabella:
ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;
Per informazioni dettagliate sui ALTER SHARE
parametri, vedere ALTER SHARE.
CLI
Eseguire i comandi seguenti usando l'interfaccia della riga di comando di Databricks.
Rinominare una condivisione:
databricks shares update <share-name> --name <new-share-name>
Rimuovere tabelle da una condivisione:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
Rimuovere volumi da una condivisione (usando l'interfaccia della riga di comando di Databricks 0.210 o versione successiva):
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
Nota
Utilizzare la name
proprietà se non è presente alcun alias per il volume. Usare string_shared_as
se è presente un alias.
Aggiungere o aggiornare un commento in una condivisione:
databricks shares update <share-name> --comment '<comment>'
Modificare il proprietario della condivisione:
databricks shares update <share-name> --owner '<principal>'
L'entità deve essere un indirizzo di posta elettronica utente o un nome di gruppo a livello di account.
Eliminare una condivisione
Per eliminare una condivisione, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il DELETE SHARE
comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks. È necessario essere un proprietario della condivisione.
Quando si elimina una condivisione, i destinatari non possono più accedere ai dati condivisi.
Autorizzazioni necessarie: condividere il proprietario dell'oggetto.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona a forma di ingranaggio e selezionare Condivisione differenziale.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante Condivisione > differenziale.
Nella scheda Condivisi dall'utente corrente individuare la condivisione che si desidera eliminare e fare clic sul nome.
Fare clic sul menu kebab e selezionare Elimina.
Nella finestra di dialogo di conferma fare clic su Elimina.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks.
DROP SHARE [IF EXISTS] <share-name>;
CLI
Eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks.
databricks shares delete <share-name>