当前位置:   article > 正文

return code 1 from org.apache.hadoop.hive.ql.ddl.DDLTask

return code 1 from org.apache.hadoop.hive.ql.ddl.DDLTask

在这里插入图片描述

Bug信息

Error: Error while compiling statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.ddl.DDLTask (state=08S01,code=1)
  • 1

Bug产生的代码

修复hive表分区:

msck repair table xxx
  • 1

Bug原因排查

  1. 分区数量过大
    这个是网上查看的说如果一次性修复大量的分区可能会报这样的错误,但是我仅仅有一百多个分目录,因此直接排除该原因。
  2. 分区数据缺失
    如果表的分区有两个字段,但是hdfs上对应只有一个分区字段,这种情况就会报上面的错。因此我对各个分区进行了检测,发现果然有个分区目录少了数据

Bug解决方法

  1. 删除掉没有数据的分区
    这种适合于能明确知道为什么当天分区数据缺失,如果经常出现这种情况,显然不可能每天都手动删除。
  2. set hive.msck.path.validation=ignore
    hive.msck.path.validation=ignore 是 Apache Hive 中的一个配置参数,与 MSCK REPAIR TABLE 命令相关。M
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/302845?site
推荐阅读
相关标签
  

闽ICP备14008679号