为什么80%的码农都做不了架构师?>>>
参考地址:http://www.88cto.com/996962/article/details/32652.html
默认情况下动态分区插入是禁用的,下表是关于动态分区插入的相关配置属性:
配置参数 | 默认值 | 描述 |
hive.error.on.empty.partition | false | 在动态分区插入产生空结果时是否抛出异常。 |
hive.exec.dynamic.partition | false | 是否允许动态分区插入,若允许则设置为true。 |
hive.exec.dynamic.partition.mode | strict | 在strict模式 中用户至少指定一个静态分区以防用户不慎覆盖所有分区,在nonstrict模式中所有分区都允许是动态的。 |
实际项目编程案例:
如果设置:
set hive.exec.dynamic.partition.mode=nonstrict; 设置动态分区
set hive.error.on.empty.partition=true; 那么动态分区如果为空,则会报异常。 非常实用~
可以使用 python subprocess 模块:
execute_hql 表示你要执行的 hql 语句
例如: cmd_result = subprocess.call(execute_hql, shell=True)
返回值 0 正常,其他值异常。
~ 谢谢分享