ALTER SHARE
적용 대상: Databricks SQL Databricks Runtime 10.4 LTS 이상 Unity 카탈로그만 해당
공유에서 스키마, 테이블, 구체화된 뷰 또는 뷰를 추가, 변경 또는 제거합니다. 공유 이름을 바꿉니다. 공유 소유권을 새 보안 주체에게 전송합니다.
필요한 권한:
- 공유 소유자를 업데이트하려면 metastore 관리자, 공유 개체의 소유자 또는 권한이 있는
USE SHARE
SET SHARE PERMISSION
사용자 중 하나여야 합니다. - 공유 이름을 업데이트하려면 metastore 관리자(또는 권한이 있는
CREATE_SHARE
사용자) 및 공유 소유자여야 합니다. - 테이블 또는 뷰를 추가하려면 공유 개체의 소유자여야 하며 테이블
USE SCHEMA
또는 뷰가 포함된 스키마와SELECT
테이블 또는 뷰에 대한 권한이 있어야 합니다. 테이블 또는 뷰를SELECT
공유하려면 기본 권한을 획득해야 합니다. - 다른 공유 속성을 업데이트하려면 소유자여야 합니다.
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(변경 데이터 피드)를 쿼리할 수 있도록 하려면 공유(또는WITH CHANGE DATA FEED
)하기 전에 WITH HISTORY
테이블에서 CDF를 사용하도록 설정해야 합니다.
매개 변수
-
변경할 공유의 이름입니다.
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
입니다.-
필요에 따라 다른 이름으로 구체화된 뷰를 노출합니다. 이름은 스키마 이름으로 정규화할 수 있습니다. 지정되지
mat_view_share_name
않은 경우 구체화된 뷰는 자체 이름으로 알려져 있습니다.공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.
REMOVE MATERIALIZED VIEW
mat_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
테이블에서 CDF를 사용하도록 설정해야 합니다.기본 동작은 .입니다
WITHOUT HISTORY
.
REMOVE TABLE
table_name공유에서
table_name
으로 식별되는 테이블을 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.alter_add_schema
적용 대상: Databricks SQL Databricks Runtime 13.3 LTS 이상
공유에 스키마를 추가하거나 기존 공유 스키마를 수정합니다. 이 문을 실행하려면 공유 및 스키마의 소유자여야 합니다.
ADD SCHEMA
schema_name추가할 스키마를 식별합니다. 스키마를 찾을 수 없으면 Azure Databricks에서 SCHEMA_NOT_FOUND 오류가 발생합니다.
ALTER SCHEMA
schema_name변경할 스키마를 식별합니다. 스키마가 아직 공유에 속하지 않으면 Azure Databricks에서 오류가 발생합니다.
COMMENT comment
스키마 공유에 주석으로 연결된 선택적 리터럴
STRING
입니다.
REMOVE SCHEMA
schema_name공유에서 식별된
schema_name
스키마를 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.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
입니다.-
필요에 따라 다른 이름으로 보기를 노출합니다. 이름은 스키마 이름으로 정규화할 수 있습니다. 지정되지
view_share_name
않은 경우 뷰는 고유한 이름으로 알려져 있습니다.공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.
REMOVE VIEW
view_name공유에서 식별된
view_name
보기를 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.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
입니다.-
필요에 따라 다른 이름으로 모델을 노출합니다. 이름은 스키마 이름으로 정규화할 수 있습니다. 지정되지
model_share_name
않은 경우 모델은 자체 이름으로 알려져 있습니다.공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.
REMOVE MODEL
model_name공유에서 식별된
model_name
모델을 제거합니다. 이 명령문을 실행하려면 공유 소유자여야 합니다.RENAME TO
to_share_name적용 대상: Databricks SQL Databricks Runtime 11.3 LTS 이상
공유 이름을 바꿉니다. 이름은 메타스토어의 모든 공유에서 고유해야 합니다. 이 문을 실행하려면 공유 소유자여야 하며 메타스토어에 대한
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`