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


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него.

WITH CHANGE DATA FEED не рекомендуется к использованию.

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

Параметры

  • 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

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

      • AS table_share_name

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

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

      • AS view_share_name

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

      • AS model_share_name

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