ALTER ICEBERG TABLE¶
기존 Apache Iceberg™ 테이블 의 클러스터링 옵션 및 태그와 같은 속성을 수정합니다.
ALTER ICEBERG TABLE 문을 사용하여 테이블을 새로 고치거나, 테이블을 변환하거나, 정형 타입 열을 변경할 수도 있습니다. 이러한 작업의 구문은 상당히 다양합니다. Iceberg 테이블을 새로 고치거나 변환하기 위한 구문, 매개 변수 설명, 사용법 노트 및 예를 보려면 다음 페이지를 참조하십시오.
이 항목에서는 Iceberg 테이블 을 지정하여 혼동을 방지하는 경우를 제외하고는 Iceberg 테이블을 간단히 ‘테이블’이라고 부릅니다.
구문¶
ALTER ICEBERG TABLE [ IF EXISTS ] <table_name> { clusteringAction | tableColumnAction }
ALTER ICEBERG TABLE [ IF EXISTS ] <table_name> SET
[ REPLACE_INVALID_CHARACTERS = { TRUE | FALSE } ]
[ CATALOG_SYNC = '<snowflake_open_catalog_integration_name>']
[ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
[ AUTO_REFRESH = { TRUE | FALSE } ]
[ CONTACT ( <purpose> = <contact_name> [ , <purpose> = <contact_name> ... ] ) ]
ALTER ICEBERG TABLE [ IF EXISTS ] <table_name> UNSET
[ REPLACE_INVALID_CHARACTERS ]
[ CONTACT <purpose> ]
ALTER ICEBERG TABLE [ IF EXISTS ] dataGovnPolicyTagAction
ALTER ICEBERG TABLE [ IF EXISTS ] <table_name> searchOptimizationAction
여기서
clusteringAction ::= { CLUSTER BY ( <expr> [ , <expr> , ... ] ) /* { SUSPEND | RESUME } RECLUSTER is valid action */ | { SUSPEND | RESUME } RECLUSTER | DROP CLUSTERING KEY }tableColumnAction ::= { ADD [ COLUMN ] [ IF NOT EXISTS ] <col_name> <col_type> [ inlineConstraint ] [ COLLATE '<collation_specification>' ] | RENAME COLUMN <col_name> TO <new_col_name> | ALTER | MODIFY [ ( ] , [ COLUMN ] <col1_name> { [ SET ] NOT NULL | DROP NOT NULL } , [ COLUMN ] <col1_name> [ [ SET DATA ] TYPE ] <type> , [ COLUMN ] <col1_name> COMMENT '<string>' , [ COLUMN ] <col1_name> UNSET COMMENT [ , [ COLUMN ] <col2_name> ... ] [ , ... ] [ ) ] | DROP [ COLUMN ] [ IF EXISTS ] <col1_name> [, <col2_name> ... ] } inlineConstraint ::= [ NOT NULL ] [ CONSTRAINT <constraint_name> ] { UNIQUE | PRIMARY KEY | { [ FOREIGN KEY ] REFERENCES <ref_table_name> [ ( <ref_col_name> ) ] } } [ <constraint_properties> ]dataGovnPolicyTagAction ::= { SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ] | UNSET TAG <tag_name> [ , <tag_name> ... ] } | { ADD ROW ACCESS POLICY <policy_name> ON ( <col_name> [ , ... ] ) | DROP ROW ACCESS POLICY <policy_name> | DROP ROW ACCESS POLICY <policy_name> , ADD ROW ACCESS POLICY <policy_name> ON ( <col_name> [ , ... ] ) | DROP ALL ROW ACCESS POLICIES } | { SET AGGREGATION POLICY <policy_name> [ ENTITY KEY ( <col_name> [, ... ] ) ] [ FORCE ] | UNSET AGGREGATION POLICY } | { SET JOIN POLICY <policy_name> [ FORCE ] | UNSET JOIN POLICY } | ADD [ COLUMN ] [ IF NOT EXISTS ] <col_name> <col_type> [ [ WITH ] MASKING POLICY <policy_name> [ USING ( <col1_name> , <cond_col_1> , ... ) ] ] [ [ WITH ] PROJECTION POLICY <policy_name> ] [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ] | { { ALTER | MODIFY } [ COLUMN ] <col1_name> SET MASKING POLICY <policy_name> [ USING ( <col1_name> , <cond_col_1> , ... ) ] [ FORCE ] | UNSET MASKING POLICY } | { { ALTER | MODIFY } [ COLUMN ] <col1_name> SET PROJECTION POLICY <policy_name> [ FORCE ] | UNSET PROJECTION POLICY } | { ALTER | MODIFY } [ COLUMN ] <col1_name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ] , [ COLUMN ] <col2_name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ] | { ALTER | MODIFY } [ COLUMN ] <col1_name> UNSET TAG <tag_name> [ , <tag_name> ... ] , [ COLUMN ] <col2_name> UNSET TAG <tag_name> [ , <tag_name> ... ]searchOptimizationAction ::= { ADD SEARCH OPTIMIZATION [ ON <search_method_with_target> [ , <search_method_with_target> ... ] ] | DROP SEARCH OPTIMIZATION [ ON { <search_method_with_target> | <column_name> | <expression_id> } [ , ... ] ] }자세한 내용은 검색 최적화 작업(searchOptimizationAction) 섹션을 참조하십시오.
매개 변수¶
table_name
수정할 테이블의 식별자입니다.
식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
SET ...
외부 테이블에 대해 설정할 하나 이상의 속성/매개 변수를 지정합니다(공백, 쉼표 또는 새 줄로 구분).
REPLACE_INVALID_CHARACTERS = { TRUE | FALSE }
쿼리 결과에서 유효하지 않은 UTF-8 문자를 UNICODE 대체 문자(�)로 대체할지 여부를 지정합니다. 외부 Iceberg 카탈로그를 사용하는 테이블에 대해서만 이 매개 변수를 설정할 수 있습니다.
TRUE
는 잘못된 UTF-8 문자를 유니코드 대체 문자로 바꿉니다.FALSE
는 유효하지 않은 UTF-8 문자를 변경하지 않습니다. Parquet 데이터 파일에서 유효하지 않은 UTF-8 문자를 발견하면 Snowflake는 사용자 오류 메시지를 반환합니다.
지정하지 않으면 Iceberg 테이블은 기본적으로 스키마, 데이터베이스 또는 계정에 대한 매개 변수 값으로 설정됩니다. 스키마는 데이터베이스보다 우선하고, 데이터베이스는 계정보다 우선합니다.
기본값:
FALSE
CATALOG_SYNC = 'snowflake_open_catalog_integration_name'
Snowflake Open Catalog 용으로 구성된 카탈로그 통합의 이름을 지정합니다. Snowflake는 테이블을 Snowflake Open Catalog 계정의 외부 카탈로그와 동기화합니다. Snowflake 관리 Iceberg 테이블을 Open Catalog와 동기화하는 방법에 대한 자세한 내용은 Snowflake 관리 테이블을 Snowflake Open Catalog 와 동기화하기 섹션을 참조하십시오.
이 매개 변수에 대한 자세한 내용은 CATALOG_SYNC 를 참조하십시오.
DATA_RETENTION_TIME_IN_DAYS = integer
테이블에서 레코드 데이터에 대해 Time Travel 작업(SELECT, CLONE, UNDROP)을 수행할 수 있도록 Snowflake 관리형 테이블의 보존 기간을 지정합니다. 자세한 내용은 Time Travel 이해 및 사용하기 섹션을 참조하십시오.
이 오브젝트 수준 매개 변수에 대한 자세한 설명과 아울러 오브젝트 매개 변수에 대한 자세한 내용은 매개 변수 를 참조하십시오.
값:
Standard Edition:
0
또는1
Enterprise Edition: 영구 테이블의 경우
0
~90
기본값:
Standard Edition:
1
Enterprise Edition 또는 그 이상:
1
(스키마, 데이터베이스 또는 계정 수준에서 다른 기본값이 지정되지 않은 경우)
참고
0
의 값은 테이블의 Time Travel을 효과적으로 비활성화합니다.
AUTO_REFRESH = { TRUE | FALSE }
자동 새로 고침 을(를) 사용할 때 Snowflake가 메타데이터 업데이트를 위해 테이블과 연결된 외부 Iceberg 카탈로그를 자동으로 폴링해야 하는지 여부를 지정합니다.
Delta 기반 테이블의 경우, Snowflake는 외부 클라우드 저장소에서 업데이트를 폴링합니다.
카탈로그 통합에서
REFRESH_INTERVAL_SECONDS
매개 변수에 대한 값이 지정되지 않은 경우 Snowflake에서 사용하는 기본 새로 고침 간격은 30초입니다.기본값: FALSE
CONTACT ( purpose = contact [ , purpose = contact ... ] )
기존 오브젝트를 하나 이상의 연락처 와 연결합니다.
UNSET
현재 이 명령으로 다음 매개 변수만 설정 해제할 수 있습니다.
REPLACE_INVALID_CHARACTERS
CATALOG_SYNC
CONTACT purpose
클러스터링 작업(clusteringAction
)¶
참고
클러스터링은 Snowflake를 Iceberg 카탈로그로 사용하는 테이블에만 지원됩니다.
CLUSTER BY ( expr [ , expr , ... ] )
하나 이상의 테이블 열 또는 열 식을 테이블의 클러스터링 키로 지정(또는 수정)합니다. 자동 클러스터링 으로 클러스터링을 유지 관리하는 열/식입니다.
클러스터링에 대해 자세히 알아보려면 클러스터링 키 및 클러스터링된 테이블 섹션을 참조하십시오.
SUSPEND | RESUME RECLUSTER
테이블에 대해 자동 클러스터링 을 활성화하거나 비활성화합니다.
DROP CLUSTERING KEY
테이블에 대한 클러스터링 키를 삭제합니다.
클러스터링 키와 재클러스터링에 대한 자세한 내용은 Snowflake 테이블 구조 이해하기 를 참조하십시오.
테이블 열 작업(tableColumnAction
)¶
ADD [ COLUMN ] [ IF NOT EXISTS ] col_name col_data_type
.[ inlineConstraint ]
[ COLLATE 'collation_specification' ] [ , ... ]
새 열을 추가합니다. 인라인 제약 조건 또는 데이터 정렬 사양 을 지정할 수 있습니다.
테이블 열 작업에 대한 자세한 내용은 다음을 참조하십시오.
동일한 명령으로 여러 열에 대해 ADD COLUMN 작업을 수행할 수 있습니다.
열이 이미 존재하는지 확실하지 않은 경우 열을 추가할 때 IF NOT EXISTS 를 지정할 수 있습니다. 열이 이미 존재하는 경우 ADD COLUMN 은 기존 열에 영향을 미치지 않으며 오류가 발생하지 않습니다.
참고
새 열에 다음 중 하나도 지정하고 있는 경우에는 IF NOT EXISTS 를 지정할 수 없습니다.
AUTOINCREMENT 또는 IDENTITY
UNIQUE, PRIMARY KEY 또는 FOREIGN KEY
RENAME COLUMN col_name to new_col_name
지정된 열의 이름을 현재 테이블의 다른 열에 사용되지 않는 새 이름으로 바꿉니다.
클러스터링 키의 일부인 열의 이름은 변경할 수 없습니다.
오브젝트(테이블, 열 등)의 이름을 변경하면 해당 오브젝트를 참조하는 다른 오브젝트를 새 이름으로 업데이트해야 합니다.
DROP COLUMN [ IF EXISTS ] col_name [ CASCADE | RESTRICT ]
테이블에서 지정된 열을 제거합니다.
열이 이미 존재하는지 확실하지 않은 경우 열을 제거할 때 IF EXISTS 를 지정할 수 있습니다. 열이 존재하지 않는 경우 DROP COLUMN 은 아무런 효과가 없으며 오류가 발생하지 않습니다.
열 삭제는 메타데이터 전용 작업입니다. 마이크로 파티션을 즉시 다시 쓰지 않으므로 열이 사용하는 공간을 즉시 확보하지 못합니다. 일반적으로, 개별 마이크로 파티션 내의 공간은 다음에 마이크로 파티션을 다시 쓸 때 확보할 수 있는데, 이는 일반적으로 DML(INSERT, UPDATE, DELETE) 또는 재클러스터링으로 인해 쓰기가 완료될 때입니다.
데이터 거버넌스 정책 및 태그 작업(dataGovnPolicyTagAction
)¶
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트에 대한 태그 할당량 섹션을 참조하십시오.
policy_name
정책의 식별자로, 스키마에 고유한 식별자여야 합니다.
다음 절은 테이블, 뷰, 이벤트 테이블 등 행 액세스 정책을 지원하는 모든 테이블 종류에 적용됩니다. 단순화하기 위해 해당 절에서는 “테이블”만 참조합니다.
ADD ROW ACCESS POLICY policy_name ON (col_name [ , ... ])
테이블에 행 액세스 정책을 추가합니다.
하나 이상의 열 이름을 지정해야 합니다. 각 열 이름을 구분하는 쉼표로 추가 열을 지정할 수 있습니다. 이 식을 사용하여 이벤트 테이블과 외부 테이블에 모두 행 액세스 정책을 추가합니다.
DROP ROW ACCESS POLICY policy_name
테이블에서 행 액세스 정책을 삭제합니다.
이 절을 사용하여 테이블에서 정책을 삭제합니다.
DROP ROW ACCESS POLICY policy_name, ADD ROW ACCESS POLICY policy_name ON ( col_name [ , ... ] )
테이블에 설정된 행 액세스 정책을 삭제하고 단일 SQL 문으로 동일한 테이블에 행 액세스 정책을 추가합니다.
DROP ALL ROW ACCESS POLICIES
테이블에서 모든 행 액세스 정책 연결을 삭제합니다.
이 식은 스키마에서 행 액세스 정책을 삭제한 후에 이벤트 테이블에서 정책을 삭제할 때 유용합니다. 테이블에서 행 액세스 정책 연결을 삭제하려면 이 식을 사용하십시오.
SET AGGREGATION POLICY policy_name
[ ENTITY KEY (col_name [ , ... ]) ] [ FORCE ]
테이블에 집계 정책 을 할당합니다.
선택적 ENTITY KEY 매개 변수를 사용하여 테이블 내에서 엔터티의 ID를 고유하게 지정하는 열을 정의할 수 있습니다. 자세한 내용은 집계 정책을 사용하여 엔터티 수준 개인정보 보호 구현하기 섹션을 참조하십시오.
기존 집계 정책을 새 집계 정책으로 원자적으로 바꾸려면 선택적 FORCE 매개 변수를 사용하십시오.
UNSET AGGREGATION POLICY
테이블에서 집계 정책을 분리합니다.
SET JOIN POLICY policy_name
[ FORCE ]
테이블에 조인 정책 을 할당합니다.
FORCE 매개 변수(선택 사항)를 사용하여 기존 조인 정책을 새 조인 정책으로 원자적으로 대체합니다.
UNSET JOIN POLICY
테이블에서 조인 정책을 분리합니다.
{ ALTER | MODIFY } [ COLUMN ] ...
USING ( col_name , cond_col_1 ... )
조건부 마스킹 정책 SQL 식에 전달할 인자를 지정합니다.
목록의 첫 번째 열은 데이터를 마스킹하거나 토큰화할 정책 조건에 대한 열을 지정하며, 마스킹 정책이 설정된 열과 반드시 일치해야 합니다.
추가 열은 첫 번째 열에 대해 쿼리가 수행될 때 쿼리 결과의 각 행에 있는 데이터를 마스킹할지 또는 토큰화할지 결정하기 위해 평가할 열을 지정합니다.
USING 절을 생략하면 Snowflake는 조건부 마스킹 정책을 일반 마스킹 정책 으로 취급합니다.
FORCE
열에 현재 설정된 마스킹 또는 프로젝션 정책을 단일 문에서 다른 정책으로 바꿉니다.
마스킹 정책과 함께
FORCE
키워드를 사용하려면 열에 현재 설정된 마스킹 정책의 데이터 타입(즉, STRING)과 일치하도록 ALTER TABLE 문(즉, STRING)에 있는 정책의 데이터 타입 이 필요합니다.마스킹 정책이 열에 현재 설정되어 있지 않으면 이 키워드를 지정해도 아무 효과가 없습니다.
자세한 내용은 열의 마스킹 정책 바꾸기 또는 프로젝션 정책 바꾸기 섹션을 참조하십시오.
검색 최적화 작업(searchOptimizationAction
)¶
ADD SEARCH OPTIMIZATION
전체 테이블에 대해, 또는 특정 열에 대해 선택적인 ON 절을 지정하는 경우 검색 최적화 를 추가합니다.
참고
특히 테이블의 데이터가 자주 변경되는 경우 검색 최적화를 유지 관리하는 비용이 많이 들 수 있습니다. 자세한 내용은 검색 최적화 비용 추정 및 관리 섹션을 참조하십시오.
ON search_method_with_target [, search_method_with_target ... ]
전체 테이블 대신 특정 열에 대한 검색 최적화를 구성하도록 지정합니다.
search_method_with_target
의 경우 다음 구문을 가진 식을 사용합니다.<search_method>( <target> [ , <target> , ... ] [ , ANALYZER => '<analyzer_name>' ] )
여기서
search_method
는 특정 유형의 조건자에 대한 쿼리를 최적화하는 다음 방법 중 하나를 지정합니다.검색 방법
설명
FULL_TEXT
VARCHAR (텍스트) 유형을 사용하는 조건자.
EQUALITY
같음 조건자와 IN 조건자.
SUBSTRING
하위 문자열 및 정규식과 일치하는 조건자(예: [ NOT ] LIKE, [ NOT ] ILIKE, [ NOT ] RLIKE, REGEXP_LIKE).
target
은 열 또는 별표(*)를 지정합니다.search_method
의 값에 따라 다음 유형 중 하나의 열을 지정할 수 있습니다.검색 방법
지원 대상
FULL_TEXT
VARCHAR (텍스트) 데이터 타입의 열입니다.
EQUALITY
숫자, 문자열, 이진 데이터 타입의 열입니다.
SUBSTRING
VARCHAR (텍스트) 데이터 타입의 열입니다.
테이블에서 적용 가능한 모든 열을 대상으로 지정하려면 별표(
*
)를 사용하십시오.주어진 검색 방법에 대해 별표와 특정 열 이름을 모두 지정할 수는 없습니다. 하지만 다양한 검색 방법에서 별표를 지정할 수 있습니다.
예를 들어 다음 식을 지정할 수 있습니다.
-- Allowed ON SUBSTRING(*) ON EQUALITY(*), SUBSTRING(*)
다음 식은 지정할 수 없습니다.
-- Not allowed ON EQUALITY(*, c1) ON EQUALITY(c1, *) ON EQUALITY(v1:path, *) ON EQUALITY(c1), EQUALITY(*)
search_method
가FULL_TEXT
인 경우,ANALYZER => 'analyzer_name'
은 텍스트 분석기의 이름을 지정합니다.검색 최적화 분석기에 대한 자세한 내용은 ALTER TABLE 을 참조하십시오.
한 대상에 둘 이상의 검색 방법을 지정하려면 쉼표를 사용하여 각 후속 방법과 대상을 구분하십시오.
ALTER ICEBERG TABLE t1 ADD SEARCH OPTIMIZATION ON EQUALITY(c1), EQUALITY(c2, c3);
같은 테이블에서 ALTER ICEBERG TABLE … ADD SEARCH OPTIMIZATION ON … 명령을 여러 번 실행하는 경우 각 후속 명령이 테이블의 기존 구성에 추가됩니다. 예를 들어 다음 명령을 실행한다고 가정하겠습니다.
ALTER ICEBERG TABLE t1 ADD SEARCH OPTIMIZATION ON EQUALITY(c1, c2); ALTER ICEBERG TABLE t1 ADD SEARCH OPTIMIZATION ON EQUALITY(c3, c4);
그러면 열 c1, c2, c3, c4에 대한 같음 조건자가 테이블 구성에 추가됩니다. 이는 다음 명령을 실행하는 것과 같습니다.
ALTER ICEBERG TABLE t1 ADD SEARCH OPTIMIZATION ON EQUALITY(c1, c2, c3, c4);
예는 특정 열의 검색 최적화 활성화하기 을 참조하십시오.
DROP SEARCH OPTIMIZATION
전체 테이블에 대해, 또는 특정 열에서 선택적인 ON 절을 지정하는 경우 검색 최적화 를 제거합니다.
참고
테이블에 검색 최적화 속성이 있는 경우 테이블을 삭제했다가 삭제를 취소하면 검색 최적화 속성이 유지됩니다.
테이블에서 검색 최적화 속성을 제거한 다음 다시 추가하면 처음 추가할 때와 똑같은 비용이 발생합니다.
ON search_method_with_target | column_name | expression_id [ , ... ]
전체 테이블에 대한 검색 최적화를 제거하는 대신 특정 열에 대한 검색 최적화 구성을 제거하도록 지정합니다.
삭제할 열 구성을 식별하려면 다음 중 하나를 지정하십시오.
search_method_with_target
의 경우 하나 이상의 특정 열에 대한 쿼리를 최적화하는 방법을 지정합니다. 앞서 설명한 구문 을 사용합니다.column_name
의 경우 검색 최적화를 위해 구성된 열의 이름을 지정합니다. 열 이름을 지정하면 해당 열에 대한 모든 식이 제거됩니다.expression_id
의 경우 DESCRIBE SEARCH OPTIMIZATION 명령의 출력에 나열된 식의 ID를 지정합니다.
이들 중 둘 이상을 지정하려면 항목 사이에 쉼표를 사용하십시오.
대상, 열 이름, 식 ID를 사용하여 검색 방법의 조합을 지정할 수 있습니다.
예는 특정 열의 검색 최적화 삭제하기 을 참조하십시오.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
OWNERSHIP |
Iceberg 테이블 |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
USAGE |
외부 볼륨 |
|
USAGE |
카탈로그 통합 |
테이블에서 카탈로그 통합을 사용하는 경우 필수입니다. |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
테이블 소유자(즉, 테이블에 대한 OWNERSHIP 권한을 가진 역할) 이상만이 명령을 실행할 수 있습니다.
클러스터링은 Snowflake를 Iceberg 카탈로그로 사용하는 테이블에만 지원됩니다. Iceberg 테이블에 클러스터링을 추가하려면 테이블을 포함한 스키마와 데이터베이스에 대한 USAGE 또는 OWNERSHIP 권한도 있어야 합니다.
ALTER TABLE 명령을 실행하면 Iceberg 테이블에서 데이터 메트릭 함수를 사용할 수 있습니다. 자세한 내용은 데이터 메트릭 함수를 사용하여 데이터 품질 검사 수행 섹션을 참조하십시오.
제한 사항을 포함하여 Iceberg 테이블과 함께 검색 최적화를 사용하는 방법에 대한 자세한 내용은 검색 최적화 설명서의 Apache Iceberg™ 테이블 지원 섹션을 참조하십시오.
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
CATALOG_SYNC 매개 변수 변경과 관련된 문제를 해결하려면 CATALOG_SYNC 매개 변수를 지정할 때는 Iceberg 테이블을 변경할 수 없습니다. 섹션을 참조하십시오.
예¶
다음 예제는 Iceberg 테이블에 값이 customer
인 태그(my_tag
)를 설정하는 예제입니다.
ALTER ICEBERG TABLE my_iceberg_table SET TAG my_tag = 'customer';
다음 예에서는 외부에서 관리되는 기존 테이블에 대해 자동 새로 고침 을 활성화합니다.
ALTER ICEBERG TABLE my_iceberg_table SET AUTO_REFRESH = TRUE;
다음은 Iceberg 테이블에 대한 검색 최적화를 추가 및 제거하는 예입니다.
ALTER ICEBERG TABLE my_iceberg_table ADD SEARCH OPTIMIZATION ON SUBSTRING(C6);
ALTER ICEBERG TABLE my_iceberg_table DROP SEARCH OPTIMIZATION ON EQUALITY(C7, C8);