gpt4 book ai didi

hadoop - 带有已删除分区文件的分区表上的Spark SQL查询失败

转载 作者:行者123 更新时间:2023-12-02 20:48:26 24 4
gpt4 key购买 nike

以下是按顺序尝试的内容,

  • 根据当前时间在配置单元中创建分区表。
  • 使用spark配置单元上下文并执行msck修复表。
  • 手动删除已添加分区之一的hdfs文件夹。
  • 再次使用spark hive 上下文并执行
    一个> MSCK修复
    这不会删除没有hdfs文件夹已添加的分区。
    似乎是关于“msck修复”的已知行为
    b>从tablexxx其中选择*(现有分区);
    失败失败:Filenotfound异常指向hdfs文件夹
    已手动删除。

  • 对这种行为的任何见解都会有很大的帮助。

    最佳答案

    是的,MSCK REPAIR TABLE将仅发现新分区,而不会删除“旧”分区。

    使用删除了HDFS文件夹的外部配置单元表,我看到了两种解决方案

  • 删除表(由于表是外部文件,因此不会删除文件),然后使用相同位置重新创建表,然后运行MSCK REPAIR TABLE。这是我的首选解决方案。
  • 删除所有使用ALTER TABLE <table> DROP PARTITION <partition>删除的分区

  • 您观察到的情况可能与此有关: https://issues.apache.org/jira/browse/SPARK-15044
    https://issues.apache.org/jira/browse/SPARK-19187

    关于hadoop - 带有已删除分区文件的分区表上的Spark SQL查询失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46972054/

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