表屬性和表選項

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時

定義了表和視圖的用戶定義的標記。

  • 表屬性

    一個表屬性是一個鍵-值對,你可以當你執行初始化創建表或者一個創建視圖。你可以設置現有的或使用新的或現有表的屬性ALTER TABLE改變觀點

    你可以使用表屬性標簽表信息不是由SQL跟蹤。

  • 表選項

    表選項的目的是通過存儲屬性到底層存儲,比如SERDE屬性蜂巢。

    表選項鍵-值對,你可以當你執行初始化創建表。你不能設置一個表的選擇。

TBLPROPERTIES

設置一個或多個表屬性的新表或視圖。

你可以使用表屬性標簽表信息不是由SQL跟蹤。

語法

TBLPROPERTIES({property_key(=]property_val}(,])property_key{標識符(]|string_literal}

參數

  • property_key

    房地產的關鍵。可以包含一個或多個的關鍵標識符隔開一個點或一個字符串。

    屬性鍵必須是唯一的,是區分大小寫的。

  • property_val

    屬性的值。必須是一個值布爾,字符串,整數,或小數文字。

例子

——創建表與用戶定義的表屬性>創建T(c1INT)TBLPROPERTIES(“this.is.my.key”=12,我的key2=真正的);>顯示TBLPROPERTIEST;選項序列化格式1我的關鍵12我的key2真正的transient_lastDdlTime1649783569

設置TBLPROPERTIES

設置一個或多個表屬性在一個現有的表或視圖。

語法

TBLPROPERTIES({property_key(=]property_val}(,])property_key{標識符(]|string_literal}

參數

  • property_key

    房地產的關鍵。可以包含一個或多個的關鍵標識符隔開一個點或一個字符串。

    屬性鍵必須是唯一的,是區分大小寫的。

  • property_val

    屬性的新值。必須是一個值布爾,字符串,整數,或小數文字。

例子

——修改表的表的屬性。>改變TTBLPROPERTIES(我的關鍵=14,“this.is.my.key2”=);>顯示TBLPROPERTIEST;選項序列化格式1我的關鍵14我的key2transient_lastDdlTime1649783980

設置TBLPROPERTIES

刪除一個或多個表從一個表或視圖屬性。

語法

設置TBLPROPERTIES(如果存在](property_key(,])property_key{標識符(]|string_literal}

參數

  • 如果存在

    可選條款指導磚SQL不報錯的屬性鍵不存在。

  • property_key

    屬性刪除的關鍵。可以包含一個或多個的關鍵標識符隔開一個點或一個字符串。

    屬性鍵是區分大小寫的。如果property_key不存在和錯誤提出除非如果存在已經指定。

例子

——刪除表的表的屬性。>改變T設置TBLPROPERTIES(我的關鍵,“this.is.my.key2”);>顯示TBLPROPERTIEST;選項序列化格式1transient_lastDdlTime1649784415

選項

設置一個新表中選擇一個或多個表。

表選項的目的是通過存儲屬性到底層存儲,比如SERDE屬性蜂巢。

指定表選項為三角洲湖表也呼應這些選項如表屬性。

語法

選項({property_key(=]property_val}(,])property_key{標識符(]|string_literal}

參數

  • property_key

    房地產的關鍵。可以包含一個或多個的關鍵標識符隔開一個點或一個字符串。

    屬性鍵必須是唯一的,是區分大小寫的。

  • property_val

    屬性的值。必須是一個值布爾,字符串,整數,或小數文字。

    在磚運行時的13.3和以後property_val可以是一個常量表達式。

例子

——創建表與用戶定義的表選項——”選項的選項出現。的前綴。>創建T(c1INT)選項(我的關鍵=“藍”| |“綠色”);>顯示TBLPROPERTIEST;選項我的關鍵bluegreen選項序列化格式2

保留表屬性鍵

磚儲備一些屬性鍵的使用,提出了一個錯誤,如果你嚐試使用它們:

你不應該使用屬性鍵開始選項標識符。這個前綴標識符將會被過濾掉顯示TBLPROPERTIES。的選項前綴也用於顯示表選項

常見TBLPROPERTIES和選項鍵

與三角洲湖常用以下設置:

  • delta.appendOnly:設置為真正的禁用更新刪除操作。

  • delta.dataSkippingNumIndexedCols的數量:設置主要收集和考慮統計數據列。

  • delta.deletedFileRetentionDuration:設置一個時間間隔等的時間間隔7天的控製時真空允許刪除文件。

  • delta.logRetentionDuration:設置一個時間間隔等的時間間隔60天的控製曆史保存多長時間旅行的查詢。