Поделиться через


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 не рекомендуется к использованию.

Обратите внимание также, что в дополнение к выполнению запросов на поездки и потоковых операций чтения клиенты должны иметь возможность запрашивать веб-канал изменений (CDF) с помощьюфункции table_changes() необходимо включить CDF на , прежде чем предоставлять доступ к нему (или ).

Parameters

  • share_name

    Имя общего ресурса, который нужно изменить.

  • 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 литерал, присоединенный к материализованной общей папке представления в качестве комментария.

    • AS mat_view_share_name

      При необходимости предоставляет материализованное представление под другим именем. Имя может быть квалифицировано с помощью 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 и выше.

      • AS table_share_name

        Опционально открывает доступ к 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_name

      Remove определяет 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_name

      Remove 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 литерал, присоединенный к общей папке представления в качестве комментария.

      • AS view_share_name

        При необходимости предоставляет представление под другим именем. Имя может быть уточнено с помощью имени schema. Если не view_share_name указано, представление известно под собственным именем.

        Если общее имя уже существует, Azure Databricks вызывает ошибку.

    • REMOVE VIEW view_name

      Remove представление, определяемое 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 литерал, присоединенный к общей папке модели в качестве комментария.

      • AS model_share_name

        При необходимости предоставляет модель под другим именем. Имя может быть квалифицировано через имя schema. Если не model_share_name указано, модель известна под собственным именем.

        Если общее имя уже существует, Azure Databricks вызывает ошибку.

    • REMOVE MODEL model_name

      Remove модель, определяемую 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`