選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

支援的分割區投影類型

焦點模式

在本頁面

支援的分割區投影類型 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料表可以具有 enumintegerdate,injected 分割區資料欄類型的任意組合。

列舉類型

enum類型用於值為列舉集的成員的分割區資料欄 (例如,機場代碼或 AWS 區域)。

在資料表中定義分割區屬性,如下所示:

屬性名稱 範例值 描述
projection.columnName.type

enum

必要。用於資料欄的投影類型 columnName。 值必須是 enum(不區分大小寫),以表示使用列舉類型。允許開頭和結尾空格。
projection.columnName.values

A,B,C,D,E,F,G,Unknown

必要。以逗號分隔的資料欄的列舉分割區值清單 columnName。 任何空格都會被視為列舉值的一部分。
注意

建議的最佳實務是將 enum 型分割區投影的使用限制成幾十個或以下。雖然enum投影沒有特定限制,但 gzip 壓縮時,資料表中繼資料的總大小不得超過約 1 MB AWS Glue 的限制。請注意,您資料表的主要部分會共用此限制,例如資料欄名稱、位置、儲存格式等。如果您發現自己在enum投影IDs中使用超過幾十種唯一方法,請考慮替代方法,例如在替代欄位中儲存較少數量的唯一值。您可以透過取捨基數的方式,控制 enum 欄位中唯一數值的數量。

整數類型

對於其可能值會被解譯為定義範圍內整數的分割區資料欄,請使用整數類型。投影整數資料欄目前限制為帶正負號的 Java 長整數範圍 (-263 至 263-1,含)。

屬性名稱 範例值 描述
projection.columnName.type

integer

必要。用於資料欄的投影類型 columnName。 值必須是 integer(不區分大小寫),以表示使用整數類型。允許開頭和結尾空格。
projection.columnName.range

0,10

-1,8675309

0001,9999

必要。雙元素逗號分隔清單,提供資料欄查詢要傳回的最小和最大範圍值 columnName。 請注意,值必須以逗號分隔,而非連字號。這些值包含在內,可以是負的,也可以以零開頭。允許開頭和結尾空格。
projection.columnName.interval

1

5

選用。正整數,指定資料欄的連續分割區值之間的間隔 columnName。 例如,range值為 "1,3" 且interval值為 "1" 會產生值 1、2 和 3。range 值相同但 interval 值為 "2" 會產生 1 和 3 的值,略過 2。允許開頭和結尾空格。預設為 1。
projection.columnName.digits

1

5

選用。正整數,指定要包含在分割區值資料欄最終表示中的位數 columnName。 例如,range值為 "1,3" 且digits值為 "1" 會產生值 1、2 和 3。range 值相同但 digits 值為 "2" 會產生 01、02 和 03 的值。允許開頭和結尾空格。預設值是非靜態位數,且不以零開頭。

日期類型

對於其值會被解譯為定義範圍內之日期 (以及選用的時間) 的分割區資料欄,請使用整數類型。

重要

預計日期資料欄會在查詢執行時間於國際標準時間 (UTC) 中產生。

屬性名稱 範例值 描述
projection.columnName.type

date

必要。用於資料欄的投影類型 columnName。 值必須是 date(不區分大小寫),以表示使用日期類型。允許開頭和結尾空格。
projection.columnName.range

201701,201812

01-01-2010,12-31-2018

NOW-3YEARS,NOW

201801,NOW+1MONTH

必要。以逗號分隔的雙元素清單,提供資料欄range的最小值和最大值 columnName。 這些值包含在內,並且可以使用與 Java java.time.*日期類型相容的任何格式。最小值和最大值都必須使用相同的格式。.format 屬性中指定的格式必須是用於這些值的格式。

此資料欄也可以包含相對日期字串,格式化為此規則運算式模式:

\s*NOW\s*(([\+\-])\s*([0-9]+)\s*(YEARS?|MONTHS?|WEEKS?|DAYS?|HOURS?|MINUTES?|SECONDS?)\s*)?

允許使用空格,但在日期常值中會被視為日期字串本身的一部分。

projection.columnName.format

yyyyMM

dd-MM-yyyy

dd-MM-yyyy-HH-mm-ss

必要。以 Java 日期格式 為基礎的日期格式字串DateTimeFormatter。可以是任何支援的 Java.time.* 類型。
projection.columnName.interval

1

5

正整數,指定資料欄的連續分割區值之間的間隔 columnName。 例如,range2017-01,2018-12interval 1interval.unit值為 的值MONTHS會產生值 2017-01、2017-02、2017-03 等。相同的 range 值搭配 interval 值為 2interval.unit 值為 MONTHS,會產生值 2017-01、2017-03、2017-05 等。允許開頭和結尾空格。

如果提供的日期採用單日或單月精確度,則 interval 是選用的,並且分別預設為 1 天或 1 個月。否則,interval 是必要的。

projection.columnName.interval.unit

YEARS

MONTHS

WEEKS

DAYS

HOURS

MINUTES

SECONDS

MILLIS

代表 序列化形式的時間單位字ChronoUnit。可能值為 YEARSMONTHSWEEKSDAYSHOURSMINUTESSECONDSMILLIS。這些值不區分大小寫。

如果提供的日期採用單日或單月精確度,則 interval.unit 是選用的,並且分別預設為 1 天或 1 個月。否則,interval.unit 是必要的。

範例 – 按月分割

下列範例資料表組態會按月分割 2015 年至今的資料。

'projection.month.type'='date', 'projection.month.format'='yyyy-MM', 'projection.month.interval'='1', 'projection.month.interval.unit'='MONTHS', 'projection.month.range'='2015-01,NOW', ...

注入類型

注入類型適用於其可能值不能在某個邏輯範圍內依程序產生,但可在查詢的 WHERE 子句中作為單一值提供的分割區資料欄。

請務必牢記以下幾點:

  • 如果未為每個注入的資料欄提供篩選條件表達式,則注入資料欄上的查詢會失敗。

  • 只有當值為分離值時,才能成功在注入資料欄上針對篩選條件表達式查詢多個值。

  • 僅支援 string 類型的資料欄。

屬性名稱 Value 描述
projection.columnName.type

injected

必要。用於資料欄的投影類型 columnName。 僅支援 string類型。指定的值必須是 injected (不區分大小寫)。允許開頭和結尾空格。

如需詳細資訊,請參閱何時使用injected投影類型

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。