テーブル プロパティとテーブル オプション
適用対象: Databricks SQL Databricks Runtime
テーブルとビューのユーザー定義タグを定義します。
-
テーブル プロパティとは、CREATE TABLE または CREATE VIEW を実行するときに初期化できるキーと値のペアです。 ALTER TABLE または ALTER VIEW を使用して、既存のテーブル プロパティを設定解除、あるいは、新規または既存のテーブル プロパティを設定できます。
テーブル プロパティを使用すると、SQL によって追跡されない情報を使用してテーブルにタグを付けることができます。
-
テーブル オプションの目的は、ストレージ プロパティを基になるストレージに (たとえば SERDE プロパティを Hive に) 渡すことです。
テーブル オプションとは、CREATE TABLE を実行するときに初期化できるキーと値のペアです。 テーブル オプションを
SET
またはUNSET
することはできません。
TBLPROPERTIES
新しいテーブルまたはビューの 1 つ以上のテーブル プロパティを設定します。
テーブル プロパティを使用すると、SQL によって追跡されない情報を使用してテーブルにタグを付けることができます。
構文
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
パラメーター
property_key
プロパティ キー。 キーは、ドットで区切られた 1 つまたは複数の識別子、あるいは文字列リテラルで構成できます。
プロパティ キーは一意である必要があり、大文字と小文字が区別されます。
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
既存のテーブルまたはビューの 1 つ以上のテーブル プロパティを設定します。
構文
SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
パラメーター
property_key
プロパティ キー。 キーは、ドットで区切られた 1 つまたは複数の識別子、あるいは文字列リテラルで構成できます。
プロパティ キーは一意である必要があり、大文字と小文字が区別されます。
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
テーブルまたはビューから 1 つ以上のテーブル プロパティを削除します。
構文
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )
property_key
{ identifier [. ...] | string_literal }
パラメーター
IF EXISTS
プロパティ キーのいずれかが存在しない場合にエラーを発生させないように Databricks SQL に指定する省略可能な句。
property_key
削除するプロパティ キー。 キーは、ドットで区切られた 1 つまたは複数の識別子、あるいは文字列リテラルで構成できます。
プロパティ キーは大文字と小文字が区別されます。
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
新しいテーブルに 1 つ以上のテーブル オプションを設定します。
テーブル オプションの目的は、ストレージ プロパティを基になるストレージに (たとえば SERDE プロパティを Hive に) 渡すことです。
Delta Lake テーブルのテーブル オプションを指定すると、これらのオプションもテーブル プロパティとしてエコーされます。
構文
OPTIONS ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
パラメーター
property_key
プロパティ キー。 キーは、ドットで区切られた 1 つまたは複数の識別子、あるいは文字列リテラルで構成できます。
プロパティ キーは一意である必要があり、大文字と小文字が区別されます。
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
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'
など) に設定します。