ALTER SHARE

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 10.4 LTS y versiones posteriores casilla marcada como Sí solo Unity Catalog

Agrega, altera o elimina esquemas, tablas, vistas materializadas o vistas al recurso compartido o desde él. Cambia el nombre de un recurso compartido. Transfiere la propiedad de un recurso compartido a una nueva entidad de seguridad.

Permisos necesarios:

  • Para actualizar el propietario del recurso compartido, debe ser uno de los siguientes: un administrador de metastore, el propietario del objeto de recurso compartido o un usuario con los privilegios USE SHARE y SET SHARE PERMISSION.
  • Para actualizar el nombre del recurso compartido, debe ser un administrador del metastore (o un usuario con el privilegio CREATE_SHARE) y el propietario del recurso compartido.
  • Para agregar tablas o vistas, debe ser el propietario del objeto de recurso compartido, tenga USE SCHEMA en el esquema que contiene la tabla o vista y el privilegio SELECT en la tabla o vista. Debe mantener el privilegio SELECT siempre que desee compartir la tabla o la vista.
  • Debe ser el propietario para actualizar cualquier otra propiedad de recurso compartido.

Sintaxis

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 se admite en casilla marcada como sí Databricks Runtime 12.2 LTS y versiones posteriores. Las versiones 11.1 a 12.0 de Databricks Runtime requieren que especifique WITH CHANGE DATA FEED [ START VERSION version ] ] en lugar de WITH HISTORY.

WITH CHANGE DATA FEED está en desuso.

Tenga en cuenta también que, además de realizar consultas de viaje en el tiempo y lecturas de streaming, quiere que los clientes puedan consultar una fuente de distribución de datos modificados (CDF) de una tabla mediante la función table_changes(), debe habilitar CDF en la tabla antes de compartirlo en WITH HISTORY (o WITH CHANGE DATA FEED).

Parámetros

  • share_name

    El nombre del recurso compartido que se va a modificar.

  • alter_add_materialized_view

    Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 13.3 LTS y versiones posteriores

    Importante

    Esta característica se encuentra en versión preliminar privada. Para probarla, acuda a su contacto de Azure Databricks.

    Agrega una vista materializada al recurso compartido o modifica una vista materializada de recurso compartido existente. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido y tener privilegios SELECT en la vista materializada.

    • ADD MATERIALIZED VIEW mat_view_name

      Identifica la vista materializada que se va a agregar. Si no se encuentra la vista materializada, Azure Databricks genera un error TABLE_OR_VIEW_NOT_FOUND.

    • ALTER MATERIALIZED VIEW mat_view_name

      Identifica la vista materializada que se va a agregar. Si la vista materializada aún no forma parte del recurso compartido, Azure Databricks genera un error.

    • COMMENT comment

      Un literal de STRING opcional adjunto al recurso compartido de vista materializada como comentario.

    • AS mat_view_share_name

      Opcionalmente, expone la vista materializada con un nombre diferente. El nombre se puede calificar con un nombre de esquema. Si no se especifica ningún mat_view_share_name, la vista materializada se conoce con su propio nombre.

      Si el nombre compartido ya existe, Azure Databricks genera un error.

    • REMOVE MATERIALIZED VIEW mat_view_name

      Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como sí Databricks Runtime 13.3 LTS y versiones posteriores

      Quite la vista materializada identificada por mat_view_name del recurso compartido. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido.

    • alter_add_table

      Agrega una tabla o particiones de una tabla al recurso compartido o modifica una tabla compartida existente. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido y tener privilegios SELECT en la tabla.

      • ADD [ TABLE ] table_name

        Identifica la tabla que se va a agregar. La tabla no debe residir en Unity Catalog. Si no se encuentra la tabla, Azure Databricks genera un error TABLE_OR_VIEW_NOT_FOUND.

      • ALTER [ TABLE ] table_name

        Identifica la tabla que se va a modificar. Si la tabla aún no forma parte del recurso compartido de Azure Databricks genera un error.

      • COMMENT comment

        Un literal de STRING opcional adjunto al recurso compartido de tabla como comentario.

      • Cláusula PARTITION

        Una o varias particiones de la tabla que se va a agregar. Las claves de partición deben coincidir con la creación de particiones de la tabla y estar asociadas a valores. Si no PARTITION clause está presente, ADD TABLE agrega toda la tabla.

        Para crear particiones por referencia a las propiedades de un destinatario, use la sintaxis :

        PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
        

        La creación de particiones por referencia a las propiedades del destinatario se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 12.2 LTS y versiones posteriores.

      • AS table_share_name

        Opcionalmente, expone la tabla con un nombre diferente. El nombre se puede calificar con un nombre de base de datos (esquema). Si no table_share_name se especifica, la tabla se conocerá con su propio nombre.

      • WITH HISTORY o WITHOUT HISTORY

        Se aplica a: casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 12.2 LTS y versiones posteriores.

        Cuando se especifique WITH HISTORY, comparta la tabla con el historial completo, lo que permite a los destinatarios realizar consultas de viaje en el tiempo. Luego, se puede hacer referencia a la tabla compartida mediante VERSION AS OF y TIMESTAMP AS OF.

        Si, además de realizar consultas de viaje en el tiempo y lecturas de streaming, quiere que los clientes puedan consultar una fuente de distribución de datos modificados (CDF) de una tabla mediante la función table_changes(), debe habilitar CDF en la tabla antes de compartirlo en WITH HISTORY.

        El comportamiento predeterminado es WITHOUT HISTORY.

    • REMOVE TABLE table_name

      Quita la tabla identificada por table_name del recurso compartido. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido.

    • alter_add_schema

      Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 13.3 LTS y versiones posteriores

      Agrega un esquema al recurso compartido o modifica un esquema compartido existente. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido y del esquema.

      • ADD SCHEMA schema_name

        Identifica el esquema que se va a agregar. Si no se encuentra el esquema, Azure Databricks genera un error SCHEMA_NOT_FOUND.

      • ALTER SCHEMA schema_name

        Identifica el esquema que se va a modificar. Si el esquema aún no forma parte del recurso compartido, Azure Databricks genera un error.

      • COMMENT comment

        Un literal de STRING opcional adjunto al recurso compartido de esquema como comentario.

    • REMOVE SCHEMA schema_name

      Quita el esquema identificado por schema_name del recurso compartido. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido.

    • alter_add_view

      Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 13.3 LTS y versiones posteriores

      Agrega una vista al recurso compartido o modifica una vista compartida existente. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido y tener privilegios SELECT en la vista.

      • ADD VIEW view_name

        Identifica la vista que se va a agregar. Si no se encuentra la vista, Azure Databricks genera un error TABLE_OR_VIEW_NOT_FOUND.

      • ALTER VIEW view_name

        Identifica la vista que se va a alterar. Si la vista aún no forma parte del recurso compartido de Azure Databricks genera un error.

      • COMMENT comment

        Un literal de STRING opcional adjunto al recurso compartido de vista como comentario.

      • AS view_share_name

        Opcionalmente, expone la vista con un nombre diferente. El nombre se puede calificar con un nombre de esquema. Si no se especifica ningún view_share_name, la vista se conoce con su propio nombre.

        Si el nombre compartido ya existe, Azure Databricks genera un error.

    • REMOVE VIEW view_name

      Quita la vista identificada por view_name del recurso compartido. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido.

    • alter_add_model

      Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como sí Databricks Runtime 14.0 y versiones posteriores

      Agrega un modelo al recurso compartido o modifica un modelo compartido existente. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido y tener privilegios EXECUTE en el modelo.

      • ADD MODEL model_name

        Identifica el modelo que se va a agregar. Si no se encuentra el modelo, Azure Databricks genera un error RESOURCE_DOES_NOT_EXIST.

      • ALTER MODEL model_name

        Identifica el modelo que se va a modificar. Si el modelo aún no forma parte del recurso compartido de Azure Databricks genera un error.

      • COMMENT comment

        Un literal de STRING opcional adjunto al recurso compartido de modelo como comentario.

      • AS model_share_name

        Opcionalmente, expone el modelo con un nombre diferente. El nombre se puede calificar con un nombre de esquema. Si no se especifica ningún model_share_name, el modelo se conoce con su propio nombre.

        Si el nombre compartido ya existe, Azure Databricks genera un error.

    • REMOVE MODEL model_name

      Quite el modelo identificado por model_name del recurso compartido. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido.

    • RENAME TO to_share_name

      Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 11.3 LTS y versiones posteriores

      Cambia el nombre del recurso compartido. El nombre debe ser único entre todos los recursos compartidos del metastore. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido y tener privilegios CREATE SHARE en la tabla.

    • [ SET ] OWNER TO principal

      Transfiere la propiedad del recurso compartido a principal. Para ejecutar esta instrucción, debe ser el propietario del recurso compartido.

      Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 11.3 LTS y versiones posteriores

      SET se permite como una palabra clave opcional.

Ejemplos

-- 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`