Amazon Athena 中的資料類型 - Amazon Athena

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

Amazon Athena 中的資料類型

當您執行 CREATE TABLE 時,您需指定資料欄名稱和每個資料欄可包含的資料類型。您建立的資料表會存放在 AWS Glue Data Catalog 中。

為了促進與其他查詢引擎的互通性,Athena 會對 DDL 陳述式 (例如 CREATE TABLE) 使用 Apache Hive 資料類型名稱。對於 SELECTCTASINSERT INTO 等 DML 查詢,Athena 會使用 Trino 資料類型名稱。下列資料表會顯示 Athena 支援的資料類型。當 DDL 和 DML 類型在名稱、可用性或語法等方面有所不同時,它們會顯示在不同的資料欄中。

DDL DML 說明
BOOLEAN 值為 truefalse
TINYINT 以兩的補數格式表示的 8 位元的有號整數,最小值為 -27,而最大值為 27-1。
SMALLINT 以兩的補數格式表示的 16 位元的有號整數,最小值為 -215,而最大值為 215-1。
INT、INTEGER 以兩的補數格式表示的 32 位元的有號值,最小值為 -231,最大值為 231-1。
BIGINT 以兩的補數格式表示的 64 位元的有號整數,最小值為 -263,而最大值為 263-1。
FLOAT REAL 32 位元單精度浮點數。範圍為 1.40129846432481707e-45 到 3.40282346638528860e+38,正負值皆包含。遵循浮點數運算的 IEEE 標準 (IEEE 754)。
DOUBLE 64 位元雙精度浮點數。範圍為 4.94065645841246544e-324d 到 1.79769313486231570e+308d,正負值皆包含。遵循浮點數運算的 IEEE 標準 (IEEE 754)。
DECIMAL(precision, scale) precision 是位數的總數,scale (選用) 則是分數部分的位數總數,預設值為 0。例如,使用這些類型定義:decimal(11,5)decimal(15)。最大精確度為 38,而最大擴展值為 38。
CHAR, CHAR(length)

固定長度的字元資料,介於 1 到 255 的指定長度,例如 char(10)。如果指定長度,讀取字串時,會以指定的長度進行截斷。如果基礎資料字串較長,則基礎資料字串會維持不變。

如需詳細資訊,請參閱 CHAR Hive 資料類型

STRING VARCHAR 變數長度字元資料。
VARCHAR(length) 讀取長度上限的可變長度字元資料。讀取字串時,會以指定的長度進行截斷。如果基礎資料字串較長,則基礎資料字串會維持不變。
BINARY VARBINARY 可變長度二進位資料。
TIME 一天中的某個時間 (具有毫秒精確度)。
TIME(precision) 一天中的某個時間 (具有特定精確度)。TIME(3) 等於 TIME
TIME WITH TIME ZONE 一天中的某個時間 (時區)。時區應指定為 UTC 的位移。
DATE 包含年、月和日的行事曆日期。
TIMESTAMP TIMESTAMP, TIMESTAMP WITHOUT TIME ZONE 行事曆日期和一天中的某個時間 (具有毫秒精確度)。
TIMESTAMP(precision), TIMESTAMP(precision) WITHOUT TIME ZONE 行事曆日期和一天中的某個時間 (具有特定精確度)。TIMESTAMP(3) 等於 TIMESTAMP
TIMESTAMP WITH TIME ZONE 行事曆日期和時間 (時區)。時區可以指定為 UTC 的位移,也可以指定為 IANA 時區名稱,或使用 UTC、UT、Z 或 GMT。
TIMESTAMP(precision) WITH TIME ZONE 行事曆日期和一天中的某個時間 (具有特定精確度),時區。
INTERVAL YEAR TO MONTH 一或多個完整月份間的間隔
INTERVAL DAY TO SECOND 一或數秒、分鐘、小時或天的間隔
ARRAY<element_type> ARRAY[element_type] 值陣列。所有值必須是相同資料類型。
MAP<key_type, value_type> MAP(key_type, value_type) 可依索引鍵查詢值的地圖。所有索引鍵都必須是相同的資料類型,且所有值都必須是相同的資料類型。例如 map<string, integer>
STRUCT<field_name_1:field_type_1, field_name_2:field_type_2, …> ROW(field_name_1 field_type_1, field_name_2 field_type_2, …) 具有具名欄位及其值的資料結構。
JSON JSON 值類型,可以是 JSON 物件、JSON 陣列、JSON 數字、JSON 字串、truefalsenull
UUID UUID (通用唯一識別碼)。
IPADDRESS IPv4 或 IPv6 位址。
HyperLogLog 這些資料類型支援近似函式內部。如需有關每個類型的詳細資訊,請造訪 Trino 文件中對應項目的連結。
P4HyperLogLog
SetDigest
QDigest
TDigest