ALTER SHARE
Si applica a: Solo databricks SQL Databricks Runtime 10.4 LTS e versioni successive al catalogo Unity
Aggiunge, modifica o rimuove schemi, tabelle, viste materializzate o viste da o verso la condivisione. Rinomina una condivisione. Trasferisce la proprietà di una condivisione a un nuovo entità.
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 eSET 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 aggiungere tabelle o viste, è necessario essere il proprietario dell'oggetto condivisione, disporre
USE SCHEMA
dello schema che contiene la tabella o la vista e ilSELECT
privilegio per la tabella o la vista. È necessario mantenere il privilegio per tutto ilSELECT
tempo necessario per condividere la tabella o la vista. - Per aggiornare qualsiasi altra proprietà di condivisione, è necessario essere il proprietario.
Sintassi
ALTER SHARE share_name
{ alter_add_materialized_view |
REMOVE MATERIALIZED VIEW mat_view_name |
alter_add_table |
REMOVE TABLE table_name |
alter_add_schema |
REMOVE SCHEMA schema_name |
alter_add_view |
REMOVE VIEW view_name |
alter_add_model |
REMOVE MODEL model_name |
RENAME TO to_share_name |
[ SET ] OWNER TO principal }
alter_add_materialized_view
{ { ALTER | ADD } MATERIALIZED VIEW mat_view_name [ COMMENT comment ] [ AS mat_view_share_name ]
alter_add_table
{ { ALTER | ADD } [ TABLE ] table_name [ COMMENT comment ]
[ PARTITION clause ] [ AS table_share_name ]
[ WITH HISTORY | WITHOUT HISTORY ] }
alter_add_schema
{ { ALTER | ADD } SCHEMA schema_name [ COMMENT comment ]
alter_add_view
{ { ALTER | ADD } VIEW view_name [ COMMENT comment ] [ AS view_share_name ]
alter_add_model
{ { ALTER | ADD } VIEW model_name [ COMMENT comment ] [ AS model_share_name ]
Nota
WITH HISTORY | WITHOUT HISTORY
è supportato in Databricks Runtime 12.2 LTS e versioni successive. Per Databricks Runtime versioni da 11.1 a 12.0 è necessario specificare WITH CHANGE DATA FEED [ START VERSION version ] ]
anziché WITH HISTORY
.
WITH CHANGE DATA FEED
è stato deprecato.
Si noti anche che, 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 condividerlo WITH HISTORY
(o WITH CHANGE DATA FEED
).
Parametri
-
Nome della condivisione da modificare.
alter_add_materialized_view
Si applica a: Databricks SQL Databricks Runtime 13.3 LTS e versioni successive
Importante
Questa funzionalità è in anteprima privata. Per provarla, rivolgersi al contatto di Azure Databricks.
Aggiunge una vista materializzata alla condivisione o modifica una vista materializzata condivisa esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e disporre
SELECT
dei privilegi per la vista materializzata.ADD MATERIALIZED VIEW
mat_view_nameIdentifica la vista materializzata da aggiungere. Se non è possibile trovare la vista materializzata, Azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .
ALTER MATERIALIZED VIEW
mat_view_nameIdentifica la vista materializzata da modificare. Se la vista materializzata non fa già parte della condivisione, Azure Databricks genera un errore.
COMMENT comment
Valore letterale facoltativo
STRING
associato alla condivisione di visualizzazione materializzata come commento.-
Facoltativamente, espone la vista materializzata con un nome diverso. Il nome può essere qualificato con un nome di schema. Se non viene specificato alcun valore
mat_view_share_name
, la vista materializzata è nota con il proprio nome.Se il nome condiviso esiste già, Azure Databricks genera un errore.
REMOVE MATERIALIZED VIEW
mat_view_nameSi applica a: Databricks SQL Databricks Runtime 13.3 LTS e versioni successive
Rimuovere la vista materializzata identificata dalla
mat_view_name
condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.alter_add_table
Aggiunge una tabella o partizioni di una tabella alla condivisione o modifica una tabella condivisa esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e disporre
SELECT
dei privilegi per la tabella.ADD [ TABLE ]
table_nameIdentifica la tabella da aggiungere. La tabella non deve risiedere nel catalogo unity. Se la tabella non è stata trovata, Azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .
ALTER [ TABLE ]
table_nameIdentifica la tabella da modificare. Se la tabella non fa già parte della condivisione di Azure Databricks genera un errore.
COMMENT comment
Valore letterale facoltativo
STRING
associato alla condivisione di tabella come commento.-
Una o più partizioni della tabella da aggiungere. Le chiavi di partizione devono corrispondere al partizionamento della tabella e devono essere associate ai valori. Se non è presente
ADD TABLE
,PARTITION clause
l'intera tabella viene aggiunta.Per partizionare in base alle proprietà di un destinatario, usare la sintassi :
PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
Partizionamento per riferimento alle proprietà del destinatario Si applica a: Databricks SQL Databricks Runtime 12.2 LTS e versioni successive.
-
Facoltativamente, espone la tabella con un nome diverso. Il nome può essere qualificato con un nome di database (schema). Se non viene specificato alcun valore
table_share_name
, la tabella sarà nota con il proprio nome. WITH HISTORY
oppureWITHOUT HISTORY
Si applica a: Databricks SQL Databricks Runtime 12.2 LTS e versioni successive.
Quando
WITH HISTORY
viene specificato, condividere la tabella con la cronologia completa, consentendo ai destinatari di eseguire query di spostamento temporale. È quindi possibile fare riferimento alla tabella condivisa usando VERSION AS OF e TIMESTAMP AS OF.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
.Il comportamento predefinito è
WITHOUT HISTORY
.
REMOVE TABLE
table_nameRimuovere la tabella identificata dalla
table_name
condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.alter_add_schema
Si applica a: Databricks SQL Databricks Runtime 13.3 LTS e versioni successive
Aggiunge uno schema alla condivisione o modifica uno schema condiviso esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e dello schema.
ADD SCHEMA
schema_nameIdentifica lo schema da aggiungere. Se non è possibile trovare lo schema, Azure Databricks genera un errore di SCHEMA_NOT_FOUND .
ALTER SCHEMA
schema_nameIdentifica lo schema da modificare. Se lo schema non fa già parte della condivisione, Azure Databricks genera un errore.
COMMENT comment
Valore letterale facoltativo
STRING
associato alla condivisione dello schema come commento.
REMOVE SCHEMA
schema_nameRimuovere lo schema identificato dalla
schema_name
condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.alter_add_view
Si applica a: Databricks SQL Databricks Runtime 13.3 LTS e versioni successive
Aggiunge una visualizzazione alla condivisione o modifica una visualizzazione condivisa esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e disporre
SELECT
dei privilegi per la visualizzazione.ADD VIEW
view_nameIdentifica la visualizzazione da aggiungere. Se non è possibile trovare la vista azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .
ALTER VIEW
view_nameIdentifica la visualizzazione da modificare. Se la vista non fa già parte della condivisione di Azure Databricks genera un errore.
COMMENT comment
Valore letterale facoltativo
STRING
associato alla condivisione di visualizzazione come commento.-
Facoltativamente, espone la visualizzazione con un nome diverso. Il nome può essere qualificato con un nome di schema. Se non viene specificato alcun
view_share_name
valore, la vista è nota con il proprio nome.Se il nome condiviso esiste già, Azure Databricks genera un errore.
REMOVE VIEW
view_nameRimuovere la vista identificata dalla
view_name
condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.alter_add_model
Si applica a: Databricks SQL Databricks Runtime 14.0 e versioni successive
Aggiunge un modello alla condivisione o modifica un modello condiviso esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e avere
EXECUTE
il privilegio per il modello.ADD MODEL
model_nameIdentifica il modello da aggiungere. Se il modello non è stato trovato, Azure Databricks genera un errore di RESOURCE_DOES_NOT_EXIST.
ALTER MODEL
model_nameIdentifica il modello da modificare. Se il modello non fa già parte della condivisione Azure Databricks genera un errore.
COMMENT comment
Valore letterale facoltativo
STRING
associato alla condivisione del modello come commento.-
Facoltativamente, espone il modello con un nome diverso. Il nome può essere qualificato con un nome di schema. Se non viene specificato alcun valore
model_share_name
, il modello è noto con il proprio nome.Se il nome condiviso esiste già, Azure Databricks genera un errore.
REMOVE MODEL
model_nameRimuovere il modello identificato dalla
model_name
condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.RENAME TO
to_share_nameSi applica a: Databricks SQL Databricks Runtime 11.3 LTS e versioni successive
Rinomina la condivisione. Il nome deve essere univoco tra tutte le condivisioni nel metastore. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e avere
CREATE SHARE
il privilegio per il metastore.[ SET ] OWNER TO
principalTrasferisce la proprietà della condivisione a
principal
. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.Si applica a: Databricks SQL Databricks Runtime 11.3 LTS e versioni successive
SET
è consentito come parola chiave facoltativa.
Esempi
-- Creates a share named `some_share`.
> CREATE SHARE some_share;
-- Add a table to the share.
> ALTER SHARE some_share
ADD TABLE my_schema.my_tab
COMMENT 'some comment'
PARTITION(c1_int = 5, c2_date LIKE '2021%')
AS shared_schema.shared_tab;
-- Add a schema to the share.
> ALTER SHARE some_share
ADD SCHEMA some_schema
COMMENT 'some comment';
-- Add a view to the share.
> ALTER SHARE some_share
ADD VIEW my_schema.my_view
COMMENT 'some comment'
AS shared_schema.shared_view;
-- Add a materialized view to the share.
> ALTER SHARE some_share
ADD MATERIALIZED VIEW my_schema.my_mat_view
COMMENT 'some comment'
AS shared_schema.shared_mat_view;
-- Share a table with history
> ALTER SHARE share ADD TABLE table1 WITH HISTORY;
> ALTER SHARE share ADD TABLE table2 WITHOUT HISTORY;
> SHOW ALL IN SHARE share;
Name type ... history_sharing ...
------ ------ ... ----------------
Table1 TABLE ... ENABLED ...
Table2 TABLE ... DISABLED ...
-- Remove the table again
> ALTER SHARE some_share
REMOVE TABLE shared_schema.shared_tab;
-- Remove the schema again
> ALTER SHARE some_share
REMOVE SCHEMA some_schema;
-- Remove a view again
> ALTER SHARE some_share
REMOVE VIEW shared_schema.shared_view;
-- Rename a share
> ALTER SHARE some_share
RENAME TO new_share;
-- Change ownership of the share
> ALTER SHARE some_share
OWNER TO `alf@melmak.et`