Share via


ALTER PARTILHAR

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 10.4 LTS e superior Marque Sim somente Unity Catalog

Adiciona, altera ou remove esquemas, tabelas, exibições materializadas ou exibições de ou para o compartilhamento. Renomeia um compartilhamento. Transfere a propriedade de uma ação para um novo comitente.

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 privilégios e USE SHARESET SHARE PERMISSION .
  • Para atualizar o nome do compartilhamento, você deve ser um administrador de metastore (ou usuário com o privilégio) e proprietário do CREATE_SHARE 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 SELECT privilégio na tabela ou exibição. Você deve manter o SELECT privilégio pelo tempo que quiser compartilhar a tabela ou exibição.
  • Para atualizar quaisquer outras propriedades compartilhadas, 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 ]

Nota

WITH HISTORY | WITHOUT HISTORY é suportado no Marque Sim Databricks Runtime 12.2 LTS e superior. 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ê quiser que seus clientes possam consultar o feed de dados de alteração (CDF) de uma tabela usando a função table_changes(), você deverá habilitar o CDF na tabela antes de compartilhá-lo WITH HISTORY (ou WITH CHANGE DATA FEED).

Parâmetros

  • share_name

    O nome da partilha a alterar.

  • alter_add_materialized_view

    Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 13.3 LTS e superior

    Importante

    Esta funcionalidade está em Pré-visualização Privada. Para a experimentar, contacte o representante do Azure Databricks.

    Adiciona uma visão materializada ao compartilhamento ou modifica uma visão materializada compartilhada existente. Para executar esta declaração, você deve ser o proprietário da ação e ter SELECT privilégios na visão materializada.

    • ADD MATERIALIZED VIEW mat_view_name

      Identifica a visão materializada a ser adicionada. Se o modo de exibição materializado não puder ser encontrado, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND .

    • ALTER MATERIALIZED VIEW mat_view_name

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

    • COMMENT comment

      Um literal opcional STRING anexado ao compartilhamento de visão materializado como um comentário.

    • AS mat_view_share_name

      Opcionalmente, expõe a visão materializada sob um nome diferente. O nome pode ser qualificado com um nome de esquema. Se não mat_view_share_name for especificado, a visão materializada é conhecida sob seu próprio nome.

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

    • REMOVE MATERIALIZED VIEW mat_view_name

      Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 13.3 LTS e superior

      Remova a visão materializada identificada pelo mat_view_name compartilhamento. Para executar esta declaração, você deve ser o proprietário da ação.

    • 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ê deve ser o proprietário da ação e ter SELECT privilégio na mesa.

      • ADD [ TABLE ] table_name

        Identifica a tabela a ser adicionada. A tabela não deve residir no Catálogo Unity. Se a tabela não puder ser encontrada, o Azure Databricks gerará um erro de 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 opcional STRING anexado ao compartilhamento de 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 não PARTITION clause estiver presente ADD TABLE adiciona a tabela inteira.

        Para particionar por referência às 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:Marque Sim Databricks SQL Marque Sim Databricks Runtime 12.2 LTS e superior.

      • 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 não table_share_name for especificado, a tabela será conhecida sob o seu próprio nome.

      • WITH HISTORY ou WITHOUT HISTORY

        Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime 12.2 LTS e superior.

        Quando WITH HISTORY for especificado, compartilhe a tabela com o histórico completo, permitindo que os destinatários realizem consultas de viagem no tempo. A tabela compartilhada pode então 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ê quiser que seus clientes possam consultar o feed de dados de alteração (CDF) de uma tabela usando a função table_changes(), habilite o CDF na tabela antes de compartilhá-lo WITH HISTORY.

        O comportamento padrão é WITHOUT HISTORY.

    • REMOVE TABLE table_name

      Remova a tabela identificada por table_name do compartilhamento. Para executar esta declaração, você deve ser o proprietário da ação.

    • alter_add_schema

      Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 13.3 LTS e superior

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

      • ADD SCHEMA schema_name

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

      • ALTER SCHEMA schema_name

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

      • COMMENT comment

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

    • REMOVE SCHEMA schema_name

      Remova o esquema identificado por schema_name do compartilhamento. Para executar esta declaração, você deve ser o proprietário da ação.

    • alter_add_view

      Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 13.3 LTS e superior

      Adiciona um modo de exibição ao compartilhamento ou modifica um modo de exibição compartilhado existente. Para executar essa instrução, você deve ser o proprietário do compartilhamento e ter SELECT privilégio na exibição.

      • ADD VIEW view_name

        Identifica o modo de exibição a ser adicionado. Se o modo de exibição não puder ser encontrado, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND .

      • ALTER VIEW view_name

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

      • COMMENT comment

        Um literal opcional STRING anexado ao compartilhamento de 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 não view_share_name for especificado, o modo de exibição será conhecido sob seu próprio nome.

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

    • REMOVE VIEW view_name

      Remova o modo de exibição identificado por view_name do compartilhamento. Para executar esta declaração, você deve ser o proprietário da ação.

    • alter_add_model

      Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 14.0 e superior

      Adiciona um modelo ao compartilhamento ou modifica um modelo compartilhado existente. Para executar essa instrução, você deve ser o proprietário da ação 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 opcional STRING anexado ao compartilhamento de 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 não model_share_name for especificado, o modelo é conhecido sob seu próprio nome.

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

    • REMOVE MODEL model_name

      Remova o modelo identificado por model_name do compartilhamento. Para executar esta declaração, você deve ser o proprietário da ação.

    • RENAME TO to_share_name

      Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 11.3 LTS e superior

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

    • [ SET ] OWNER TO Principal

      Transfere a propriedade da ação para a principal. Para executar esta declaração, você deve ser o proprietário da ação.

      Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 11.3 LTS e superior

      SET é permitido como 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`