ALTER SHARE
Aplica-se a: Databricks SQL Databricks Runtime 10.4 LTS e superior apenas 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 os privilégios de
USE SHARE
eSET 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 deSELECT
na tabela ou exibição. Você deve manter o privilégio deSELECT
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 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ê deve habilitar o CDF na tabela antes de compartilhá-lo WITH HISTORY
(ou WITH CHANGE DATA FEED
).
Parâmetros
-
O nome da partilha a alterar.
alter_add_materialized_view
Aplica-se a: Databricks SQL 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_nameIdentifica 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_nameIdentifica 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.-
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_nameAplica-se a: Databricks SQL Databricks Runtime 13.3 LTS e superior
Remova a visão materializada identificada por
mat_view_name
do 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 esta instrução, deve ser o proprietário da partilha e ter o privilégio
SELECT
na tabela.ADD [ TABLE ]
table_nameIdentifica 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 TABLE_OR_VIEW_NOT_FOUND.
ALTER [ TABLE ]
table_nameIdentifica 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
STRING
opcional anexado ao compartilhamento de tabela como um comentário.-
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 nenhum
PARTITION clause
estiver presente,ADD TABLE
adiciona a tabela inteira.Para particionar por referência às propriedades de destinatário de , use a sintaxe:
PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
Particionamento por referência às propriedades do destinatário Aplica-se a:Databricks SQL Databricks Runtime 12.2 LTS e superior.
-
Opcionalmente, expõe a tabela com um nome diferente. O nome pode ser qualificado com um nome de banco de dados (esquema). Se nenhuma
table_share_name
for especificada, a tabela será conhecida sob seu próprio nome. WITH HISTORY
ouWITHOUT HISTORY
Aplica-se a: Databricks SQL 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 VERSÃO A PARTIR DE e CARIMBO DE DATA/HORA A PARTIR DE.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ê deve habilitar o CDF na tabela antes de compartilhá-lo
WITH HISTORY
.O comportamento padrão é
WITHOUT HISTORY
.
REMOVE TABLE
table_nameRemova 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: Databricks SQL 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_nameIdentifica 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_nameIdentifica 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
STRING
opcional anexado ao compartilhamento de esquema como um comentário.
REMOVE SCHEMA
schema_nameRemova 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: Databricks SQL 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_nameIdentifica 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_nameIdentifica 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.-
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_nameRemova a vista identificada por
view_name
da partilha. Para executar esta declaração, você deve ser o proprietário da ação.alter_add_model
Aplica-se a: Databricks SQL 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_nameIdentifica 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_nameIdentifica 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.-
Opcionalmente, expõe o modelo com um nome diferente. O nome pode ser associado a 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_nameRemova 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_nameAplica-se a: Databricks SQL 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
PrincipalTransfere 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: Databricks SQL 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`