다음을 통해 공유


ALTER SHARE

적용 대상:확인 표시 예 Databricks SQL 확인 표시 예 Databricks Runtime 10.4 LTS 이상 확인 표시 예 Unity Catalog 전용

스키마, tables, 구체화된 views, 또는 views를 공유에 추가, 변경 또는 제거합니다. 공유 이름을 바꿉니다. 공유 소유권을 새 보안 주체에게 전송합니다.

권한 필요:

  • 공유 소유자로 update하려면, 메타스토어 관리자이거나 공유 개체의 소유자여야 하며, 또는 USE SHARESET SHARE PERMISSION 권한을 모두 가진 사용자이어야 합니다.
  • 공유 이름을 update 하기 위해서는 metastore 관리자(또는 CREATE_SHARE 권한이 있는 사용자)이고 공유 소유자여야 합니다.
  • tables 또는 views을 추가하려면 공유 개체의 소유자가 되어야 하고, table 또는 뷰가 포함된 schema에 대한 USE SCHEMA 권한과 table 또는 뷰에 대한 SELECT 권한이 있어야 합니다. table 또는 보기를 공유하거나 보려면 원하는 동안 SELECT 권한을 계속 유지해야 합니다.
  • 다른 공유 속성을 update 소유자여야 합니다.

Syntax

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 ]

참고 항목

WITH HISTORY | WITHOUT HISTORY 는 Databricks Runtime 12.2 LTS 이상에서 예로 표시된 확인 지원됩니다. Databricks Runtime 버전 11.1~ 12.0에서는 대신 지정 WITH CHANGE DATA FEED [ START VERSION version ] ]WITH HISTORY해야 합니다.

WITH CHANGE DATA FEED는 사용되지 않습니다.

또한 시간 이동 쿼리 및 스트리밍 읽기를 수행하는 것 외에도 고객이 table_changes() 함수사용하여 CDF(변경 데이터 피드)를 쿼리할 수 있도록 하려면 (또는 )를 공유하기 전에 CDF를 사용하도록 합니다.

Parameters

  • share_name

    변경할 공유의 이름입니다.

  • alter_add_materialized_view

    적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 13.3 LTS 이상

    Important

    이 기능은 현재 프라이빗 미리 보기로 제공됩니다. 이를 시도하려면 Azure Databricks 담당자에게 문의하세요.

    공유에 구체화된 뷰를 추가하거나 기존 공유 구체화된 뷰를 수정합니다. 이 문을 실행하려면 공유의 소유자여야 하며 SELECT 구체화된 뷰에 대한 권한이 있어야 합니다.

    • ADD MATERIALIZED VIEW mat_view_name

      추가할 구체화된 뷰를 식별합니다. 구체화된 뷰를 찾을 수 없으면 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.

    • ALTER MATERIALIZED VIEW mat_view_name

      변경할 구체화된 뷰를 식별합니다. 구체화된 뷰가 아직 공유에 속하지 않으면 Azure Databricks에서 오류가 발생합니다.

    • COMMENT comment

      구체화된 뷰 공유에 주석으로 연결된 선택적 리터럴 STRING 입니다.

    • AS mat_view_share_name

      필요에 따라 다른 이름으로 구체화된 뷰를 노출합니다. 이름은 schema 이름으로 구체화할 수 있습니다. 지정되지 mat_view_share_name 않은 경우 구체화된 뷰는 자체 이름으로 알려져 있습니다.

      공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.

    • REMOVE MATERIALIZED VIEW mat_view_name

      적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 13.3 LTS 이상

      공유에서 mat_view_name로 식별된 구체화된 뷰 Remove. 이 명령문을 실행하려면 공유 소유자여야 합니다.

    • alter_add_table

      공유에 table 또는 table의 파티션을 추가하거나, 기존 공유 table를 수정합니다. 이 문을 실행하려면 쉐어의 소유자가 되어야 하며 table에 대한 SELECT 권한이 있어야 합니다.

      • ADD [ TABLE ] table_name

        추가할 table을 식별합니다. table는 Unity Catalog에 있어서는 안 됩니다. table을(를) 찾을 수 없으면 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.

      • ALTER [ TABLE ] table_name

        변경할 table 식별합니다. table 아직 공유의 일부가 되지 않을 경우 Azure Databricks에서 오류가 발생합니다.

      • COMMENT comment

        table 공유에 주석으로 첨부된 선택적 STRING 리터럴입니다.

      • PARTITION 절

        table에 추가할 하나 이상의 파티션. partition 키는 table 분할과 일치해야 하고 values에 연결되어야 합니다. PARTITION clause이 없으면 ADD TABLE이 전체 table를 추가합니다.

        수신자 속성에 대한 참조로 partition 구문을 사용합니다.

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

        받는 사람 속성 에 대한 참조로 분할 적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 12.2 LTS 이상

      • AS table_share_name

        선택적으로 다른 이름으로 table를 표시할 수 있습니다. 이름은 데이터베이스(schema) 이름으로 한정할 수 있습니다. table_share_name이 지정되지 않은 경우 table은 자체 이름으로 알려지게 됩니다.

      • WITH HISTORY 또는 WITHOUT HISTORY

        적용 대상: 예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 12.2 LTS 이상.

        WITH HISTORY 지정되면 table 전체 기록을 공유하여 recipients 시간 이동 쿼리를 실행할 수 있도록 합니다. VERSION AS OF 및 TIMESTAMP AS OF를 사용하여 공유 table을(를) 참조할 수 있습니다.

        시간 이동 쿼리 및 스트리밍 읽기를 수행하는 것 외에도 고객이 table_changes() 함수사용하여 CDF(변경 데이터 피드)를 쿼리할 수 있도록 하려면 공유하기 전에 CDF를 사용하도록 합니다.

        기본 동작은 .입니다 WITHOUT HISTORY.

    • REMOVE TABLE table_name

      공유에서 table_name이 식별한 table에 있는 Remove. 이 명령문을 실행하려면 공유 소유자여야 합니다.

    • alter_add_schema

      적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 13.3 LTS 이상

      공유에 schema 추가하거나 기존 공유 schema수정합니다. 이 명령문을 실행하려면 공유의 소유자와 schema의 소유자여야 합니다.

      • ADD SCHEMA schema_name

        추가할 schema을 식별합니다. schema을(를) 찾을 수 없는 경우, Azure Databricks는 SCHEMA_NOT_FOUND 오류를 발생시킵니다.

      • ALTER SCHEMA schema_name

        변경할 schema을(를) 식별합니다. schema가 이미 공유의 일부가 아니라면, Azure Databricks는 오류를 발생시킵니다.

      • COMMENT comment

        선택적 STRING 리터럴이 schema 공유에 주석으로 붙어 있습니다.

    • REMOVE SCHEMA schema_name

      공유에서 Remove이/가 schema_name에 의해 식별된 schema. 이 명령문을 실행하려면 공유 소유자여야 합니다.

    • alter_add_view

      적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 13.3 LTS 이상

      공유에 보기를 추가하거나 기존 공유 보기를 수정합니다. 이 문을 실행하려면 공유의 소유자여야 하며 보기에 대한 권한이 있어야 SELECT 합니다.

      • ADD VIEW view_name

        추가할 뷰를 식별합니다. 뷰를 찾을 수 없으면 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.

      • ALTER VIEW view_name

        변경할 뷰를 식별합니다. 보기가 공유 Azure Databricks에 아직 포함되지 않은 경우 오류가 발생합니다.

      • COMMENT comment

        뷰 공유에 주석으로 연결된 선택적 리터럴 STRING 입니다.

      • AS view_share_name

        필요에 따라 다른 이름으로 보기를 노출합니다. 이름은 schema 이름으로 수식할 수 있습니다. 지정되지 view_share_name 않은 경우 뷰는 고유한 이름으로 알려져 있습니다.

        공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.

    • REMOVE VIEW view_name

      공유에서 view_name에 의해 식별된 보기를 Remove. 이 명령문을 실행하려면 공유 소유자여야 합니다.

    • alter_add_model

      적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 14.0 이상

      공유에 모델을 추가하거나 기존 공유 모델을 수정합니다. 이 문을 실행하려면 공유의 소유자여야 하며 EXECUTE 모델에 대한 권한이 있어야 합니다.

      • ADD MODEL model_name

        추가할 모델을 식별합니다. 모델을 찾을 수 없는 경우 Azure Databricks에서 RESOURCE_DOES_NOT_EXIST 오류가 발생합니다.

      • ALTER MODEL model_name

        변경할 모델을 식별합니다. 모델이 아직 공유에 속하지 않으면 Azure Databricks에서 오류가 발생합니다.

      • COMMENT comment

        모델 공유에 주석으로 연결된 선택적 리터럴 STRING 입니다.

      • AS model_share_name

        필요에 따라 다른 이름으로 모델을 노출합니다. 이름은 schema 이름으로 한정할 수 있습니다. 지정되지 model_share_name 않은 경우 모델은 자체 이름으로 알려져 있습니다.

        공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.

    • REMOVE MODEL model_name

      model_name이 공유에서 식별된 모델 Remove. 이 명령문을 실행하려면 공유 소유자여야 합니다.

    • RENAME TO to_share_name

      적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 11.3 LTS 이상

      공유 이름을 바꿉니다. 이름은 메타스토어의 모든 shares 중에서 고유해야 합니다. 이 문을 실행하려면 공유 소유자여야 하며 메타스토어에 대한 CREATE SHARE 권한이 있어야 합니다.

    • [ SET ] OWNER TO principal

      공유 소유권을 principal로 전송합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.

      적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 11.3 LTS 이상

      SET는 선택적 키워드로 허용됩니다.

예제

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