ALTER SHARE
S’applique à : Databricks SQL Databricks Runtime 10.4 LTS et ultérieur Unity Catalog uniquement
Ajoute, modifie ou supprime des schémas, des tables ou des vues matérialisées dans ou à partir du partage. Renomme un partage. Transfère la propriété d’un partage à un nouveau principal.
Autorisations requises :
- Pour mettre à jour le propriétaire du partage, vous devez disposer de l’un des rôles suivants : administrateur de metastore, propriétaire de l’objet de partage ou utilisateur disposant des privilèges
USE SHARE
etSET SHARE PERMISSION
. - Pour mettre à jour le nom du partage, vous devez être administrateur de metastore (ou un utilisateur disposant du privilège
CREATE_SHARE
) et propriétaire du partage. - Pour ajouter des tables ou des vues, vous devez être le propriétaire de l’objet de partage, avoir le privilège
USE SCHEMA
sur le schéma qui contient la table ou la vue et le privilègeSELECT
sur la table ou la vue. Vous devez conserver le privilègeSELECT
aussi longtemps que vous souhaitez partager la table ou la vue. - Pour mettre à jour toutes les autres propriétés du partage, vous devez être propriétaire.
Syntaxe
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 ]
Remarque
WITH HISTORY | WITHOUT HISTORY
est pris en charge dans Databricks Runtime 12.2 LTS et versions ultérieures. Databricks Runtime versions 11.1 à 12.0 nécessitent que vous spécifiiez WITH CHANGE DATA FEED [ START VERSION version ] ]
au lieu de WITH HISTORY
.
WITH CHANGE DATA FEED
est déconseillé.
Notez également que si, en plus d’effectuer des requêtes de voyage dans le temps et des lectures de diffusion en continu, vous souhaitez que vos clients puissent interroger un flux de données de modification de table’(CDF) à l’aide de la fonction table_changes(), vous devez activer CDF sur la table avant de le partager WITH HISTORY
(ou WITH CHANGE DATA FEED
).
Paramètres
-
Nom du partage à modifier.
alter_add_materialized_view
S’applique à : Databricks SQL Databricks Runtime 13.3 LTS et ultérieur
Important
Cette fonctionnalité est en préversion privée. Pour l’essayer, faites appel à votre contact Azure Databricks.
Ajoute une vue matérialisée au partage ou modifie une vue matérialisée partagée existante. Pour exécuter cette instruction, vous devez être le propriétaire du partage et disposer du privilège
SELECT
sur la vue matérialisée.ADD MATERIALIZED VIEW
mat_view_nameIdentifie la vue matérialisée à modifier. Si la vue matérialisée est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.
ALTER MATERIALIZED VIEW
mat_view_nameIdentifie la vue matérialisée à modifier. Si la vue matérialisée ne fait pas déjà partie du partage, Azure Databricks génère une erreur.
COMMENT comment
Un littéral
STRING
facultatif attaché à la vue matérialisée de la table en tant que commentaire.-
Affiche éventuellement la vue matérialisée sous un nom différent. Le nom peut être qualifié par un nom de schéma. Si aucun
mat_view_share_name
n’est spécifié, la vue matérialisée est connue sous son propre nom.Si le nom de partage existe déjà, Azure Databricks génère une erreur.
REMOVE MATERIALIZED VIEW
mat_view_nameS’applique à : Databricks SQL Databricks Runtime 13.3 LTS et ultérieur
Supprime la vue matérialisée identifiée par
mat_view_name
à partir du partage. Pour exécuter cette instruction, vous devez être le propriétaire du partage.alter_add_table
Ajoute une table ou des partitions de table au partage ou modifie une table partagée existante. Pour exécuter cette instruction, vous devez être le propriétaire du partage et disposer du privilège
SELECT
sur la table.ADD [ TABLE ]
table_nameIdentifie la table à ajouter. La table ne doit pas résider dans Unity Catalog. Si la table est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.
ALTER [ TABLE ]
table_nameIdentifie la table à modifier. Si la table ne fait pas déjà partie du partage, Azure Databricks génère une erreur.
COMMENT comment
Un littéral
STRING
facultatif attaché au partage de table en tant que commentaire.-
Une ou plusieurs partitions de la table à ajouter. Les clés de partition doivent correspondre au partitionnement de la table et être associées aux valeurs. S’il n’y a pas de
PARTITION clause
,ADD TABLE
ajoute la table entière.Pour partitionner par référence aux propriétés d’un destinataire, utilisez la syntaxe suivante :
PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
Partitionnement par référence aux propriétés du destinataire S’applique à : Databricks SQL Databricks Runtime 12.2 LTS et ultérieur.
-
Affiche la table sous un nom différent de manière facultative. Le nom peut être qualifié par un nom de base de données (schéma). Si aucun
table_share_name
n’est spécifié, la table est connue sous son propre nom. WITH HISTORY
ouWITHOUT HISTORY
S’applique à : Databricks SQL Databricks Runtime 12.2 LTS et versions ultérieures.
Quand
WITH HISTORY
est spécifié, partagez la table avec l’historique complet pour permettre aux destinataires d’effectuer des requêtes de voyage dans le temps. La table partagée peut ensuite être référencée à l’aide de VERSION AS OF et TIMESTAMP AS OF.Si, en plus d’effectuer des requêtes de voyage dans le temps et des lectures de diffusion en continu, vous souhaitez que vos clients puissent interroger un flux de données de modification de table’(CDF) à l’aide de la fonction table_changes(), vous devez activer CDF sur la table avant de le partager
WITH HISTORY
.Le comportement par défaut est
WITHOUT HISTORY
.
REMOVE TABLE
table_nameSupprime la table identifiée par
table_name
du partage. Pour exécuter cette instruction, vous devez être le propriétaire du partage.alter_add_schema
S’applique à : Databricks SQL Databricks Runtime 13.3 LTS et ultérieur
Ajoute un schéma au partage ou modifie un schéma partagé existant. Pour exécuter cette instruction, vous devez être le propriétaire du partage et du schéma.
ADD SCHEMA
schema_nameIdentifie le schéma à ajouter. Si le schéma est introuvable, Azure Databricks génère une erreur SCHEMA_NOT_FOUND.
ALTER SCHEMA
schema_nameIdentifie le schéma à modifier. Si le schéma ne fait pas déjà partie du partage, Azure Databricks génère une erreur.
COMMENT comment
Un littéral
STRING
facultatif attaché au partage du schéma en tant que commentaire.
REMOVE SCHEMA
schema_nameSupprimer du partage le schéma identifié par
schema_name
. Pour exécuter cette instruction, vous devez être le propriétaire du partage.alter_add_view
S’applique à : Databricks SQL Databricks Runtime 13.3 LTS et ultérieur
Ajoute une vue au partage ou modifie une vue partagée existante. Pour exécuter cette instruction, vous devez être le propriétaire du partage et disposer du privilège
SELECT
sur la vue.ADD VIEW
view_nameIdentifie la vue à modifier. Si la vue est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.
ALTER VIEW
view_nameIdentifie l’affichage à modifier. Si la vue ne fait pas déjà partie du partage, Azure Databricks génère une erreur.
COMMENT comment
Un littéral
STRING
facultatif attaché à la vue de la table en tant que commentaire.-
Affiche éventuellement la vue sous un nom différent. Le nom peut être qualifié par un nom de schéma. Si aucun
view_share_name
n’est spécifié, la vue est connue sous son propre nom.Si le nom de partage existe déjà, Azure Databricks génère une erreur.
REMOVE VIEW
view_nameSupprime la vue identifiée par
view_name
à partir du partage. Pour exécuter cette instruction, vous devez être le propriétaire du partage.alter_add_model
S’applique à : Databricks SQL Databricks Runtime 14.0 et ultérieur
Permet d’ajouter un modèle au partage ou de modifier un modèle partagé existant. Pour exécuter cette instruction, vous devez être le propriétaire du partage et disposer du privilège
EXECUTE
sur le modèle.ADD MODEL
model_namePermet d’identifier le modèle à ajouter. Si la plateforme Azure Databricks ne peut pas trouver le modèle, elle génère une erreur RESOURCE_DOES_NOT_EXIST.
ALTER MODEL
model_namePermet d’identifier le modèle à modifier. Si le modèle ne fait pas déjà partie du partage, Azure Databricks génère une erreur.
COMMENT comment
Un littéral
STRING
facultatif attaché au partage de modèles en tant que commentaire.-
Permet d’afficher éventuellement le modèle sous un nom différent. Le nom peut être qualifié par un nom de schéma. Si aucun
model_share_name
n’est spécifié, le modèle est connu sous son propre nom.Si le nom de partage existe déjà, Azure Databricks génère une erreur.
REMOVE MODEL
model_namePermet de supprimer le modèle identifié par
model_name
à partir du partage. Pour exécuter cette instruction, vous devez être le propriétaire du partage.RENAME TO
to_share_nameS’applique à : Databricks SQL Databricks Runtime 11.3 LTS et ultérieur
Renomme le partage. Le nom doit être unique parmi tous les partages dans le metastore. Pour exécuter cette instruction, vous devez être le propriétaire du partage et disposer du privilège
CREATE SHARE
sur le metastore.[ SET ] OWNER TO
principalTransfère la propriété du partage à
principal
. Pour exécuter cette instruction, vous devez être le propriétaire du partage.S’applique à : Databricks SQL Databricks Runtime 11.3 LTS et ultérieur
SET
est autorisé en tant que mot clé facultatif.
Exemples
-- 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`