注意事项和限制 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

注意事项和限制

使用 Athena 读取 Apache Hudi 表时,请考虑以下几点。

  • 增量查询 – Athena 不支持增量查询。

  • CTAS – Athena 不支持对 Hudi 数据执行 CTAS 或者 INSERT INTO。如果您希望 Athena 支持编写 Hudi 数据集,请将反馈发送至

    有关编写 Hudi 数据的更多信息,请参阅以下资源:

  • MSCK REPAIR TABLE – 不支持在 Athena 的 Hudi 表上使用 MSCK REPAIR TABLE。如果您需要加载未在 Amazon Glue 中创建的 Hudi 表,请使用 ALTER TABLE ADD PARTITION

  • 不支持跳过 S3 Glacier 对象 – 如果 Apache Hudi 表中的对象属于 Amazon S3 Glacier 存储类,将 read_restored_glacier_objects 表属性设置为 false 则无效。

    例如,假设发出以下命令:

    ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')

    对于 Iceberg 和 Delta Lake 表,该命令会生成错误 Unsupported table property key: read_restored_glacier_objects。对于 Hudi 表,ALTER TABLE 命令不会产生错误,但是 Amazon S3 Glacier 对象仍无法跳过。在 ALTER TABLE 命令之后运行 SELECT 查询会继续返回所有对象。

  • 时间戳查询 – 当前,试图读取 Hudi 实时表中时间戳列的查询要么失败,要么产生空结果。此限制仅适用于读取时间戳列的查询。仅包含同一表中非时间戳列的查询会成功。

    失败的查询会返回类似于以下内容的消息:

    GENERIC_INTERNAL_ERROR: class org.apache.hadoop.io.ArrayWritable cannot be cast to class org.apache.hadoop.hive.serde2.io.TimestampWritableV2 (org.apache.hadoop.io.ArrayWritable and org.apache.hadoop.hive.serde2.io.TimestampWritableV2 are in unnamed module of loader io.trino.server.PluginClassLoader @75c67992)