ALTER SHARE
gäller för: Databricks SQL Databricks Runtime 10.4 LTS och senare Unity Catalog
Lägger till, ändrar eller tar bort scheman, tables, materialiserade viewseller views till eller från resursen. Byter namn på en resurs. Överför ägarskapet för en resurs till ett nytt huvudnamn.
Behörigheter som krävs:
- För att update resursägaren måste du vara något av följande: en metaarkivadministratör, ägaren av resursobjektet eller en användare med både
USE SHARE
ochSET SHARE PERMISSION
behörigheter. - Om du vill update delningsnamnet måste du vara metastore-administratör (eller användare med
CREATE_SHARE
behörighet) och delningsägare. - Om du vill lägga till tables eller viewsmåste du vara ägare till delningsobjektet, ha
USE SCHEMA
på den schema som innehåller table eller vyn, och haSELECT
-behörighet för table eller vyn. Du måste behållaSELECT
-behörigheten så länge du vill dela table eller visa. - Om du vill update andra resursegenskaper måste du vara ägare.
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 } VIEW model_name [ COMMENT comment ] [ AS model_share_name ]
Kommentar
WITH HISTORY | WITHOUT HISTORY
stöds i Databricks Runtime 12.2 LTS och senare. Databricks Runtime-versionerna 11.1 till 12.0 kräver att du anger WITH CHANGE DATA FEED [ START VERSION version ] ]
i stället för WITH HISTORY
.
WITH CHANGE DATA FEED
är inaktuell.
Observera också att om du, förutom att köra frågor om tidsresor och direktuppspelningsläsningar, vill att dina kunder ska kunna utföra frågor på en tablechange data feed (CDF) med hjälp av funktionen table_changes(), måste du aktivera CDF på table innan du delar den WITH HISTORY
(eller WITH CHANGE DATA FEED
).
Parameters
-
Namnet på resursen som ska ändras.
alter_add_materialized_view
Gäller för: Databricks SQL Databricks Runtime 13.3 LTS och senare
Viktigt!
Den här funktionen är en privat förhandsversion. Hör av dig till din Azure Databricks-kontakt om du vill prova.
Lägger till en materialiserad vy i resursen eller ändrar en befintlig delad materialiserad vy. Om du vill köra den här instruktionen måste du vara ägare till resursen och ha
SELECT
behörighet för den materialiserade vyn.ADD MATERIALIZED VIEW
mat_view_nameIdentifierar den materialiserade vy som ska läggas till. Om det inte går att hitta den materialiserade vyn genererar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel.
ALTER MATERIALIZED VIEW
mat_view_nameIdentifierar den materialiserade vy som ska ändras. Om den materialiserade vyn inte redan är en del av resursen genererar Azure Databricks ett fel.
COMMENT comment
En valfri
STRING
literal som är kopplad till den materialiserade vyresursen som en kommentar.-
Du kan också exponera den materialiserade vyn under ett annat namn. Namnet kan kvalificeras med ett namn av typen schema. Om nej
mat_view_share_name
anges är den materialiserade vyn känd under sitt eget namn.Om det delade namnet redan finns genererar Azure Databricks ett fel.
REMOVE MATERIALIZED VIEW
mat_view_nameGäller för: Databricks SQL Databricks Runtime 13.3 LTS och senare
Remove den materialiserade vy som identifieras av
mat_view_name
från resursen. Om du vill köra den här instruktionen måste du vara resursens ägare.alter_add_table
Lägger till en table eller partitioner av en table till resursen eller ändrar en befintlig delad table. Om du vill köra den här instruktionen måste du vara ägare till resursen och ha
SELECT
behörighet på table.ADD [ TABLE ]
table_nameIdentifierar table som ska läggas till. table får inte finnas i Unity Catalog. Om table inte kan hittas genererar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel.
ALTER [ TABLE ]
table_nameIdentifierar table som ska ändras. Om table inte redan är en del av resursen genererar Azure Databricks ett fel.
COMMENT comment
En
STRING
-literal som valfritt är kopplad till table-andelen som en kommentar.-
En eller flera partitioner av table som ska läggas till. De partition nycklarna måste matcha partitioneringen av table och associeras med values. Om det inte finns någon
PARTITION clause
läggerADD TABLE
till hela table.Om du vill partition med referens till en mottagaregenskaperanvänder du syntaxen:
PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
Partitionering efter referens till mottagaregenskaper gäller för:Databricks SQL Databricks Runtime 12.2 LTS och senare.
-
Du kan valfritt exponera table under ett annat namn. Namnet kan kvalificeras med ett databasnamn (schema). Om ingen
table_share_name
anges kommer table att vara känt under sitt eget namn. WITH HISTORY
ellerWITHOUT HISTORY
Gäller för: Databricks SQL Databricks Runtime 12.2 LTS och senare.
När
WITH HISTORY
har angetts delar du table med fullständig historik så att recipients kan köra frågor om tidsresor. Den delade table kan sedan refereras till med VERSION FRÅN och TIMESTAMP FRÅN.Om du, förutom att köra frågor om tidsresor och strömmande läsningar, vill att dina kunder ska kunna köra frågor mot table:s ändringsdataflöde (CDF) med hjälp av funktionen table_changes(), måste du aktivera CDF på table innan du delar den
WITH HISTORY
.Standardbeteendet är
WITHOUT HISTORY
.
REMOVE TABLE
table_nameRemove den table som identifieras av
table_name
från andelen. Om du vill köra den här instruktionen måste du vara resursens ägare.alter_add_schema
Gäller för: Databricks SQL Databricks Runtime 13.3 LTS och senare
Lägger till en schema till resursen eller ändrar en befintlig delad schema. För att köra detta uttalande måste du vara ägare till delningen och schema.
ADD SCHEMA
schema_nameIdentifierar schema som ska läggas till. Om schema inte kan hittas genererar Azure Databricks ett SCHEMA_NOT_FOUND fel.
ALTER SCHEMA
schema_nameIdentifierar schema som ska ändras. Om schema inte redan är en del av resursen genererar Azure Databricks ett fel.
COMMENT comment
En valfri
STRING
literal som är kopplad till den schema resursen som en kommentar.
REMOVE SCHEMA
schema_nameRemove den schema som identifieras av
schema_name
från andelen. Om du vill köra den här instruktionen måste du vara resursens ägare.alter_add_view
Gäller för: Databricks SQL Databricks Runtime 13.3 LTS och senare
Lägger till en vy i resursen eller ändrar en befintlig delad vy. Om du vill köra den här instruktionen måste du vara ägare till resursen och ha
SELECT
behörighet för vyn.ADD VIEW
view_nameIdentifierar vyn som ska läggas till. Om vyn inte kan hittas genererar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel.
ALTER VIEW
view_nameIdentifierar vyn som ska ändras. Om vyn inte redan är en del av resursen genererar Azure Databricks ett fel.
COMMENT comment
En valfri
STRING
literal som är kopplad till visningsresursen som en kommentar.-
Du kan också exponera vyn under ett annat namn. Namnet kan kvalificeras med ett namn av typen schema. Om nej
view_share_name
anges är vyn känd under sitt eget namn.Om det delade namnet redan finns genererar Azure Databricks ett fel.
REMOVE VIEW
view_nameRemove vyn som identifieras av
view_name
från delningen. Om du vill köra den här instruktionen måste du vara resursens ägare.alter_add_model
Gäller för: Databricks SQL Databricks Runtime 14.0 och senare
Lägger till en modell i resursen eller ändrar en befintlig delad modell. Om du vill köra den här instruktionen måste du vara ägare till resursen och ha
EXECUTE
behörighet för modellen.ADD MODEL
model_nameIdentifierar den modell som ska läggas till. Om det inte går att hitta modellen skapar Azure Databricks ett RESOURCE_DOES_NOT_EXIST fel.
ALTER MODEL
model_nameIdentifierar den modell som ska ändras. Om modellen inte redan är en del av resursen genererar Azure Databricks ett fel.
COMMENT comment
En valfri
STRING
literal som är kopplad till modellresursen som en kommentar.-
Du kan också exponera modellen under ett annat namn. Namnet kan kvalificeras med ett namn av typen schema. Om inget
model_share_name
anges är modellen känd under sitt eget namn.Om det delade namnet redan finns genererar Azure Databricks ett fel.
REMOVE MODEL
model_nameRemove den modell som identifieras av
model_name
från andelen. Om du vill köra den här instruktionen måste du vara resursens ägare.RENAME TO
to_share_nameGäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Byter namn på resursen. Namnet måste vara unikt bland alla shares i metaarkivet. Om du vill köra den här instruktionen måste du vara ägare till resursen och ha
CREATE SHARE
behörighet för metaarkivet.[ SET ] OWNER TO
principalÖverför ägarskapet för resursen till
principal
. Om du vill köra den här instruktionen måste du vara resursens ägare.Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
SET
tillåts som ett valfritt nyckelord.
Exempel
-- 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`