Delen via


ALTER SHARE

Van toepassing op:vinkje als ja aan Alleen Databricks SQL vinkje als ja aan Databricks Runtime 10.4 LTS en hoger vinkje als ja aan dan Unity Catalog

Hiermee kunt u schema's, tabellen, gerealiseerde weergaven of weergaven toevoegen, wijzigen of verwijderen uit de share. Hiermee wijzigt u de naam van een share. Hiermee wordt het eigendom van een share overgedragen aan een nieuwe principal.

Vereiste machtigingen:

  • Als u de eigenaar van de share wilt bijwerken, moet u een van de volgende zijn: een metastore-beheerder, de eigenaar van het share-object of een gebruiker met zowel de USE SHARE als SET SHARE PERMISSION de bevoegdheden.
  • Als u de naam van de share wilt bijwerken, moet u een metastore-beheerder (of gebruiker met de bevoegdheid) en eigenaar van de CREATE_SHARE share zijn.
  • Als u tabellen of weergaven wilt toevoegen, moet u de eigenaar zijn van het share-object, het schema hebben USE SCHEMA dat de tabel of weergave bevat en de SELECT bevoegdheid voor de tabel of weergave. U moet de SELECT bevoegdheid behouden zolang u de tabel of weergave wilt delen.
  • Als u andere shareeigenschappen wilt bijwerken, moet u de eigenaar zijn.

Syntaxis

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 ]

Notitie

WITH HISTORY | WITHOUT HISTORY wordt ondersteund in vinkje als ja aan Databricks Runtime 12.2 LTS en hoger. Voor Databricks Runtime-versies 11.1 tot en met 12.0 moet u opgeven WITH CHANGE DATA FEED [ START VERSION version ] ] in plaats van WITH HISTORY.

WITH CHANGE DATA FEED is afgeschaft.

Houd er ook rekening mee dat als u, naast tijdreisquery's en streaming-leesbewerkingen, wilt dat uw klanten een query kunnen uitvoeren op de gegevensfeed van een tabel met behulp van de functie table_changes(), moet u CDF in de tabel inschakelen voordat u deze WITH HISTORY deelt (ofWITH CHANGE DATA FEED).

Parameters

  • share_name

    De naam van de share die moet worden gewijzigd.

  • alter_add_materialized_view

    Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

    Belangrijk

    Deze functie is beschikbaar als beperkte preview. Als u het wilt proberen, neemt u contact op met uw contactpersoon voor Azure Databricks.

    Hiermee voegt u een gerealiseerde weergave toe aan de share of wijzigt u een bestaande gedeelde gerealiseerde weergave. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn en bevoegdheden hebben SELECT voor de gerealiseerde weergave.

    • ADD MATERIALIZED VIEW mat_view_name

      Identificeert de gerealiseerde weergave die moet worden toegevoegd. Als de gerealiseerde weergave niet kan worden gevonden, genereert Azure Databricks een TABLE_OR_VIEW_NOT_FOUND fout.

    • ALTER MATERIALIZED VIEW mat_view_name

      Identificeert de gerealiseerde weergave die moet worden gewijzigd. Als de gerealiseerde weergave nog geen deel uitmaakt van de share, treedt er een fout op in Azure Databricks.

    • COMMENT comment

      Een optionele letterlijke STRING letterlijke koppeling die is gekoppeld aan de gerealiseerde weergaveshare als opmerking.

    • AS mat_view_share_name

      U kunt desgewenst de gerealiseerde weergave onder een andere naam weergeven. De naam kan worden gekwalificeerd met een schemanaam. Als er geen mat_view_share_name is opgegeven, staat de gerealiseerde weergave onder de eigen naam bekend.

      Als de gedeelde naam al bestaat, treedt er een fout op in Azure Databricks.

    • REMOVE MATERIALIZED VIEW mat_view_name

      Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

      Verwijder de gerealiseerde weergave die is geïdentificeerd door mat_view_name de share. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn.

    • alter_add_table

      Hiermee voegt u een tabel of partities van een tabel toe aan de share of wijzigt u een bestaande gedeelde tabel. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn en bevoegd zijn SELECT voor de tabel.

      • ADD [ TABLE ] table_name

        Identificeert de tabel die moet worden toegevoegd. De tabel mag zich niet in Unity Catalog bevinden. Als de tabel niet kan worden gevonden, genereert Azure Databricks een TABLE_OR_VIEW_NOT_FOUND fout.

      • ALTER [ TABLE ] table_name

        Hiermee wordt aangegeven welke tabel moet worden gewijzigd. Als de tabel nog geen deel uitmaakt van de share, treedt er een fout op in Azure Databricks.

      • COMMENT comment

        Een optionele letterlijke STRING aan de tabelshare gekoppeld als opmerking.

      • PARTITION-component

        Een of meer partities van de tabel die moeten worden toegevoegd. De partitiesleutels moeten overeenkomen met de partitionering van de tabel en moeten worden gekoppeld aan waarden. Als er geen PARTITION clause aanwezig ADD TABLE is, wordt de hele tabel toegevoegd.

        Gebruik de syntaxis om te partitioneren op basis van een verwijzing naar de eigenschappen van een geadresseerde:

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

        Partitionering op basis van de eigenschappen van geadresseerden is van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 12.2 LTS en hoger.

      • AS table_share_name

        U kunt de tabel desgewenst onder een andere naam weergeven. De naam kan worden gekwalificeerd met een databasenaam (schema). Als er geen table_share_name is opgegeven, wordt de tabel onder de eigen naam bekend.

      • WITH HISTORY of WITHOUT HISTORY

        Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 12.2 LTS en hoger.

        Wanneer WITH HISTORY dit is opgegeven, deelt u de tabel met de volledige geschiedenis, zodat ontvangers tijdreizenquery's kunnen uitvoeren. Er kan vervolgens naar de gedeelde tabel worden verwezen met VERSIE AS OF en TIMESTAMP AS OF.

        Als u, naast het uitvoeren van tijdreisquery's en streaming-leesbewerkingen, wilt dat uw klanten een query kunnen uitvoeren op de gegevensfeed van een tabel met behulp van de functie table_changes(), moet u CDF inschakelen voordat u deze WITH HISTORYdeelt.

        Het standaardgedrag is WITHOUT HISTORY.

    • REMOVE TABLE table_name

      Verwijder de tabel die door table_name de share is geïdentificeerd. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn.

    • alter_add_schema

      Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

      Hiermee voegt u een schema toe aan de share of wijzigt u een bestaand gedeeld schema. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share en het schema zijn.

      • ADD SCHEMA schema_name

        Identificeert het schema dat moet worden toegevoegd. Als het schema niet kan worden gevonden, genereert Azure Databricks een SCHEMA_NOT_FOUND fout.

      • ALTER SCHEMA schema_name

        Hiermee wordt het schema geïdentificeerd dat moet worden gewijzigd. Als het schema nog geen deel uitmaakt van de share, genereert Azure Databricks een fout.

      • COMMENT comment

        Een optionele letterlijke letterlijke STRING eigenschap die als opmerking aan de schemashare is gekoppeld.

    • REMOVE SCHEMA schema_name

      Verwijder het schema dat door schema_name de share is geïdentificeerd. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn.

    • alter_add_view

      Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

      Hiermee voegt u een weergave toe aan de share of wijzigt u een bestaande gedeelde weergave. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn en bevoegd zijn SELECT voor de weergave.

      • ADD VIEW view_name

        Identificeert de weergave die moet worden toegevoegd. Als de weergave niet kan worden gevonden, wordt er een TABLE_OR_VIEW_NOT_FOUND fout gegenereerd in Azure Databricks.

      • ALTER VIEW view_name

        Identificeert de weergave die moet worden gewijzigd. Als de weergave nog geen deel uitmaakt van de share, treedt er een fout op in Azure Databricks.

      • COMMENT comment

        Een optionele letterlijke STRING letterlijke koppeling die als opmerking aan de weergaveshare is gekoppeld.

      • AS view_share_name

        U kunt de weergave desgewenst onder een andere naam weergeven. De naam kan worden gekwalificeerd met een schemanaam. Als er geen view_share_name is opgegeven, staat de weergave onder de eigen naam bekend.

        Als de gedeelde naam al bestaat, treedt er een fout op in Azure Databricks.

    • REMOVE VIEW view_name

      Verwijder de weergave die door view_name de share is geïdentificeerd. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn.

    • alter_add_model

      Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 14.0 en hoger

      Hiermee voegt u een model toe aan de share of wijzigt u een bestaand gedeeld model. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn en bevoegd zijn EXECUTE voor het model.

      • ADD MODEL model_name

        Identificeert het model dat moet worden toegevoegd. Als het model niet kan worden gevonden, genereert Azure Databricks een RESOURCE_DOES_NOT_EXIST fout.

      • ALTER MODEL model_name

        Identificeert het model dat moet worden gewijzigd. Als het model nog geen deel uitmaakt van de share, treedt er een fout op in Azure Databricks.

      • COMMENT comment

        Een optionele letterlijke letterlijke STRING koppeling die als opmerking aan de modelshare is gekoppeld.

      • AS model_share_name

        Het model wordt eventueel onder een andere naam weergegeven. De naam kan worden gekwalificeerd met een schemanaam. Als er geen model_share_name is opgegeven, staat het model onder zijn eigen naam bekend.

        Als de gedeelde naam al bestaat, treedt er een fout op in Azure Databricks.

    • REMOVE MODEL model_name

      Verwijder het model dat door model_name de share is geïdentificeerd. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn.

    • RENAME TO to_share_name

      Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

      Wijzigt de naam van de share. De naam moet uniek zijn voor alle shares in de metastore. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn en bevoegd zijn CREATE SHARE voor de metastore.

    • [ SET ] OWNER TO principal

      Hiermee wordt het eigendom van de share overgedragen aan principal. Als u deze instructie wilt uitvoeren, moet u de eigenaar van de share zijn.

      Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

      SET is toegestaan als een optioneel trefwoord.

Voorbeelden

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