테이블 속성 및 테이블 옵션
적용 대상: Databricks SQL
Databricks Runtime
테이블 및 뷰에 대한 사용자 정의 태그를 정의합니다.
테이블 속성
테이블 속성은 CREATE TABLE 또는 CREATE VIEW수행할 때 초기화할 수 있는 키-값 쌍입니다.
또는 사용하여 UNSET 기존 또는 기존 테이블 속성을 수 있습니다. 테이블 속성을 사용하여 SQL에서 추적하지 않는 정보를 사용하여 테이블에 태그를 지정할 수 있습니다.
-
테이블 옵션의 목적은 SERDE 속성과 같은 스토리지 속성을 기본 스토리지 시스템에 전달하여 Hive에 제공합니다.
테이블 옵션은 CREATE TABLE수행할 때 초기화할 수 있는 키-값 쌍입니다. 테이블 옵션을
SET
또는UNSET
로 설정할 수 없습니다.
TBLPROPERTIES
새 테이블 또는 뷰에서 하나 이상의 테이블 속성을 설정합니다.
테이블 속성을 사용하여 SQL에서 추적하지 않는 정보를 사용하여 테이블에 태그를 지정할 수 있습니다.
구문
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
매개 변수
property_key
속성 키입니다. 키는 점 또는 문자열 리터럴로 구분된 하나 이상의 식별자로 구성될 수 있습니다.
속성 키는 고유해야 하며 대/소문자를 구분해야 합니다.
property_val
속성 값입니다. 값은 , 또는
BOOLEAN
STRING
INTEGER
리터럴이어야DECIMAL
합니다.
예제
-- 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
속성의 새 값입니다. 값은 , 또는
BOOLEAN
STRING
INTEGER
리터럴이어야DECIMAL
합니다.
예제
-- 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
제거할 속성 키입니다. 키는 점 또는 문자열 리터럴로 구분된 하나 이상의 식별자로 구성될 수 있습니다.
속성은 대/소문자를 구분합니다.
property_key
이(가) 지정되지 않은 경우IF EXISTS
이(가) 존재하지 않으면 오류가 발생합니다.
예제
-- 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
속성 값입니다. 값은 , 또는
BOOLEAN
STRING
INTEGER
리터럴이어야DECIMAL
합니다.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
LOCATION
절을 사용하여 ALTER TABLE 및 CREATE TABLE의 테이블 위치를 설정합니다.owner
[SET] OWNER TO
절을 사용하여 ALTER TABLE 및 ALTER VIEW의 테이블 또는 뷰 소유권을 이전합니다. SET Databricks SQL에서 선택적 키워드로 허용됩니다.provider
테이블의 데이터 소스를 설정하려면
USING
절을 CREATE TABLE에서 사용하세요.
option
식별자로 시작하는 속성 키를 사용해서는 안 됩니다.
이 접두사 식별자는 SHOW TBLPROPERTIES에서 제거됩니다.
일반적인 TBLPROPERTIES 및 OPTIONS 키
다음 설정은 일반적으로 Delta Lake에서 사용됩니다.
-
delta.appendOnly
:UPDATE
및DELETE
작업을 사용하지 않도록 설정하려면true
설정합니다. -
delta.dataSkippingNumIndexedCols
: 통계를 수집하고 고려할 선행 열의 수로 설정합니다. -
delta.deletedFileRetentionDuration
:VACUUM
파일을 삭제할 수 있는 시기를 제어할'interval 7 days'
같은 간격으로 설정합니다. -
delta.logRetentionDuration
:'interval 60 days'
같은 간격으로 설정하여 시간 이동 쿼리에 대한 기록 유지 기간을 제어합니다.