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)

Bug产生的代码

修复hive表分区:

msck repair table xxx

Bug原因排查

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

Bug解决方法

  1. 删除掉没有数据的分区
    这种适合于能明确知道为什么当天分区数据缺失,如果经常出现这种情况,显然不可能每天都手动删除。
  2. set hive.msck.path.validation=ignore
    hive.msck.path.validation=ignore 是 Apache Hive 中的一个配置参数,与 MSCK REPAIR TABLE 命令相关。M

相关推荐

  1. nvm1.1.11

    2024-03-21 15:52:04       30 阅读
  2. 1.下午试题1

    2024-03-21 15:52:04       9 阅读
  3. HTML-1

    2024-03-21 15:52:04       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-21 15:52:04       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-21 15:52:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-21 15:52:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-21 15:52:04       18 阅读

热门阅读

  1. 做好自己,顺应时代

    2024-03-21 15:52:04       21 阅读
  2. jvm相关

    2024-03-21 15:52:04       18 阅读
  3. Linux生产者消费者模型(简易版)

    2024-03-21 15:52:04       20 阅读
  4. 【进阶版讲解深度学习如何入门?】

    2024-03-21 15:52:04       16 阅读