Amazon Athena 中的資料類型 - Amazon Athena

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

Amazon Athena 中的資料類型

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

為了促進與其他查詢引擎的互通性,Athena 會將 Apache Hive 資料類型名稱用於 等DDL陳述式CREATE TABLE。對於 SELECTCTAS和 等DML查詢INSERT INTO,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,正值或負值。遵循 Floating-Point Arithmetic (IEEE 754) IEEE的標準。
DOUBLE 64 位元已簽署雙精度浮點數。範圍為 4.94065645841246544e-324d 至 1.79769313486231570e+308d,正值或負值。遵循 Floating-Point Arithmetic (IEEE 754) IEEE的標準。
DECIMAL(precision, scale) precision 是位數總數。scale(選用) 是分數部分中的位數,預設值為 0。例如,使用這些類型定義:decimal(11,5)decimal(15)。的最大值 precision 為 38,且 的最大值為 scale 為 38。
CHAR, CHAR(length)

固定長度字元資料,指定長度介於 1 到 255 之間,例如 char(10)。If length 已指定,讀取時字串會以指定的長度截斷。如果基礎資料字串較長,基礎資料字串保持不變。

如需詳細資訊,請參閱 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 至 MONTH 一個月或數個月的間隔
INTERVAL DAY 至 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 A UUID(全域唯一 IDentifier)。
IPADDRESS IPv4 或 IPv6地址。
HyperLogLog 這些資料類型支援近似函數內部。如需每種類型的詳細資訊,請造訪 Trino 文件中對應項目的連結。
P4HyperLogLog
SetDigest
QDigest
TDigest