ALTER SHARE
применяется: Databricks SQL
Databricks Runtime 10.4 LTS и выше
только в каталоге Unity
Добавляет, изменяет или удаляет схемы, таблицы, материализованные представления или представления из общей папки. Переименовывает общую папку. Передает владение общим ресурсом новому субъекту.
Необходимые разрешения:
- Чтобы обновить владельца общей папки, необходимо быть одним из следующих: администратор хранилища метаданных, владелец объекта общей папки или пользователь с правами
USE SHARE
иSET SHARE PERMISSION
. - Чтобы обновить имя общей папки, необходимо быть администратором хранилища метаданных (или пользователем с правами
CREATE_SHARE
) и владельцем общего ресурса. - Чтобы добавить таблицы или представления, необходимо быть владельцем объекта общего ресурса, а также иметь привилегию
USE SCHEMA
в схеме, содержащей таблицу или представление, и привилегиюSELECT
в таблице или представлении. Вы должны поддерживать привилегииSELECT
до тех пор, пока вы хотите предоставить общий доступ к таблице или представлению. - Чтобы обновить любые другие свойства общего ресурса, необходимо быть его владельцем.
Синтаксис
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
него. В Databricks Runtime 16.2 и более поздних версиях WITH HISTORY
используется по умолчанию.
WITH CHANGE DATA FEED
не рекомендуется к использованию.
Обратите внимание также, что если, помимо выполнения запросов с использованием исторических данных и потоковых операций чтения, вы хотите, чтобы клиенты могли запрашивать канал данных об изменениях таблицы (CDF) с помощью функции table_changes(), необходимо включить CDF на таблице, до того, как вы предоставите к ней доступ WITH HISTORY
(или WITH CHANGE DATA FEED
).
Параметры
-
Имя общего ресурса, который нужно изменить.
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
литерал, присоединенный к материализованной общей папке представления в качестве комментария.-
При необходимости предоставляет материализованное представление под другим именем. Имя может быть дополнено именем схемы. Если не
mat_view_share_name
указано, материализованное представление известно под собственным именем.Если общее имя уже существует, Azure Databricks вызывает ошибку.
REMOVE MATERIALIZED VIEW
mat_view_nameОбласть применения:
Databricks SQL
Databricks Runtime 13.3 LTS и выше
Удалите из общего доступа материализованное представление, определяемое
mat_view_name
. Для выполнения этой инструкции необходимо быть владельцем общей папки.alter_add_table
Добавляет таблицу или секции таблицы в общую папку или изменяет существующую общую таблицу. Для выполнения этого выражения необходимо быть владельцем доли и иметь привилегии
SELECT
на таблице.ADD [ TABLE ]
table_nameОпределяет добавленную таблицу. Таблица не должна находиться в каталоге Unity. Если таблица не найдена, Azure Databricks вызывает ошибку TABLE_OR_VIEW_NOT_FOUND.
ALTER [ TABLE ]
table_nameОпределяет таблицу, которая будет изменена. Если таблица еще не является частью ресурса совместного доступа, Azure Databricks выдает ошибку.
COMMENT comment
Необязательный литерал
STRING
, присоединенный к доле таблицы в качестве комментария.предложение PARTITION
Один или более разделов таблицы, которые будут добавлены. Ключи разделов должны соответствовать секционированию таблицы и ассоциироваться со значениями. Если
PARTITION clause
нет,ADD TABLE
добавляет всю таблицу.Чтобы выполнить секционирование по ссылке на свойства получателя , используйте следующий синтаксис:
PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
Секционирование по свойствам получателя применяется к:
Databricks SQL
Databricks Runtime 12.2 LTS и выше.
-
При необходимости предоставляет таблицу под другим именем. Имя может быть квалифицировано с именем базы данных (схемы). Если
table_share_name
не указан, таблица будет известна под собственным именем. WITH HISTORY
илиWITHOUT HISTORY
Область применения:
Databricks SQL
Databricks Runtime 12.2 LTS и более поздних версий.
При указании
WITH HISTORY
предоставьте доступ к таблице с полной историей, позволяя получателям выполнять запросы с использованием временных срезов. Затем можно ссылаться на общую таблицу с помощью ВЕРСИИ AS И TIMESTAMP AS.Если вы хотите, чтобы ваши клиенты могли запрашивать изменения в данных таблицы (CDF) с помощью функции table_changes(), помимо выполнения запросов на временные данные и потоковых чтений, необходимо включить CDF в таблице до того, как вы предоставите к ней доступ другим пользователям
WITH HISTORY
.Поведение по умолчанию для Databricks SQL и Databricks Runtime 16.2 и выше
WITH HISTORY
. На Databricks Runtime 16.1 и ниже этоWITHOUT HISTORY
.
REMOVE TABLE
table_nameУдалите таблицу, идентифицированную как
table_name
, из общей папки. Для выполнения этой инструкции необходимо быть владельцем общей папки.alter_add_schema
Область применения:
Databricks SQL
Databricks Runtime 13.3 LTS и выше
Добавляет схему в общий доступ или изменяет существующую общую схему. Для выполнения этого запроса необходимо быть владельцем ресурса и схемы.
ADD SCHEMA
schema_nameОпределяет добавляемую схему. Если схема не найдена, Azure Databricks вызывает ошибку SCHEMA_NOT_FOUND.
ALTER SCHEMA
schema_nameОпределяет измененную схему. Если схема еще не является частью общей папки, Azure Databricks вызывает ошибку.
COMMENT comment
Необязательный литерал
STRING
, прикрепленный к общей схеме в качестве комментария.
REMOVE SCHEMA
schema_nameУдалите схему, определяемую
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
литерал, присоединенный к общей папке представления в качестве комментария.-
При необходимости предоставляет представление под другим именем. Имя может быть дополнено именем схемы. Если не
view_share_name
указано, представление известно под собственным именем.Если общее имя уже существует, Azure Databricks вызывает ошибку.
REMOVE VIEW
view_nameУдалите представление, определяемое
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
литерал, присоединенный к общей папке модели в качестве комментария.-
При необходимости предоставляет модель под другим именем. Имя может быть дополнено именем схемы. Если не
model_share_name
указано, модель известна под собственным именем.Если общее имя уже существует, Azure Databricks вызывает ошибку.
REMOVE MODEL
model_nameУдалите модель, определяемую
model_name
, из общего доступа. Для выполнения этой инструкции необходимо быть владельцем общей папки.RENAME TO
to_share_nameОбласть применения:
Databricks SQL
Databricks Runtime 11.3 LTS и выше
Переименовывает общую папку. Имя должно быть уникальным среди всех разделов в мета хранилище. Для выполнения этой инструкции необходимо быть владельцем общей папки и иметь привилегию
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`