ALTER SHARE
Aplica-se a: SQL do Databricks Databricks Runtime 10.4 LTS e superior 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
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égioSELECT
na tabela ou exibição. Você deve manter o privilégioSELECT
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 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
-
O nome do compartilhamento a ser alterado.
alter_add_materialized_view
Aplica-se a: SQL do Databricks 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_nameIdentifica 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_nameIdentifica 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.-
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_nameAplica-se a: SQL do Databricks 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_nameIdentifica 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_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 de
STRING
opcional anexado ao compartilhamento da 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
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: SQL do Databricks Databricks Runtime 12.2 LTS e versões superiores.
-
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
ouWITHOUT HISTORY
Aplica-se a: Databricks SQL 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_nameRemova 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: SQL do Databricks 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_nameIdentifica 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_nameIdentifica 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_nameRemova 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: SQL do Databricks 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_nameIdentifica 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_nameIdentifica 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.-
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_nameRemova 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: SQL do Databricks 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_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
STRING
opcional anexado ao compartilhamento do modelo como um comentário.-
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_nameRemova 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_nameAplica-se a: SQL do Databricks 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
principalTransfere a propriedade do compartilhamento para
principal
. Para executar essa instrução, você precisa ser o proprietário do compartilhamento.Aplica-se a: SQL do Databricks 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`