中的数据类型 Amazon Athena - Amazon Athena
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

中的数据类型 Amazon Athena

运行 CREATE TABLE 时,您可以指定列名和每列可以包含的数据类型。Athena 支持下面列出的数据类型。有关JDBC驱动程序支持的数据类型映射的信息 Athena、JDBC和Java,请参阅 数据类型JDBC驱动程序安装和配置指南. 有关ODBC驱动程序支持的数据类型映射的信息 Athena 和,请参阅 数据类型ODBC驱动程序的安装和配置指南.

  • BOOLEAN – 价值观是 truefalse.

  • TINYINT – 一个 8 位有符号的 INTEGER,采用二进制补码格式,最小值为 -27,最大值为 27-1。

  • SMALLINT – 一个 16 位有符号的 INTEGER,采用二进制补码格式,最小值为 -215,最大值为 215-1。

  • INTINTEGER – Athena 结合了两个不同的整数数据类型实现,如下所示:

    • INT – 在数据定义语言 (DDL) 查询中,Athena 使用 INT 数据类型。

    • INTEGER – 在DML质疑中, Athena 使用 INTEGER 数据类型。INTEGER 以两个补充格式的32位符号值表示,最小值为-231 且最大值为231-1.

      • 为确保与业务分析应用程序兼容,JDBC 驱动程序返回 INTEGER 类型。

  • BIGINT – 一个 64 位有符号的 INTEGER,采用二进制补码格式,最小值为 -263,最大值为 263-1。

  • DOUBLE – 64 位双精度浮点数。

  • FLOAT – 32 位单精度浮点数。相当于 Presto 中的 REAL。在 Athena,使用 FLOAT 在DDL语句中, CREATE TABLEREAL 像是 SELECT CAST。的 AWS Glue 爬网程序返回值 FLOAT、和 Athena 翻译 REALFLOAT (请参阅 2018 年 5 月 6 日 发行说明)。

  • DECIMAL(precision, scale)precision 是位数的总数。scale (可选)是小数部分中的位数,默认值为0。例如,使用以下类型定义:、。DECIMAL(11,5), DECIMAL(15).

    要将小数值指定为文本,例如在选择查询DDL表达中具有特定小数值的行时,请指定 DECIMAL 输入定义,并在查询中以字数(单引号)列出小数值,如本例所示: decimal_value = DECIMAL '0.12'.

  • CHAR – 固定长度字符数据,指定长度介于1和255之间,例如 char(10)。更多信息,请参阅 CHARHive数据类型.

    注意

    要使用 substr 函数从 CHAR 数据类型返回指定长度的子字符串,您必须先将 CHAR 值转换为 VARCHAR,如以下示例所示。

    substr(cast(col1 as varchar), 1, 4)
  • VARCHAR – 可变长度字符数据,指定长度介于1和65535之间,例如 varchar(10)。更多信息,请参阅 VARCHARHive数据类型.

  • STRING – 用单引号或双引号括起的字符串文本。有关更多信息,请参阅 STRING Hive 数据类型

    注意

    在 Athena 中,无法将非字符串数据类型强制转换为 STRING;而是将这些数据类型强制转换为 VARCHAR

  • BINARY – 用于Parquet中的数据。

  • DATE – ISO格式的日期,例如 YYYY-MM-DD。例如, DATE '2008-09-15'.

  • TIMESTAMP – 日期和时间在 java.sql.Timestamp 兼容的格式,例如 yyyy-MM-dd HH:mm:ss[.f...]。例如, TIMESTAMP '2008-09-15 03:04:05.324'。此格式使用会话时区。

  • ARRAY<data_type>

  • MAP<primitive_type, data_type>

  • STRUCT<col_name : data_type [COMMENT col_comment] , ...>