我在 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 中进行故障排除