ALTER SHARE
적용 대상: Databricks SQL Databricks Runtime 10.4 LTS 이상 Unity Catalog 전용
스키마, tables, 구체화된 views, 또는 views를 공유에 추가, 변경 또는 제거합니다. 공유 이름을 바꿉니다. 공유 소유권을 새 보안 주체에게 전송합니다.
권한 필요:
- 공유 소유자로 update하려면, 메타스토어 관리자이거나 공유 개체의 소유자여야 하며, 또는
USE SHARE
및SET 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
는 사용되지 않습니다.
또한 시간 이동 쿼리 및 스트리밍 읽기를 수행하는 것 외에도 고객이
Parameters
-
변경할 공유의 이름입니다.
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
입니다.-
필요에 따라 다른 이름으로 구체화된 뷰를 노출합니다. 이름은 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
리터럴입니다.-
table에 추가할 하나 이상의 파티션. partition 키는 table 분할과 일치해야 하고 values에 연결되어야 합니다.
PARTITION clause
이 없으면ADD TABLE
이 전체 table를 추가합니다.수신자 속성에 대한 참조로 partition 구문을 사용합니다.
PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
받는 사람 속성 에 대한 참조로 분할 적용 대상: Databricks SQL Databricks Runtime 12.2 LTS 이상
-
선택적으로 다른 이름으로 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
입니다.-
필요에 따라 다른 이름으로 보기를 노출합니다. 이름은 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
입니다.-
필요에 따라 다른 이름으로 모델을 노출합니다. 이름은 schema 이름으로 한정할 수 있습니다. 지정되지
model_share_name
않은 경우 모델은 자체 이름으로 알려져 있습니다.공유 이름이 이미 있는 경우 Azure Databricks에서 오류가 발생합니다.
REMOVE MODEL
model_namemodel_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`