ALTER SHARE
gäller för: Databricks SQL
Databricks Runtime 10.4 LTS och senare
Endast Unity Catalog
Lägger till, ändrar eller tar bort scheman, tabeller, materialiserade vyer eller vyer till eller från delen. Byter namn på en resurs. Överför ägarskapet för en resurs till ett nytt huvudnamn.
Behörigheter som krävs:
- Om du vill uppdatera 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 uppdatera resursnamnet måste du vara metaarkivadministratör (eller användare med
CREATE_SHARE
behörighet) och resursägare. - Om du vill lägga till tabeller eller vyer måste du vara ägare till resursobjektet, ha
USE SCHEMA
i schemat som innehåller tabellen eller vyn ochSELECT
behörighet i tabellen eller vyn. Du måste behållaSELECT
-behörigheten så länge du vill dela tabellen eller vyn. - För att uppdatera andra delningsegenskaper 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
. På Databricks Runtime 16.2 och senare är WITH HISTORY
standard.
WITH CHANGE DATA FEED
är inaktuell.
Observera också att om du, förutom att köra frågor om tidsresor och strömningsläsningar, vill att dina kunder ska kunna köra frågor mot en tabells ändringsdataflöde (CDF) med hjälp av funktionen table_changes()måste du aktivera CDF i tabellen innan du delar den WITH HISTORY
(eller WITH CHANGE DATA FEED
).
Parametrar
-
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 schemanamn. 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
Ta bort den materialiserade vy som identifieras av
mat_view_name
från delningen. Om du vill köra den här instruktionen måste du vara resursens ägare.alter_add_table
Lägger till en tabell eller partitioner av en tabell till resursen eller ändrar en befintlig delad tabell. Om du vill köra den här instruktionen måste du vara ägare till resursen och ha
SELECT
behörighet i tabellen.ADD [ TABLE ]
table_nameIdentifierar tabellen som ska läggas till. Tabellen får inte finnas i Unity Catalog. Om det inte går att hitta tabellen skapar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel.
ALTER [ TABLE ]
table_nameIdentifierar tabellen som ska ändras. Om tabellen inte redan är en del av resursen genererar Azure Databricks ett fel.
COMMENT comment
En valfri
STRING
-literal som är kopplad till en tabellandel som en kommentar.-
En eller flera partitioner av tabellen som ska läggas till. Partitionsnycklarna måste matcha partitioneringen av tabellen och associeras med värden. Om det inte finns någon
PARTITION clause
ADD TABLE
lägger till hela tabellen.Om du vill partitionera med referens till en mottagaregenskaper, anvä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 också exponera tabellen under ett annat namn. Namnet kan kvalificeras med ett databasnamn (databasschema). Om ingen
table_share_name
anges kommer tabellen att vara känd 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, dela tabellen med fullständig historik så att mottagarna kan köra tidsresa-frågor. Den delade tabellen kan sedan refereras med VERSION PER och TIDSSTÄMPEL PER.Om du, förutom att köra frågor om tidsresor och direktuppspelningsläsningar, vill att dina kunder ska kunna köra frågor mot en tabells ändringsdataflöde (CDF) med hjälp av funktionen table_changes()måste du aktivera CDF i tabellen innan du delar den
WITH HISTORY
.Standardbeteendet för Databricks SQL och Databricks Runtime 16.2 och senare är
WITH HISTORY
. På Databricks Runtime 16.1 och lägre är detWITHOUT HISTORY
.
REMOVE TABLE
table_nameTa bort tabellen som identifieras av
table_name
från resursen. 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 ett schema i resursen eller ändrar ett befintligt delat schema. Om du vill köra den här instruktionen måste du vara ägare till resursen och schemat.
ADD SCHEMA
schema_nameIdentifierar schemat som ska läggas till. Om schemat inte kan hittas genererar Azure Databricks ett SCHEMA_NOT_FOUND fel.
ALTER SCHEMA
schema_nameIdentifierar schemat som ska ändras. Om schemat inte redan är en del av resursen genererar Azure Databricks ett fel.
COMMENT comment
En valfri
STRING
literal som är kopplad till schemaresursen som en kommentar.
REMOVE SCHEMA
schema_nameTa bort schemat som identifieras av
schema_name
från resursen. 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 schemanamn. 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_nameTa bort 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 schemanamn. 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_nameTa bort modellen som identifieras av
model_name
från resursen. 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 resurser 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`