雅典娜在msck修复表之后不添加分区

5lwkijsr  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(375)

我有一个firehose,它以默认目录结构“yy/mm/dd/hh”将数据存储在s3中,在athena中有一个表,其中这些列被定义为分区:
年:字符串,月:字符串,日:字符串,时:字符串
运行后

msck repair table clicks

我只收到:

Partitions not in metastore:    clicks:2017/08/26/10

我可以手动添加这些分区,但一切正常,我想知道为什么msck repair不自动添加这些分区并更新metastore?

nqwrtyyt

nqwrtyyt1#

为了将来的参考,除了本文提到的两个技巧之外:https://aws.amazon.com/premiumsupport/knowledge-center/athena-aws-glue-msck-repair-table/
允许glue:batchcreatepartition in iam政策
将s3路径更改为扁平箱
您还需要设置 TableType 属性设置为非空值。对我来说,是的 EXTERNAL_TABLE .

ppcbkaq5

ppcbkaq52#

使用雅典娜 MSCK REPAIR 对于s3,需要使用键值对作为路径前缀:
点击次数/年=2017/月=08/天=26/小时=10/
代替:clicks/2017/08/26/10/
或者,直接在glue中更新分区(手动或使用爬虫)。
在这里找到这个:https://forums.aws.amazon.com/message.jspa?messageid=789078

相关问题