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

数据类型

Amazon S3 Select 支持多个基元数据类型。

数据类型转换

一般规则是遵循 CAST 函数 (如果已定义)。如果未定义 CAST,则将所有输入数据视为字符串。必要时,必须将其转换为相关的数据类型。

有关 CAST 函数的更多信息,请参阅CAST

受支持数据类型

Amazon S3 Select 支持以下这组基元数据类型。

名称 说明 示例
bool TRUE 或 FALSE FALSE
INT、INTEGER 范围 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 中的 8 字节有符号整数。 100000
字符串 UTF8 编码的长度可变的字符串。默认限制为一个字符。最大字符限制为 2,147,483,647。 'xyz'
float 8 字节浮点数。 CAST(0.456 AS FLOAT)
DECIMAL、NUMERIC

Base-10 数字,最大精度为 38 (即最大有效位数),取值范围在 -231 到 231-1 之间 (即以 10 为底的指数)。

注意

如果您同时提供数值范围和精度,则 Amazon S3 Select 会全部忽略。

123.456
timestamp

时间戳表示特定的时刻,始终包括本地偏移,并且能够支持任意精度。

在文本格式中,时间戳遵循日期和时间格式的 W3C 注释,但它们必须以文本“T”结尾(如果不是最低限度全天精度)。允许使用小数秒,具有至少一位精度,以及无限的最大值。本地时间偏移可以表示为与 UTC 相比的小时:分钟偏移量,或表示为文本“Z”以指示 UTC 的本地时间。它们在具有时间的时间戳上是必需的,在日期值上是不允许的。

CAST('2007-04-05T14:30Z' AS TIMESTAMP)

支持 Parquet 类型

Amazon S3 Select 支持以下 Parquet 类型。

  • DATE

  • DECIMAL

  • ENUM

  • INT(8)

  • INT(16)

  • INT(32)

  • INT(64)

  • LIST

    注意

    对于 LIST Parquet 类型输出,Amazon S3 Select 仅支持 JSON 格式。但如果查询将数据限定为简单值,则还可以用 CSV 格式查询 LIST Parquet 类型。

  • STRING

  • TIMESTAMP 支持的精度(MILLIS/MICROS/NANOS)

    注意

    不支持保存为 INT(96) 的时间戳。

    由于 INT(64) 类型的范围原因,使用 NANOS 单位的时间戳只能表示介于 1677-09-21 00:12:432262-04-11 23:47:16 之间的值。超出此范围的值不能用 NANOS 单位表示。

将 Parquet 类型映射到 Amazon S3 Select 中支持的数据类型

Parquet 类型 支持的数据类型
DATE

timestamp

DECIMAL

DECIMAL、NUMERIC

ENUM

字符串

INT(8)

INT、INTEGER

INT(16)

INT、INTEGER
INT(32) INT、INTEGER

INT(64)

DECIMAL、NUMERIC

LIST

列表中的每个 Parquet 类型都已映射到相应的数据类型

STRING

字符串

TIMESTAMP

timestamp