ALTER SHARE

Si applica a:segno di spunta sì Solo databricks SQL segno di spunta sì Databricks Runtime 10.4 LTS e versioni successive segno di spunta sì al catalogo Unity

Aggiunge, modifica o rimuove schemi, tabelle, viste materializzate o viste da o verso la condivisione. Rinomina una condivisione. Trasferisce la proprietà di una condivisione a un nuovo entità.

Autorizzazioni necessarie:

  • Per aggiornare il proprietario della condivisione, è necessario essere uno dei seguenti: un amministratore del metastore, il proprietario dell'oggetto condivisione o un utente con entrambi i USE SHARE privilegi e SET SHARE PERMISSION .
  • Per aggiornare il nome della condivisione, è necessario essere un amministratore del metastore (o un utente con i privilegi) e condividere il CREATE_SHARE proprietario.
  • Per aggiungere tabelle o viste, è necessario essere il proprietario dell'oggetto condivisione, disporre USE SCHEMA dello schema che contiene la tabella o la vista e il SELECT privilegio per la tabella o la vista. È necessario mantenere il privilegio per tutto il SELECT tempo necessario per condividere la tabella o la vista.
  • Per aggiornare qualsiasi altra proprietà di condivisione, è necessario essere il proprietario.

Sintassi

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 è supportato in segno di spunta sì Databricks Runtime 12.2 LTS e versioni successive. Per Databricks Runtime versioni da 11.1 a 12.0 è necessario specificare WITH CHANGE DATA FEED [ START VERSION version ] ] anziché WITH HISTORY.

WITH CHANGE DATA FEED è stato deprecato.

Si noti anche che, oltre a eseguire query di spostamento del tempo e letture in streaming, si vuole che i clienti possano eseguire query sul feed di dati delle modifiche di una tabella usando la funzione table_changes(), è necessario abilitare CDF nella tabella prima di condividerlo WITH HISTORY (o WITH CHANGE DATA FEED).

Parametri

  • share_name

    Nome della condivisione da modificare.

  • alter_add_materialized_view

    Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

    Importante

    Questa funzionalità è in anteprima privata. Per provarla, rivolgersi al contatto di Azure Databricks.

    Aggiunge una vista materializzata alla condivisione o modifica una vista materializzata condivisa esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e disporre SELECT dei privilegi per la vista materializzata.

    • ADD MATERIALIZED VIEW mat_view_name

      Identifica la vista materializzata da aggiungere. Se non è possibile trovare la vista materializzata, Azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .

    • ALTER MATERIALIZED VIEW mat_view_name

      Identifica la vista materializzata da modificare. Se la vista materializzata non fa già parte della condivisione, Azure Databricks genera un errore.

    • COMMENT comment

      Valore letterale facoltativo STRING associato alla condivisione di visualizzazione materializzata come commento.

    • AS mat_view_share_name

      Facoltativamente, espone la vista materializzata con un nome diverso. Il nome può essere qualificato con un nome di schema. Se non viene specificato alcun valore mat_view_share_name , la vista materializzata è nota con il proprio nome.

      Se il nome condiviso esiste già, Azure Databricks genera un errore.

    • REMOVE MATERIALIZED VIEW mat_view_name

      Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

      Rimuovere la vista materializzata identificata dalla mat_view_name condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.

    • alter_add_table

      Aggiunge una tabella o partizioni di una tabella alla condivisione o modifica una tabella condivisa esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e disporre SELECT dei privilegi per la tabella.

      • ADD [ TABLE ] table_name

        Identifica la tabella da aggiungere. La tabella non deve risiedere nel catalogo unity. Se la tabella non è stata trovata, Azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .

      • ALTER [ TABLE ] table_name

        Identifica la tabella da modificare. Se la tabella non fa già parte della condivisione di Azure Databricks genera un errore.

      • COMMENT comment

        Valore letterale facoltativo STRING associato alla condivisione di tabella come commento.

      • Clausola PARTITION

        Una o più partizioni della tabella da aggiungere. Le chiavi di partizione devono corrispondere al partizionamento della tabella e devono essere associate ai valori. Se non è presenteADD TABLE, PARTITION clause l'intera tabella viene aggiunta.

        Per partizionare in base alle proprietà di un destinatario, usare la sintassi :

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

        Partizionamento per riferimento alle proprietà del destinatario Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 12.2 LTS e versioni successive.

      • AS table_share_name

        Facoltativamente, espone la tabella con un nome diverso. Il nome può essere qualificato con un nome di database (schema). Se non viene specificato alcun valore table_share_name , la tabella sarà nota con il proprio nome.

      • WITH HISTORY oppure WITHOUT HISTORY

        Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 12.2 LTS e versioni successive.

        Quando WITH HISTORY viene specificato, condividere la tabella con la cronologia completa, consentendo ai destinatari di eseguire query di spostamento temporale. È quindi possibile fare riferimento alla tabella condivisa usando VERSION AS OF e TIMESTAMP AS OF.

        Se, oltre a eseguire query di spostamento del tempo e letture in streaming, si vuole che i clienti possano eseguire query sul feed di dati delle modifiche di una tabella usando la funzione table_changes(), è necessario abilitare CDF nella tabella prima di condividerla WITH HISTORY.

        Il comportamento predefinito è WITHOUT HISTORY.

    • REMOVE TABLE table_name

      Rimuovere la tabella identificata dalla table_name condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.

    • alter_add_schema

      Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

      Aggiunge uno schema alla condivisione o modifica uno schema condiviso esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e dello schema.

      • ADD SCHEMA schema_name

        Identifica lo schema da aggiungere. Se non è possibile trovare lo schema, Azure Databricks genera un errore di SCHEMA_NOT_FOUND .

      • ALTER SCHEMA schema_name

        Identifica lo schema da modificare. Se lo schema non fa già parte della condivisione, Azure Databricks genera un errore.

      • COMMENT comment

        Valore letterale facoltativo STRING associato alla condivisione dello schema come commento.

    • REMOVE SCHEMA schema_name

      Rimuovere lo schema identificato dalla schema_name condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.

    • alter_add_view

      Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

      Aggiunge una visualizzazione alla condivisione o modifica una visualizzazione condivisa esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e disporre SELECT dei privilegi per la visualizzazione.

      • ADD VIEW view_name

        Identifica la visualizzazione da aggiungere. Se non è possibile trovare la vista azure Databricks genera un errore di TABLE_OR_VIEW_NOT_FOUND .

      • ALTER VIEW view_name

        Identifica la visualizzazione da modificare. Se la vista non fa già parte della condivisione di Azure Databricks genera un errore.

      • COMMENT comment

        Valore letterale facoltativo STRING associato alla condivisione di visualizzazione come commento.

      • AS view_share_name

        Facoltativamente, espone la visualizzazione con un nome diverso. Il nome può essere qualificato con un nome di schema. Se non viene specificato alcun view_share_name valore, la vista è nota con il proprio nome.

        Se il nome condiviso esiste già, Azure Databricks genera un errore.

    • REMOVE VIEW view_name

      Rimuovere la vista identificata dalla view_name condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.

    • alter_add_model

      Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 14.0 e versioni successive

      Aggiunge un modello alla condivisione o modifica un modello condiviso esistente. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e avere EXECUTE il privilegio per il modello.

      • ADD MODEL model_name

        Identifica il modello da aggiungere. Se il modello non è stato trovato, Azure Databricks genera un errore di RESOURCE_DOES_NOT_EXIST.

      • ALTER MODEL model_name

        Identifica il modello da modificare. Se il modello non fa già parte della condivisione Azure Databricks genera un errore.

      • COMMENT comment

        Valore letterale facoltativo STRING associato alla condivisione del modello come commento.

      • AS model_share_name

        Facoltativamente, espone il modello con un nome diverso. Il nome può essere qualificato con un nome di schema. Se non viene specificato alcun valore model_share_name , il modello è noto con il proprio nome.

        Se il nome condiviso esiste già, Azure Databricks genera un errore.

    • REMOVE MODEL model_name

      Rimuovere il modello identificato dalla model_name condivisione. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.

    • RENAME TO to_share_name

      Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 11.3 LTS e versioni successive

      Rinomina la condivisione. Il nome deve essere univoco tra tutte le condivisioni nel metastore. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione e avere CREATE SHARE il privilegio per il metastore.

    • [ SET ] OWNER TO principal

      Trasferisce la proprietà della condivisione a principal. Per eseguire questa istruzione, è necessario essere il proprietario della condivisione.

      Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 11.3 LTS e versioni successive

      SET è consentito come parola chiave facoltativa.

Esempi

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