ALTER SHARE

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 10.4 LTS и более поздней проверка помечены да версии каталога Unity

Добавляет, изменяет или удаляет схемы, таблицы, материализованные представления или представления из общей папки. Переименовывает общую папку. Передает владение общим ресурсом новому субъекту.

Необходимые разрешения:

  • Чтобы обновить владельца общей папки, необходимо быть одним из следующих: администратор хранилища метаданных, владелец объекта общей папки или пользователь с правами и USE SHARESET 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`