적용 대상:
Databricks SQL
Databricks Runtime 10.4 LTS 이상
Unity 카탈로그에만 해당
공유에 스키마, 테이블, 구체화된 뷰 또는 뷰를 추가하거나 변경하거나 제거합니다. 공유 이름을 바꿉니다. 공유 소유권을 새 보안 주체에게 전송합니다.
권한 필요:
- 공유 소유자를 업데이트하려면 metastore 관리자여야 합니다.
- 공유 이름을 업데이트하려면 권한
CREATE SHARE공유 소유자가 있는 사용자 여야 합니다. - 테이블 또는 뷰를 추가하려면 공유 객체의 소유자여야 하며, 테이블 또는 뷰가 포함된 스키마에 대해
USE SCHEMA권한이 있어야 하고, 해당 테이블 또는 뷰에 대한SELECT권한을 보유해야 합니다. 테이블 또는 뷰를 공유하고 싶은 동안에는SELECT권한을 계속 유지해야 합니다. - 다른 공유 속성을 업데이트하려면 소유자여야 합니다.
문법
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 } MODEL 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해야 합니다. Databricks SQL 및 Databricks Runtime 16.2 이상 WITH HISTORY 에서는 기본값이 됩니다.
WITH CHANGE DATA FEED는 사용되지 않습니다.
또한 시간 이동 쿼리 및 스트리밍 읽기를 수행하는 것 외에도 고객이 table_changes() 함수를 사용하여 테이블의 CDF(변경 데이터 피드)를 쿼리할 수 있도록 하려면 공유(또는)하기 전에 WITH HISTORYWITH CHANGE DATA FEED해야 합니다.
매개 변수
-
변경할 공유의 이름입니다.
alter_add_materialized_view적용 대상:
Databricks SQL
Databricks Runtime 13.3 LTS 이상공유에 구체화된 뷰를 추가하거나 기존 공유 구체화된 뷰를 수정합니다. 이 문을 실행하려면 공유의 소유자여야 하며
SELECT구체화된 뷰에 대한 권한이 있어야 합니다.ADD MATERIALIZED VIEWmat_view_name추가할 구체화된 뷰를 식별합니다. 구체화된 뷰를 찾을 수 없으면 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.
ALTER MATERIALIZED VIEWmat_view_name변경할 구체화된 뷰를 식별합니다. 구체화된 뷰가 아직 공유에 속하지 않으면 Azure Databricks에서 오류가 발생합니다.
COMMENT comment구체화된 뷰 공유에 주석으로 연결된 선택적 리터럴
STRING입니다.-
필요에 따라 다른 이름으로 구체화된 뷰를 노출합니다. 이름은 스키마 이름으로 지정할 수 있습니다. 지정되지
mat_view_share_name않은 경우 구체화된 뷰는 자체 이름으로 알려져 있습니다.공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.
REMOVE MATERIALIZED VIEWmat_view_name적용 대상:
Databricks SQL
Databricks Runtime 13.3 LTS 이상공유에서
mat_view_name으로 식별된 구체화된 뷰를 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.alter_add_table테이블의 테이블 또는 파티션을 공유에 추가하거나 기존 공유 테이블을 수정합니다. 이 문을 실행하려면 공유 소유자여야 하며 테이블에 대한
SELECT권한이 있어야 합니다.ADD [ TABLE ]table_name추가할 테이블을 식별합니다. 테이블은 Unity 카탈로그에 있지 않아야 합니다. 테이블을 찾을 수 없는 경우 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.
ALTER [ TABLE ]table_name변경할 테이블을 식별합니다. 테이블이 공유 Azure Databricks에 아직 포함되지 않은 경우 오류가 발생합니다.
COMMENT comment테이블 공유에 주석으로 첨부된 선택적 리터럴
STRING입니다.-
추가할 테이블의 하나 이상의 파티션을 선택하십시오. 파티션 키는 테이블의 분할과 일치해야 하며 값과 연결되어야 합니다.
PARTITION clause없는 경우ADD TABLE전체 테이블을 추가합니다.받는 사람 속성에 대한 참조로 분할하려면 다음 구문을 사용합니다. PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)받는 사람 속성 에 대한 참조로 분할 적용 대상:
Databricks SQL
Databricks Runtime 12.2 LTS 이상 -
필요에 따라 다른 이름으로 테이블을 노출합니다. 이름은 데이터베이스(스키마) 이름으로 한정할 수 있습니다.
table_share_name지정되지 않은 경우 테이블은 자체 이름으로 알려집니다. WITH HISTORY또는WITHOUT HISTORY적용 대상:
Databricks SQL
Databricks Runtime 12.2 LTS 이상.WITH HISTORY지정되면 테이블을 전체 기록과 공유하여 받는 사람이 시간 이동 쿼리를 수행할 수 있도록 합니다. 그런 다음 VERSION AS OF 및 TIMESTAMP AS OF사용하여 공유 테이블을 참조할 수 있습니다.시간 이동 쿼리 및 스트리밍 읽기를 수행하는 것 외에도 고객이 table_changes() 함수를 사용하여 테이블의 CDF(변경 데이터 피드)를 쿼리할 수 있도록 하려면 공유하기 전에
WITH HISTORY해야 합니다.Databricks SQL 및 Databricks Runtime 16.2 이상의 기본 동작은
WITH HISTORY. Databricks Runtime 16.1 이하 및 이전 버전에서는WITHOUT HISTORY입니다.
REMOVE TABLEtable_name공유에서
table_name로 식별된 테이블을 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.alter_add_schema적용 대상:
Databricks SQL
Databricks Runtime 13.3 LTS 이상공유에 스키마를 추가하거나 기존 공유 스키마를 수정합니다. 이 문장을 실행하려면 공유의 소유자이면서 스키마의 소유자여야 합니다.
ADD SCHEMAschema_name추가할 스키마를 식별합니다. 스키마를 찾을 수 없으면 Azure Databricks에서 SCHEMA_NOT_FOUND 오류가 발생합니다.
ALTER SCHEMAschema_name변경할 스키마를 식별합니다. 스키마가 아직 공유에 속하지 않으면 Azure Databricks에서 오류가 발생합니다.
COMMENT comment스키마 공유에 주석 형태로 첨부된 선택적
STRING리터럴입니다.
REMOVE SCHEMAschema_name공유에서
schema_name으로 식별된 스키마를 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.alter_add_view적용 대상:
Databricks SQL
Databricks Runtime 13.3 LTS 이상공유에 보기를 추가하거나 기존 공유 보기를 수정합니다. 이 문을 실행하려면 공유의 소유자여야 하며 보기에 대한 권한이 있어야
SELECT합니다.ADD VIEWview_name추가할 뷰를 식별합니다. 뷰를 찾을 수 없으면 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.
ALTER VIEWview_name변경할 뷰를 식별합니다. 보기가 공유 Azure Databricks에 아직 포함되지 않은 경우 오류가 발생합니다.
COMMENT comment뷰 공유에 주석으로 연결된 선택적 리터럴
STRING입니다.AS보기_공유_이름필요에 따라 다른 이름으로 보기를 노출합니다. 이름은 스키마 이름으로 지정할 수 있습니다. 지정되지
view_share_name않은 경우 뷰는 고유한 이름으로 알려져 있습니다.공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.
REMOVE VIEWview_name공유에서
view_name으로 식별된 보기를 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.alter_add_model적용 대상:
Databricks SQL
Databricks Runtime 14.0 이상공유에 모델을 추가하거나 기존 공유 모델을 수정합니다. 이 문을 실행하려면 공유의 소유자여야 하며
EXECUTE모델에 대한 권한이 있어야 합니다.ADD MODELmodel_name추가할 모델을 식별합니다. 모델을 찾을 수 없는 경우 Azure Databricks에서 RESOURCE_DOES_NOT_EXIST 오류가 발생합니다.
ALTER MODELmodel_name변경할 모델을 식별합니다. 모델이 아직 공유에 속하지 않으면 Azure Databricks에서 오류가 발생합니다.
COMMENT comment모델 공유에 주석으로 연결된 선택적 리터럴
STRING입니다.AS모델_공유_이름필요에 따라 다른 이름으로 모델을 노출합니다. 이름은 스키마 이름으로 지정할 수 있습니다. 지정되지
model_share_name않은 경우 모델은 자체 이름으로 알려져 있습니다.공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.
REMOVE MODELmodel_name공유에서 식별번호
model_name의 모델을 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.RENAME TOto_share_name적용 대상:
Databricks SQL
Databricks Runtime 11.3 LTS 이상공유 이름을 바꿉니다. 이름은 메타스토어의 모든 공유 항목 중에서 고유해야 합니다. 이 문을 실행하려면 공유 소유자여야 하며 메타스토어에 대한
CREATE SHARE권한이 있어야 합니다.[ SET ] OWNER TO교장공유 소유권을
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`