ALTER SHARE
применимо: Databricks SQL Databricks Runtime 10.4 LTS и выше Unity Catalog только
Добавляет, изменяет или удаляет схемы, tables, материализованные viewsили views в общую папку или из нее. Переименовывает общую папку. Передает владение общим ресурсом новому субъекту.
Необходимые разрешения:
- Чтобы стать владельцем доли update, необходимо быть одним из следующих: администратором хранилища метаданных, владельцем объекта доли, или пользователем с привилегиями
USE SHARE
иSET SHARE PERMISSION
. - Чтобы update имени общей папки, необходимо быть администратором хранилища метаданных (или пользователем с правами
CREATE_SHARE
) и владельцем общего ресурса. - Чтобы добавить tables или views, вы должны быть владельцем объекта общего ресурса, иметь
USE SCHEMA
на schema, которая содержит table или представление, и привилегиюSELECT
на table или представление. Вы должны сохранять привилегииSELECT
столько, сколько хотите предоставлять доступ к table или просматривать. - Чтобы update других свойств общего ресурса, необходимо быть владельцем.
Синтаксис
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 ]
Примечание.
WITH HISTORY | WITHOUT HISTORY
поддерживается в Databricks Runtime 12.2 LTS и выше. Для выполнения Databricks версии 11.1–12.0 требуется указывать WITH CHANGE DATA FEED [ START VERSION version ] ]
вместо WITH HISTORY
него.
WITH CHANGE DATA FEED
не рекомендуется к использованию.
Обратите внимание также, что в дополнение к выполнению запросов на поездки и потоковых операций чтения клиенты должны иметь возможность запрашивать веб-канал изменений
Parameters
-
Имя общего ресурса, который нужно изменить.
alter_add_materialized_view
Область применения: Databricks SQL Databricks Runtime 13.3 LTS и выше
Внимание
Доступна закрытая предварительная версия этой функции. Чтобы опробовать ее, обратитесь к своему контактному лицу Azure Databricks.
Добавляет материализованное представление в общую папку или изменяет существующее общее материализованное представление. Для выполнения этой инструкции необходимо быть владельцем общей папки и иметь
SELECT
привилегии в материализованном представлении.ADD MATERIALIZED VIEW
mat_view_nameОпределяет материализованное представление, которое нужно добавить. Если материализованное представление не найдено, Azure Databricks вызывает ошибку TABLE_OR_VIEW_NOT_FOUND .
ALTER MATERIALIZED VIEW
mat_view_nameОпределяет материализованное представление, которое необходимо изменить. Если материализованное представление еще не является частью общей папки, Azure Databricks вызывает ошибку.
COMMENT comment
Необязательный
STRING
литерал, присоединенный к материализованной общей папке представления в качестве комментария.-
При необходимости предоставляет материализованное представление под другим именем. Имя может быть квалифицировано с помощью schema-имени. Если не
mat_view_share_name
указано, материализованное представление известно под собственным именем.Если общее имя уже существует, Azure Databricks вызывает ошибку.
REMOVE MATERIALIZED VIEW
mat_view_nameОбласть применения: Databricks SQL Databricks Runtime 13.3 LTS и выше
Remove материализованное представление, определяемое
mat_view_name
из общего доступа. Для выполнения этой инструкции необходимо быть владельцем общей папки.alter_add_table
Добавляет table или разделы table в общий ресурс или изменяет существующий общий ресурс table. Для выполнения этого запроса вы должны быть владельцем ресурса и иметь привилегию
SELECT
на table.ADD [ TABLE ]
table_nameОпределяет table для добавления. table не должен находиться в Unity Catalog. Если table не удается найти, Azure Databricks вызывает ошибку TABLE_OR_VIEW_NOT_FOUND.
ALTER [ TABLE ]
table_nameОпределяет table, который нужно изменить. Если table еще не входит в общую папку Azure Databricks, возникает ошибка.
COMMENT comment
Необязательный литерал
STRING
, прикрепленный к разделяемому ресурсу table в виде комментария.предложение PARTITION
Один или несколько разделов table, которые будут добавлены. Ключи partition должны соответствовать секционированием table и быть связаны с values. Если
PARTITION clause
нет,ADD TABLE
добавляет всю table.Чтобы partition по ссылке на свойства получателя , используйте синтаксис:
PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
Секционирование по свойствам получателя применяется к: Databricks SQL Databricks Runtime 12.2 LTS и выше.
-
Опционально открывает доступ к table под другим именем. Имя может быть дополнено именем базы данных (schema). Если
table_share_name
не указан, table будет известен под собственным именем. WITH HISTORY
илиWITHOUT HISTORY
Область применения: Databricks SQL Databricks Runtime 12.2 LTS и более поздних версий.
При указании
WITH HISTORY
, поделитесь table с полной историей, что позволит recipients выполнять запросы временного перемещения. Затем можно ссылаться на общие table с помощью ВЕРСИИ AS и TIMESTAMP AS.Если в дополнение к выполнению запросов на поездки и потоковых операций чтения, вы хотите, чтобы клиенты могли запрашивать веб-канал изменений (CDF)
с помощью функции table_changes() необходимо включить CDF на , прежде чем предоставить доступ к нему. Поведение по умолчанию —
WITHOUT HISTORY
это .
REMOVE TABLE
table_nameRemove определяет table, идентифицируемую
table_name
из общего доступа. Для выполнения этой инструкции необходимо быть владельцем общей папки.alter_add_schema
Область применения: Databricks SQL Databricks Runtime 13.3 LTS и выше
Добавляет schema в общую папку или изменяет существующий общий schema. Для выполнения этого запроса необходимо быть владельцем доли и schema.
ADD SCHEMA
schema_nameОпределяет schema для добавления. Если не удается найти schema, Azure Databricks вызывает ошибку SCHEMA_NOT_FOUND.
ALTER SCHEMA
schema_nameОпределяет schema для изменения. Если schema еще не входит в общую папку, Azure Databricks вызывает ошибку.
COMMENT comment
Необязательный литерал
STRING
, присоединенный к schema доле в качестве комментария.
REMOVE SCHEMA
schema_nameRemove schema, определяемая как
schema_name
из общего доступа. Для выполнения этой инструкции необходимо быть владельцем общей папки.alter_add_view
Область применения: Databricks SQL Databricks Runtime 13.3 LTS и выше
Добавляет представление в общую папку или изменяет существующее общее представление. Для выполнения этой инструкции необходимо быть владельцем общей папки и иметь
SELECT
привилегии в представлении.ADD VIEW
view_nameОпределяет добавляемое представление. Если представление не удается найти Azure Databricks, возникает ошибка TABLE_OR_VIEW_NOT_FOUND .
ALTER VIEW
view_nameОпределяет представление, которое нужно изменить. Если представление еще не входит в общую папку Azure Databricks, возникает ошибка.
COMMENT comment
Необязательный
STRING
литерал, присоединенный к общей папке представления в качестве комментария.-
При необходимости предоставляет представление под другим именем. Имя может быть уточнено с помощью имени schema. Если не
view_share_name
указано, представление известно под собственным именем.Если общее имя уже существует, Azure Databricks вызывает ошибку.
REMOVE VIEW
view_nameRemove представление, определяемое
view_name
из общего ресурса. Для выполнения этой инструкции необходимо быть владельцем общей папки.alter_add_model
Область применения: Databricks SQL Databricks Runtime 14.0 и более поздних версий
Добавляет модель в общую папку или изменяет существующую общую модель. Для выполнения этой инструкции необходимо быть владельцем общей папки и иметь
EXECUTE
права на модель.ADD MODEL
model_nameОпределяет добавленную модель. Если модель не удается найти Azure Databricks, возникает ошибка RESOURCE_DOES_NOT_EXIST.
ALTER MODEL
model_nameОпределяет модель, которая будет изменена. Если модель еще не входит в общую папку Azure Databricks, возникает ошибка.
COMMENT comment
Необязательный
STRING
литерал, присоединенный к общей папке модели в качестве комментария.-
При необходимости предоставляет модель под другим именем. Имя может быть квалифицировано через имя schema. Если не
model_share_name
указано, модель известна под собственным именем.Если общее имя уже существует, Azure Databricks вызывает ошибку.
REMOVE MODEL
model_nameRemove модель, определяемую
model_name
из общего ресурса. Для выполнения этой инструкции необходимо быть владельцем общей папки.RENAME TO
to_share_nameОбласть применения: Databricks SQL Databricks Runtime 11.3 LTS и выше
Переименовывает общую папку. Имя должно быть уникальным среди всех shares в хранилище метаданных. Для выполнения этой инструкции необходимо быть владельцем общей папки и иметь привилегию
CREATE SHARE
в хранилище метаданных.[ SET ] OWNER TO
principalПередает права владения общей папкой субъекту
principal
. Для выполнения этой инструкции необходимо быть владельцем общей папки.Область применения: Databricks SQL Databricks Runtime 11.3 LTS и выше
SET
разрешено в качестве необязательного ключевого слова.
Примеры
-- 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`