gpt4 book ai didi

hive - AWS 雅典娜 : does `msck repair table` incur costs?

转载 作者:行者123 更新时间:2023-12-01 12:22:31 25 4
gpt4 key购买 nike

我在 S3 中有 ORC 数据,如下所示:

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所以 Athena 可以选择新的分区。

我有3个相关的问题:
  • 是否正在运行 msck repair table在这种情况下,我在 AWS 上花钱了吗?
  • AWS Docs say msck repair table可以超时。有没有办法可以在数据管道中迈出一步以继续运行此命令直到它成功完成?
  • 我更愿意将分区手动添加到 Athena(因为我知道我正在处理的年、月、日、小时)。不过我不知道clientId因为可能有 1-X 个,我不知道在运行 EMR 时存在哪些。是否有解决此问题的最佳实践方法(使用 Hive 或其他方法)?我可以进行 s3 api 调用以获取 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/';

    最佳答案

    AWS says :

    There's no charge for DDL queries or for partition detection.



    AWS says :

    S3 GET charges do apply.



    我还不知道如何自动化 msck repair table以确保它完成。

    关于hive - AWS 雅典娜 : does `msck repair table` incur costs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42845002/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com