使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何解决我在 Athena 中查询表时出现的分区投影错误“INVALID_TABLE_PROPERTY”?

1 分钟阅读
0

我在 Amazon Athena 表中使用了分区投影,但查询失败,并显示错误“INVALID_TABLE_PROPERTY”。

简短描述

当用于分区投影的 Athena 表定义中的 storage.location.template 属性不正确时,就会出现此错误。

解决方法

确保 storage.location.template 属性中指定的表定义是正确的。此外,请确保范围值以逗号而不是连字符分隔。

以下 Amazon Simple Storage Service (Amazon S3) 存储桶是默认的 Athena 分区路径模板

s3://bucket/table-root/partition-col-1=partition-col-1-val/partition-col-2=partition-col-2-val/

要使用自定义路径 Amazon S3 模板,请参阅指定自定义 S3 存储位置

以下示例表使用分区列 a、b 和 c。以下示例 storage.location.template 值是正确的:

s3://bucket/table_root/a=${a}/${b}/some_static_subdirectory/${c}/
s3://bucket/table_root/c=${c}/${b}/some_static_subdirectory/${a}/${b}/${c}/${c}/

这些 example.storage.location.template 值不正确,因为 a 列没有占位符:

s3://bucket/table_root/c=${c}/${b}/some_static_subdirectory/
s3://bucket/table_root/some_static_subdirectory/{b}/${c}

有关详细信息,请参阅设置分区投影分区问题

相关信息

使用 Amazon Athena 进行分区投影

在 Athena 中进行故障排除

AWS 官方
AWS 官方已更新 10 个月前