ALTER SHARE

S’applique à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 10.4 LTS et versions ultérieures oui coché 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 et SET 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ège SELECT sur la table ou la vue. Vous devez conserver le privilège SELECT 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 coche marquée oui 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

  • share_name

    Nom du partage à modifier.

  • alter_add_materialized_view

    S’applique à :coche marquée oui Databricks SQL case marquée oui Databricks Runtime 13.3 LTS et versions ultérieures

    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_name

      Identifie 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_name

      Identifie 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.

    • AS mat_view_share_name

      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_name

      S’applique à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 13.3 LTS et versions ultérieures

      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_name

        Identifie 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_name

        Identifie 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.

      • Clause PARTITION

        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 à :coche marquée oui Databricks SQL oui coché Databricks Runtime 12.2 LTS et versions ultérieures.

      • AS table_share_name

        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 ou WITHOUT HISTORY

        S’applique à : coche marquée oui Databricks SQL oui coché 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_name

      Supprime 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 à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 13.3 LTS et versions ultérieures

      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_name

        Identifie le schéma à ajouter. Si le schéma est introuvable, Azure Databricks génère une erreur SCHEMA_NOT_FOUND.

      • ALTER SCHEMA schema_name

        Identifie 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_name

      Supprimer 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 à :coche marquée oui Databricks SQL oui coché Databricks Runtime 13.3 LTS et versions ultérieures

      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_name

        Identifie la vue à modifier. Si la vue est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.

      • ALTER VIEW view_name

        Identifie 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.

      • AS view_share_name

        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_name

      Supprime 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

      Appliquer sur :coche marquée oui Databricks SQL oui coché Databricks Runtime 14.0 et versions ultérieures

      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_name

        Permet 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_name

        Permet 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.

      • AS model_share_name

        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_name

      Permet 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_name

      S’applique à :coche marquée oui Databricks SQL oui coché Databricks Runtime 11.3 LTS et versions ultérieures

      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 principal

      Transfère la propriété du partage à principal. Pour exécuter cette instruction, vous devez être le propriétaire du partage.

      S’applique à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 11.3 LTS et versions ultérieures

      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`