选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Amazon Ion Hive SerDe

聚焦模式

本页内容

Amazon Ion Hive SerDe - Amazon Athena

您可以使用 Amazon Ion Hive SerDe 查询以 Amazon Ion 格式存储的数据。Amazon Ion 是一种类型丰富、自描述的开源数据格式。Amazon Quantum Ledger Database(Amazon QLDB)等服务和开源 SQL 查询语言 PartiQL 使用Amazon Ion 格式。

Amazon Ion 具有可互换的二进制格式和文本格式。此功能结合了文本的易用性和二进制编码的效率。

若要从 Athena 查询 Amazon Ion 数据,您可以使用 Amazon Ion Hive SerDe,其对 Amazon Ion 数据进行序列化和反序列化操作。反序列化允许您对 Amazon Ion 数据运行查询,或读取数据以便以不同的格式(如 Parquet 或 ORC)写出。序列化允许您通过使用 CREATE TABLE AS SELECT(CTAS)或 INSERT INTO 查询从现有表中复制数据来生成 Amazon Ion 格式的数据。

注意

由于 Amazon Ion 是 JSON 的超集,因此您可以使用 Amazon Ion Hive SerDe 查询非 Amazon Ion JSON 数据集。与其他 JSON SerDe 库不同,Amazon Ion SerDe 不希望每行数据都在一行上。如果您想查询“漂亮打印”格式的 JSON 数据集,或以其他方式采用换行符将字段拆分为一行,则此功能非常有用。

有关使用 Athena 查询 Amazon Ion 的其他信息和示例,请参阅使用 Amazon Athena 分析 Amazon Ion 数据集

序列化库名称

Amazon Ion SerDe 的序列化库名称为 com.amazon.ionhiveserde.IonHiveSerDe。有关源代码信息,请参阅 GitHub.com 上的 Amazon Ion Hive SerDe

注意事项和限制

  • 重复的字段 – Amazon Ion 结构是有序的并支持重复字段,而 Hive STRUCT<>MAP<> 不支持。因此,当您将 Amazon Ion 结构中的重复字段反序列化时,将不确定地选择单个值,而忽略其他值。

  • 不支持外部符号表 – 目前,Athena 不支持外部符号表或下列 Amazon Ion Hive SerDe 属性:

    • ion.catalog.class

    • ion.catalog.file

    • ion.catalog.url

    • ion.symbol_table_imports

  • 文件扩展名 – Amazon Ion 使用文件扩展名来确定用于反序列化 Amazon Ion 文件的压缩编解码器。因此,压缩文件必须具有与使用的压缩算法相对应的文件扩展名。例如,如果使用 ZSTD,相应的文件扩展名为 .zst

  • 同类数据 – Amazon Ion 对可用于特定字段值的数据类型没有任何限制。例如,两个不同的 Amazon Ion 文档可能有一个名称相同但数据类型不同的字段。但是,由于 Hive 使用架构,所以您提取到单个 Hive 列的所有值都必须具有相同的数据类型。

  • 映射密钥类型限制 – 您将其他格式的数据序列化到 Amazon Ion 时,请确保映射密钥类型为 STRINGVARCHAR 或者 CHAR。尽管 Hive 允许您使用任何原始数据类型作为映射密钥,Amazon Ion 符号必须是字符串类型。

  • 联合类型 – Athena 目前不支持 Hive 联合类型

  • 双精度数据类型 – Amazon Ion 目前不支持 double 数据类型。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。