ALTER SHARE

Aplica-se a: verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 10.4 LTS e superior caixa de seleção marcada sim Somente Catálogo do Unity

Adiciona, altera ou remove esquemas, tabelas, visualizações materializadas ou visualizações de ou para o compartilhamento. Renomeia um compartilhamento. Transfere a propriedade de um compartilhamento para uma nova entidade de segurança.

Permissões necessárias:

  • Para atualizar o proprietário do compartilhamento, você deve ser um dos seguintes: um administrador de metastore, o proprietário do objeto de compartilhamento ou um usuário com os privilégios USE SHARE e SET SHARE PERMISSION.
  • Para atualizar o nome do compartilhamento, você deve ser um administrador de metastore (ou usuário com o privilégio CREATE_SHARE) e proprietário do compartilhamento.
  • Para adicionar tabelas ou exibições, você deve ser o proprietário do objeto de compartilhamento, ter USE SCHEMA no esquema que contém a tabela ou exibição e o privilégio SELECT na tabela ou exibição. Você deve manter o privilégio SELECT enquanto quiser compartilhar a tabela ou exibição.
  • Para atualizar quaisquer outras propriedades de compartilhamento, você deve ser o proprietário.

Sintaxe

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 ]

Observação

WITH HISTORY | WITHOUT HISTORY tem suporte no verificação marcada como sim Databricks Runtime 12.2 LTS e versões superiores. As versões 11.1 a 12.0 do Databricks Runtime exigem que você especifique WITH CHANGE DATA FEED [ START VERSION version ] ] em vez de WITH HISTORY.

WITH CHANGE DATA FEED foi preterido.

Observe também que se, além de fazer consultas de viagem no tempo e leituras de streaming, você desejar que seus clientes possam consultar o feed de dados de alteração (CDF) de uma tabela usando a função table_changes(), será necessário habilitar o CDF na tabela antes de compartilhá-la em WITH HISTORY (ou WITH CHANGE DATA FEED).

Parâmetros

  • share_name

    O nome do compartilhamento a ser alterado.

  • alter_add_materialized_view

    Aplica-se a:verificação marcada como sim SQL do Databricks marca de seleção positiva Databricks Runtime 13.3 LTS e versões posteriores

    Importante

    Este recurso está em Versão prévia privada. Para experimentar, entre em contato com seu contato do Azure Databricks.

    Adiciona uma visualização materializada ao compartilhamento ou modifica uma visualização materializada compartilhada existente. Para executar essa instrução, você precisa ser o proprietário do compartilhamento e ter o SELECT privilégio no metastore.

    • ADD MATERIALIZED VIEW mat_view_name

      Identifica a visualização materializada a ser adicionada. Se a exibição materializada não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND.

    • ALTER MATERIALIZED VIEW mat_view_name

      Identifica a visualização materializada a ser alterada. Se a visualização materializada ainda não fizer parte do compartilhamento, o Azure Databricks gerará um erro.

    • COMMENT comment

      Um literal STRING opcional anexado ao compartilhamento de visualização materializada como um comentário.

    • AS mat_view_share_name

      Opcionalmente, expõe a visualização materializada com um nome diferente. O nome pode ser qualificado com um nome de esquema. Se nenhum mat_view_share_name for especificado, a exibição materializada será conhecida pelo seu próprio nome.

      Se o nome compartilhado já existir, o Azure Databricks emitirá um erro.

    • REMOVE MATERIALIZED VIEW mat_view_name

      Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e versões posteriores

      Remova a exibição materializada identificada por mat_view_name do compartilhamento. Para executar essa instrução, você precisa ser o proprietário do compartilhamento.

    • alter_add_table

      Adiciona uma tabela ou partições de uma tabela ao compartilhamento ou modifica uma tabela compartilhada existente. Para executar essa instrução, você precisa ser o proprietário do compartilhamento e ter o privilégio SELECT na tabela.

      • ADD [ TABLE ] table_name

        Identifica a tabela a ser adicionada. A tabela não deve residir no Catálogo do Unity. Se a tabela não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND.

      • ALTER [ TABLE ] table_name

        Identifica a tabela a ser alterada. Se a tabela ainda não fizer parte do compartilhamento, o Azure Databricks gerará um erro.

      • COMMENT comment

        Um literal de STRING opcional anexado ao compartilhamento da tabela como um comentário.

      • Cláusula PARTITION

        Uma ou mais partições da tabela a serem adicionadas. As chaves de partição devem corresponder ao particionamento da tabela e estar associadas a valores. Se PARTITION clause não estiver presente, ADD TABLE adicionará a tabela inteira.

        Para particionar por referência a propriedades de um destinatário, use a sintaxe :

        PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
        

        Particionamento por referência às propriedades do destinatário Aplica-se a:verificação marcada como sim SQL do Databricks caixa de seleção marcada sim Databricks Runtime 12.2 LTS e versões superiores.

      • AS table_share_name

        Opcionalmente, expõe a tabela com um nome diferente. O nome pode ser qualificado com um nome de banco de dados (esquema). Se table_share_name não for especificado, a tabela será conhecida com seu próprio nome.

      • WITH HISTORY ou WITHOUT HISTORY

        Aplica-se a: verificação marcada como sim Databricks SQL caixa de seleção marcada sim Databricks Runtime 12.2 LTS e versões superiores.

        Quando WITH HISTORY for especificado, compartilhe a tabela com o histórico completo, permitindo que os destinatários executem consultas de viagem no tempo. Assim, a tabela compartilhada pode ser referenciada usando VERSION AS OF e TIMESTAMP AS OF.

        Se, além de fazer consultas de viagem no tempo e leituras de streaming, você desejar que seus clientes possam consultar o feed de dados de alteração (CDF) de uma tabela usando a função table_changes(), será necessário habilitar o CDF na tabela antes de compartilhá-la em WITH HISTORY.

        O comportamento padrão é WITHOUT HISTORY.

    • REMOVE TABLE table_name

      Remova a tabela identificada por table_name do compartilhamento. Para executar essa instrução, você precisa ser o proprietário do compartilhamento.

    • alter_add_schema

      Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e versões posteriores

      Adiciona um esquema ao compartilhamento ou modifica um esquema compartilhado existente. Para executar essa declaração, você deve ser o proprietário do compartilhamento e do esquema.

      • ADD SCHEMA schema_name

        Identifica o esquema que será adicionado. Se o esquema não puder ser encontrado, o Azure Databricks emitirá um erro SCHEMA_NOT_FOUND.

      • ALTER SCHEMA schema_name

        Identifica o esquema que será alterado. Se o esquema ainda não fizer parte do compartilhamento, o Azure Databricks gerará um erro.

      • COMMENT comment

        Um literal STRING opcional anexado ao compartilhamento de esquema como um comentário.

    • REMOVE SCHEMA schema_name

      Remova o esquema identificado por schema_name do compartilhamento. Para executar essa instrução, você precisa ser o proprietário do compartilhamento.

    • alter_add_view

      Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e versões posteriores

      Adiciona uma exibição ao compartilhamento ou modifica uma exibição compartilhada existente. Para executar essa instrução, você precisa ser o proprietário do compartilhamento e ter o privilégio SELECT na exibição.

      • ADD VIEW view_name

        Identifica a exibição a ser adicionada. Se a exibição não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND.

      • ALTER VIEW view_name

        Identifica a exibição a ser alterada. Se a exibição ainda não fizer parte do compartilhamento, o Azure Databricks gerará um erro.

      • COMMENT comment

        Um literal de STRING opcional anexado ao compartilhamento da exibição como um comentário.

      • AS view_share_name

        Opcionalmente, expõe a exibição com um nome diferente. O nome pode ser qualificado com um nome de esquema. Se nenhum view_share_name for especificado, a exibição será conhecida pelo seu próprio nome.

        Se o nome compartilhado já existir, o Azure Databricks emitirá um erro.

    • REMOVE VIEW view_name

      Remova a exibição identificada por view_name do compartilhamento. Para executar essa instrução, você precisa ser o proprietário do compartilhamento.

    • alter_add_model

      Aplica-se a: verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 14.0 e versões posteriores

      Adiciona um modelo ao compartilhamento ou modifica um modelo compartilhado existente. Para executar essa instrução, você deve ser o proprietário do compartilhamento e ter EXECUTE privilégio no modelo.

      • ADD MODEL model_name

        Identifica o modelo a ser adicionado. Se o modelo não puder ser encontrado, o Azure Databricks gerará um erro RESOURCE_DOES_NOT_EXIST.

      • ALTER MODEL model_name

        Identifica o modelo a ser alterado. Se o modelo ainda não fizer parte do compartilhamento, o Azure Databricks gerará um erro.

      • COMMENT comment

        Um literal STRING opcional anexado ao compartilhamento do modelo como um comentário.

      • AS model_share_name

        Opcionalmente, expõe o modelo com um nome diferente. O nome pode ser qualificado com um nome de esquema. Se nenhum model_share_name for especificado, o modelo será conhecido pelo seu próprio nome.

        Se o nome compartilhado já existir, o Azure Databricks emitirá um erro.

    • REMOVE MODEL model_name

      Remova o modelo identificado por model_name do compartilhamento. Para executar essa instrução, você precisa ser o proprietário do compartilhamento.

    • RENAME TO to_share_name

      Aplica-se a:verificação marcada como sim SQL do Databricks marca de seleção positiva Databricks Runtime 11.3 LTS e versões posteriores

      Renomeia o compartilhamento. O nome precisa ser exclusivo em todos os compartilhamentos no metastore. Para executar essa instrução, você precisa ser o proprietário do compartilhamento e ter o privilégio CREATE SHARE no metastore.

    • [ SET ] OWNER TO principal

      Transfere a propriedade do compartilhamento para principal. Para executar essa instrução, você precisa ser o proprietário do compartilhamento.

      Aplica-se a:verificação marcada como sim SQL do Databricks marca de seleção positiva Databricks Runtime 11.3 LTS e versões posteriores

      SET é permitido como uma palavra-chave opcional.

Exemplos

-- 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`