本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Athena 中的資料類型
當您執行 CREATE TABLE 時,您需指定資料欄名稱和每個資料欄可包含的資料類型。您建立的資料表會存放在 AWS Glue Data Catalog 中。
為了促進與其他查詢引擎的互通性,Athena 會對 DDL 陳述式 (例如 CREATE TABLE) 使用 Apache HiveSELECT、CTAS 和 INSERT INTO 等 DML 查詢,Athena 會使用 Trino
| DDL | DML | 說明 |
|---|---|---|
| BOOLEAN | 值為 true 和 false。 |
|
| 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) |
是位數的總數, (選用) 則是分數部分的位數總數,預設值為 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 字串、true、false 或 null。 |
| 無 | UUID | UUID (通用唯一識別碼)。 |
| 無 | IPADDRESS | IPv4 或 IPv6 位址。 |
| 無 | HyperLogLog |
這些資料類型支援近似函式內部。如需有關每個類型的詳細資訊,請造訪 Trino 文件中對應項目的連結。 |
| P4HyperLogLog |
||
| SetDigest |
||
| QDigest |
||
| TDigest |
||