本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
支援的分割區投影類型
資料表可以具有 enum
、integer
、date,
或 injected
分割區資料欄類型的任意組合。
列舉類型
若分割區資料行的值為列舉集的成員 (例如,機場代碼或 AWS 區域),請使用此enum
類型。
在資料表中定義分割區屬性,如下所示:
屬性名稱 | 範例值 | 描述 |
---|---|---|
projection. |
|
必要。用於柱的投影類型 columnName 。 該值必須enum (不區分大小寫)才能表示使用枚舉類型。允許開頭和結尾空格。 |
projection. |
|
必要。列舉分區值的逗號分隔列表 columnName 。 任何空格都被認為是枚舉值的一部分。 |
注意
建議的最佳實務是將 enum
型分割區投影的使用限制成幾十個或以下。雖然沒有特定的預enum
測限制,但是當 gzip 壓縮時,表格中繼資料的總大小不能超過約 1 MB 的 AWS Glue 限制。請注意,您資料表的主要部分會共用此限制,例如資料欄名稱、位置、儲存格式等。如果您發現自己在enum
投影IDs中使用了幾十多個獨特的方法,請考慮使用替代方法,例如將代理字段中的少量唯一值分組。您可以透過取捨基數的方式,控制 enum
欄位中唯一數值的數量。
整數類型
對於其可能值會被解譯為定義範圍內整數的分割區資料欄,請使用整數類型。投影整數資料欄目前限制為帶正負號的 Java 長整數範圍 (-263 至 263-1,含)。
屬性名稱 | 範例值 | 描述 |
---|---|---|
projection. |
|
必要。用於柱的投影類型 columnName 。 該值必須是integer (不區分大小寫)才能表示使用整數類型。允許開頭和結尾空格。 |
projection. |
|
必要。兩個元素的逗號分隔清單,提供資料行上查詢所傳回的最小值和最大值範圍值 columnName 。 請注意,這些值必須用逗號分隔,而不是連字符。這些值包含在內,可以是負的,也可以以零開頭。允許開頭和結尾空格。 |
projection. |
|
選用。正整數;指定資料欄連續分割區值之間的間隔 columnName 。 例如,range 值為「1」的「1,3" 會產生值 1、2 和 3。interval range 值相同但 interval 值為 "2" 會產生 1 和 3 的值,略過 2。允許開頭和結尾空格。預設為 1。 |
projection. |
|
選用。正整數;指定要包含在資料行的分割區值最終表示中的位數 columnName 。 例如,range 值為「1」的「1,3" 會產生值 1、2 和 3。digits range 值相同但 digits 值為 "2" 會產生 01、02 和 03 的值。允許開頭和結尾空格。預設值是非靜態位數,且不以零開頭。 |
日期類型
對於其值會被解譯為定義範圍內之日期 (以及選用的時間) 的分割區資料欄,請使用整數類型。
重要
預計的日期欄會在查詢執行時以協調世界時間 (UTC) 產生。
屬性名稱 | 範例值 | 描述 |
---|---|---|
projection. |
|
必要。用於柱的投影類型 columnName 。 該值必須是date (不區分大小寫)才能表示使用日期類型。允許開頭和結尾空格。 |
projection. |
|
必要。兩個元素的逗號分隔清單,提供資料行的最小值和最大 此資料欄也可以包含相對日期字串,格式化為此規則運算式模式:
允許使用空格,但在日期常值中會被視為日期字串本身的一部分。 |
projection. |
|
必要。以 Java 日期格式為基礎的日期格式字串DateTimeFormatterJava.time.* 類型。 |
projection. |
|
正整數;指定資料行的連續分割區值之間的間隔 如果提供的日期採用單日或單月精確度,則 |
projection. |
|
代表 a 的序列化形式的時間單位字。ChronoUnit 如果提供的日期採用單日或單月精確度,則 |
注入類型
注入類型適用於其可能值不能在某個邏輯範圍內依程序產生,但可在查詢的 WHERE
子句中作為單一值提供的分割區資料欄。
請務必牢記以下幾點:
-
如果未為每個注入的資料欄提供篩選條件表達式,則注入資料欄上的查詢會失敗。
-
只有當值為分離值時,才能成功在注入資料欄上針對篩選條件表達式查詢多個值。
-
僅支援
string
類型的資料欄。
屬性名稱 | Value | 描述 |
---|---|---|
projection. |
|
必要。要用於柱的投影類型 columnName 。 僅支援string 類型。指定的值必須是 injected (不區分大小寫)。允許開頭和結尾空格。 |
如需詳細資訊,請參閱何時使用injected投影類型。