테이블 속성 및 테이블 옵션
적용 대상: Databricks SQL Databricks Runtime
테이블 및 보기에 대해 사용자 정의 태그를 정의합니다.
-
테이블 속성은 CREATE TABLE 또는 CREATE VIEW를 수행할 때 초기화할 수 있는 키-값 쌍입니다. ALTER TABLE 또는 ALTER VIEW를 사용하여 기존 항목을 설정 해제하거나 새 또는 기존 테이블 속성을 설정할 수 있습니다.
테이블 속성을 사용하여 SQL에서 추적되지 않는 정보로 테이블에 태그를 지정할 수 있습니다.
-
테이블 옵션의 목적은 스토리지 속성을 기본 스토리지(예: SERDE 속성)를 Hive에 전달하는 것입니다.
테이블 속성은 CREATE TABLE을 수행할 때 초기화할 수 있는 키-값 쌍입니다.
SET
또는UNSET
테이블 옵션을 사용할 수 없습니다.
TBLPROPERTIES
새 테이블 또는 뷰에서 하나 이상의 테이블 속성을 설정합니다.
테이블 속성을 사용하여 SQL에서 추적되지 않는 정보로 테이블에 태그를 지정할 수 있습니다.
구문
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
매개 변수
property_key
속성 키입니다. 키는 점 또는 문자열 리터럴로 구분된 하나 이상의 식별자로 구성될 수 있습니다.
속성 키는 고유해야 하며 대/소문자를 구분해야 합니다.
property_val
속성 값입니다. 값은 , 또는
STRING
INTEGER
DECIMAL
리터럴이어야BOOLEAN
합니다.
예제
-- Create table with user defined table properties
> CREATE TABLE T(c1 INT) TBLPROPERTIES('this.is.my.key' = 12, this.is.my.key2 = true);
> SHOW TBLPROPERTIES T;
key value
---------------- -----
...
this.is.my.key 14
this.is.my.key2 false
...
SET TBLPROPERTIES
기존 테이블 또는 뷰에서 하나 이상의 테이블 속성을 설정합니다.
구문
SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
매개 변수
property_key
속성 키입니다. 키는 점 또는 문자열 리터럴로 구분된 하나 이상의 식별자로 구성될 수 있습니다.
속성 키는 고유해야 하며 대/소문자를 구분해야 합니다.
property_val
속성의 새 값입니다. 값은 , 또는
STRING
INTEGER
DECIMAL
리터럴이어야BOOLEAN
합니다.
예제
-- Alter the a table's table properties.
> ALTER TABLE T SET TBLPROPERTIES(this.is.my.key = 14, 'this.is.my.key2' = false);
> SHOW TBLPROPERTIES T;
key value
---------------- -----
...
this.is.my.key 14
this.is.my.key2 false
...
UNSET TBLPROPERTIES
테이블 또는 뷰에서 하나 이상의 테이블 속성을 제거합니다.
구문
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )
property_key
{ identifier [. ...] | string_literal }
매개 변수
IF EXISTS
속성 키가 없는 경우 Databricks SQL이 오류를 발생시키지 않도록 지시하는 선택적 절입니다.
property_key
제거할 속성 키입니다. 키는 점 또는 문자열 리터럴로 구분된 하나 이상의 식별자로 구성될 수 있습니다.
속성은 대/소문자를 구분합니다.
IF EXISTS
이(가) 지정되지 않은 경우property_key
이(가) 존재하지 않으면 오류가 발생합니다.
예제
-- Remove a table's table properties.
> ALTER TABLE T UNSET TBLPROPERTIES(this.is.my.key, 'this.is.my.key2');
> SHOW TBLPROPERTIES T;
key value
-------------------------------- -----
... keys other that key and key2 ...
OPTIONS
새 테이블에서 하나 이상의 테이블 옵션을 설정합니다.
테이블 옵션의 목적은 스토리지 속성을 기본 스토리지(예: SERDE 속성)를 Hive에 전달하는 것입니다.
Delta Lake 테이블에 대한 테이블 옵션을 지정하면 이러한 옵션도 테이블 속성으로 에코됩니다.
구문
OPTIONS ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
매개 변수
property_key
속성 키입니다. 키는 점 또는 문자열 리터럴로 구분된 하나 이상의 식별자로 구성될 수 있습니다.
속성 키는 고유해야 하며 대/소문자를 구분해야 합니다.
property_val
속성 값입니다. 값은 , 또는
STRING
INTEGER
DECIMAL
리터럴이어야BOOLEAN
합니다.Databricks SQL 및 Databricks Runtime 13.3 LTS 이상
property_val
에서는 상수 식일 수 있습니다.
예제
-- Create table with user defined table option
-- The options appears with an `option.` prefix.
> CREATE TABLE T(c1 INT) OPTIONS(this.is.my.key = 'blue' || 'green');
> SHOW TBLPROPERTIES T;
key value
---------------- -----
...
option.this.is.my.key bluegreen
...
예약 테이블 속성 키
Azure Databricks는 자체 사용을 위해 일부 속성 키를 예약하고 사용하려고 하면 오류가 발생합니다.
external
CREATE EXTERNAL TABLE을 사용하여 외부 테이블을 만듭니다.
location
ALTER TABLE 및 CREATE TABLE의
LOCATION
절을 사용하여 테이블 위치를 설정합니다.owner
ALTER TABLE 및 ALTER VIEW의
[SET] OWNER TO
절을 사용하여 테이블 또는 뷰의 소유권을 이전합니다. SET는 Databricks SQL에서 선택적 키워드로 허용됩니다.provider
CREATE TABLE의
USING
절을 사용하여 테이블의 데이터 원본 설정
option
식별자부터 속성 키를 사용하면 안 됩니다.
이 접두사 식별자는 SHOW TBLPROPERTIES에서 필터링됩니다.
option
접두사는 테이블 옵션을 표시하는 데도 사용됩니다.
일반적인 TBLPROPERTIES 및 OPTIONS 키
다음 설정은 일반적으로 Delta Lake에서 사용됩니다.
delta.appendOnly
:true
설정하여UPDATE
및DELETE
작업을 사용하지 않습니다.delta.dataSkippingNumIndexedCols
: 통계를 수집하고 고려할 선행 열의 수로 설정합니다.delta.deletedFileRetentionDuration
:VACUUM
이(가) 파일을 삭제할 수 있는 시기를 제어하는'interval 7 days'
와(과) 같은 간격으로 설정합니다.delta.logRetentionDuration
: 시간 이동 쿼리에 대한 기록 유지 기간을 제어하는'interval 60 days'
와(과) 같은 간격으로 설정합니다.