aws雅典娜:“msck修复表”会产生成本吗?

mklgxw1f  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(351)

我在s3中有兽人数据,看起来像这样:

s3://bucket/orc/clientId=client-1/year=2017/month=3/day=16/hour=20/
s3://bucket/orc/clientId=client-2/year=2017/month=3/day=16/hour=21/
s3://bucket/orc/clientId=client-3/year=2017/month=3/day=16/hour=22/

每小时我都会运行一个emr作业,将s3中的原始json转换为orc,并使用路径分区约定(如上)将其写入athena摄取。emr作业完成后,我运行 msck repair table 所以雅典娜可以拿起新的隔板。
我有3个相关问题:
跑步吗 msck repair table 在这种情况下,我在aws的钱?
aws医生说 msck repair table can超时。有没有一种方法可以在数据管道中执行一步以继续运行此命令,直到它成功完成?
我更喜欢将分区手动添加到athena(因为我知道我工作的年、月、日、小时)。但是我不知道 clientId 因为可能有1-x个,我不知道在运行emr时存在哪些。有没有解决这个问题的最佳实践方法(使用hive或其他方法)?我可以调用s3api来获取 s3://bucket/org/ 并编写代码对列表进行迭代并手动添加。我希望有更简单的方法。。。
注意:当我说“手动添加分区”时,我的意思是这样做:

ALTER TABLE <athena table> 
ADD PARTITION (clientId='client-1',year=2017,month=3,day=16,hour=20) 
location 's3://bucket/orc/clientId=client-1/year=2017/month=3/day=16/hour=20/';
yh2wf1be

yh2wf1be1#

美国焊接学会说:
ddl查询或分区检测不收费。
美国焊接学会说:
s3收取费用。
我还不知道如何实现自动化 msck repair table 以确保它完成。

相关问题