Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 10.4 LTS und höher
Nur Unity Catalog
Fügt der Freigabe Schemas, Tabellen, materialisierte Sichten oder Ansichten hinzu, ändert sie oder entfernt sie daraus. Benennt eine Freigabe um. Überträgt den Besitz einer Freigabe an einen neuen Prinzipal.
Erforderliche Berechtigungen:
- Um den Eigentümer der Freigabe zu aktualisieren, müssen Sie ein Metastore-Verwalter sein.
- Um den freigegebenen Namen zu aktualisieren, müssen Sie ein Benutzer mit der
CREATE SHAREBerechtigung und freigeben Besitzer sein. - Um Tabellen oder Ansichten hinzuzufügen, müssen Sie der Besitzer des Freigabeobjekts sein, über
USE SCHEMAfür das Schema verfügen, das die Tabelle oder Ansicht enthält, und die BerechtigungSELECTfür die Tabelle oder Ansicht. Sie müssen die BerechtigungSELECTso lange behalten, wie Sie die Tabelle oder Ansicht freigeben möchten. - Sie müssen der Besitzer sein, um alle weiteren Freigabeeigenschaften zu aktualisieren.
Syntax
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 } MODEL model_name [ COMMENT comment ] [ AS model_share_name ]
Hinweis
WITH HISTORY | WITHOUT HISTORY wird in
Databricks Runtime 12.2 LTS und höher unterstützt. Für die Databricks Runtime-Versionen 11.1 bis 12.0 müssen Sie WITH CHANGE DATA FEED [ START VERSION version ] anstelle von WITH HISTORY angeben. Bei Databricks SQL und Databricks Runtime 16.2 und höher WITH HISTORY ist die Standardeinstellung.
WITH CHANGE DATA FEED ist veraltet.
Beachten Sie außerdem, dass, wenn Ihre Kunden neben Abfragen zu Zeitreisen und Streaming-Abfragen auch den Änderungsdatenfeed (CDF) einer Tabelle mithilfe der Funktion table_changes() abfragen sollen, Sie CDF für die Tabelle aktivieren müssen, bevor Sie sie WITH HISTORY freigeben (oder WITH CHANGE DATA FEED).
Parameter
-
Der Name der Freigabe, die geändert werden soll.
alter_add_materialized_viewGilt für:
Databricks SQL
Databricks Runtime 13.3 LTS und höherFügt der Freigabe eine materialisierte Sicht hinzu oder ändert eine vorhandene freigegebene materialisierte Sicht. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein und über
SELECT-Berechtigungen für die materialisierte Sicht verfügen.ADD MATERIALIZED VIEWmat_view_nameGibt die materialisierte Sicht an, die hinzugefügt werden soll. Wenn die materialisierte Sicht nicht gefunden werden kann, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.
ALTER MATERIALIZED VIEWmat_view_nameGibt die materialisierte Sicht an, die geändert werden soll. Wenn die materialisierte Sicht nicht bereits Teil der Freigabe ist, gibt Azure Databricks eine Fehlermeldung aus.
COMMENT commentEin optionales
STRING-Literal, das als Kommentar an die Freigabe der materialisierten Sicht angefügt ist.-
Veröffentlicht die materialisierte Sicht optional unter einem anderen Namen. Der Name kann mit einem Schemanamen qualifiziert werden. Wenn
mat_view_share_namenicht angegeben wird, ist die materialisierte Sicht unter ihrem eigenen Namen bekannt.Wenn der freigegebene Name bereits vorhanden ist, löst Azure Databricks einen Fehler aus.
REMOVE MATERIALIZED VIEWmat_view_nameGilt für:
Databricks SQL
Databricks Runtime 13.3 LTS und höherEntfernt die durch
mat_view_nameidentifizierte materialisierte Sicht aus der Freigabe. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein.alter_add_tableFügt der Freigabe eine Tabelle oder Partitionen einer Tabelle hinzu oder ändert eine vorhandene freigegebene Tabelle. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein und über die
SELECT-Berechtigung für den Metastore verfügen.ADD [ TABLE ]table_nameGibt die hinzuzufügende Tabelle an. Die Tabelle darf sich nicht im Unity Catalog befinden. Wenn die Tabelle nicht gefunden werden kann, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.
ALTER [ TABLE ]table_nameGibt die Tabelle an, die geändert werden soll. Wenn die Tabelle nicht bereits Teil der Freigabe ist, gibt Azure Databricks einen Fehler aus.
COMMENT commentEin optionales
STRING-Literal, das als Kommentar an die Tabellenfreigabe angefügt ist.-
Mindestens eine Partition der Tabelle, die hinzugefügt werden soll. Die Partitionsschlüssel müssen mit der Partitionierung der Tabelle übereinstimmen und Werten zugeordnet sein. Wenn
PARTITION clausenicht vorhanden ist, fügtADD TABLEdie gesamte Tabelle hinzu.Verwenden Sie die Syntax, um eine Partition anhand eines Verweises auf eine Empfängereigenschaft zu partitionieren:
PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)Partitionierung durch Verweis auf Empfänger-Eigenschaften Gilt für:
Databricks SQL
Databricks Runtime 12.2 LTS und höher. -
Veröffentlicht die Tabelle optional unter einem anderen Namen. Der Name kann mit einem Datenbanknamen (Schema) qualifiziert werden. Wenn
table_share_namenicht angegeben ist, wird die Tabelle unter ihrem eigenen Namen bekannt. WITH HISTORYoderWITHOUT HISTORYGilt für:
Databricks SQL
Databricks Runtime 12.2 LTS und höher.Wenn
WITH HISTORYangegeben ist, geben Sie die Tabelle mit dem vollständigen Verlauf frei, sodass Empfänger Zeitreiseabfragen ausführen können. Auf die freigegebene Tabelle kann dann mit VERSION AS OF und TIMESTAMP AS OF verwiesen werden.Wenn Sie zusätzlich zu Zeitreiseabfragen und Streaming-Lesevorgängen möchten, dass Ihre Kunden den Änderungsdatenstrom (CDF) einer Tabelle mit der Funktion table_changes() abfragen können, müssen Sie CDF für die Tabelle aktivieren, bevor Sie sie
WITH HISTORYfreigeben.Das Standardverhalten für Databricks SQL und Databricks Runtime 16.2 und höher ist
WITH HISTORY. Auf Databricks Runtime 16.1 und darunter ist esWITHOUT HISTORY.
REMOVE TABLEtable_nameEntfernt die durch
table_nameidentifizierte Tabelle aus der Freigabe. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein.alter_add_schemaGilt für:
Databricks SQL
Databricks Runtime 13.3 LTS und höherFügt der Freigabe ein Schema hinzu oder ändert ein vorhandenes freigegebenes Schema. Sie können diese Anweisung nur als Besitzer*in der Freigabe und des Schemas ausführen.
ADD SCHEMAschema_nameIdentifiziert das hinzuzufügende Schema. Wenn das Schema nicht gefunden werden kann, gibt Azure Databricks einen SCHEMA_NOT_FOUND-Fehler aus.
ALTER SCHEMAschema_nameIdentifiziert das zu ändernde Schema. Wenn das Schema nicht bereits Teil der Freigabe ist, gibt Azure Databricks eine Fehlermeldung aus.
COMMENT commentEin optionales
STRING-Literal, das als Kommentar an die Schemafreigabe angefügt wird.
REMOVE SCHEMAschema_nameEntfernt das durch
schema_nameidentifizierte Schema aus der Freigabe. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein.alter_add_viewGilt für:
Databricks SQL
Databricks Runtime 13.3 LTS und höherFügt der Freigabe eine Ansicht hinzu oder ändert eine vorhandene freigegebene Ansicht. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein und über die
SELECT-Berechtigung für die Ansicht verfügen.ADD VIEWview_nameGibt die Ansicht an, die hinzugefügt werden soll. Wenn die Sicht nicht gefunden werden kann, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.
ALTER VIEWview_nameGibt die Sicht an, die geändert werden soll. Wenn die Ansicht nicht bereits Teil der Freigabe ist, gibt Azure Databricks einen Fehler aus.
COMMENT commentEin optionales
STRING-Literal, das als Kommentar an die Ansichtsfreigabe angefügt ist.-
Veröffentlicht die Ansicht optional unter einem anderen Namen. Der Name kann mit einem Schemanamen qualifiziert werden. Wenn
view_share_namenicht angegeben wird, ist die Ansicht unter ihrem eigenen Namen bekannt.Wenn der freigegebene Name bereits vorhanden ist, löst Azure Databricks einen Fehler aus.
REMOVE VIEWview_nameEntfernt die durch
view_nameidentifizierte Ansicht aus der Freigabe. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein.alter_add_modelGilt für:
Databricks SQL
Databricks Runtime 14.0 und höherFügt der Freigabe ein Modell hinzu oder ändert ein vorhandenes freigegebenes Modell. Um diese Anweisung auszuführen, müssen Sie Eigentümer*in der Freigabe sein und über die
EXECUTE-Berechtigung für das Modell verfügen.ADD MODELmodel_nameIdentifiziert das hinzuzufügende Modell. Wenn das Modell nicht gefunden werden kann, löst Azure Databricks einen RESOURCE_DOES_NOT_EXIST-Fehler aus.
ALTER MODELmodel_nameIdentifiziert das zu ändernde Modell. Wenn das Modell nicht bereits Teil der Freigabe ist, gibt Azure Databricks einen Fehler aus.
COMMENT commentEin optionales
STRING-Literal, das als Kommentar an die Modellfreigabe angefügt ist.-
Macht das Modell optional unter einem anderen Namen verfügbar. Der Name kann mit einem Schemanamen qualifiziert werden. Wenn
model_share_namenicht angegeben wird, ist das Modell unter seinem eigenen Namen bekannt.Wenn der freigegebene Name bereits vorhanden ist, löst Azure Databricks einen Fehler aus.
REMOVE MODELmodel_nameEntfernt das durch
model_nameidentifiziert Modell aus der Freigabe. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein.RENAME TOto_share_nameGilt für:
Databricks SQL
Databricks Runtime 11.3 LTS und höherBenennt die Freigabe um. Der Name muss unter allen Freigaben im Metastore eindeutig sein. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein und über die
CREATE SHARE-Berechtigung für den Metastore verfügen.[ SET ] OWNER TOHauptÜberträgt den Besitz der Freigabe an
principal. Um diese Anweisung auszuführen, müssen Sie der Eigentümer der Freigabe sein.Gilt für:
Databricks SQL
Databricks Runtime 11.3 LTS und höherSETist als optionales Schlüsselwort zulässig.
Beispiele
-- 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`