hive 问题集

  • Q:Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mo de=nonstrict

    http://blog.sina.com.cn/s/blog_6ff05a2c0100tah0.html
    按照提示 partition strict的模式要求至少有一个静态分区列,为了完成动作, 需要设置:

    set hive.exec.dynamic.partition.mode=nonstrict;
    它的默认值是strick,即不允许分区列全部是动态的,这是为了防止用户有可能原意是只在子分区内进行动态建分区,但是由于疏忽忘记为主分区列指定值了,这将导致一个dml语句在短时间内创建大量的新的分区(对应大量新的文件夹),对系统性能带来影响。

    set hive.exec.dynamic.partition=true
    使用动态分区要先设置hive.exec.dynamic.partition参数值为true,默认值为false,即不允许使用

点赞