应用场景
hive执行sql的方式很多,在需要批量执行sql的场景下就需要使用到hive 命令 或beeline命令。
使用方式
hive -f a.sql
这个命令会执行a.sql里面的sql命令,每个命令以分号结束,但这种方式有个缺陷,就是中间有一个sql执行出现异常,就会结束脚本的执行。在有些场景下,我们不希望出现这种情况,例如批量插分区,中间某个表删掉了,插入分区失败,导致后面的所有表都不能正常的插入分区,hive命令没有提供跳过异常的参数。
beeline -u jdbc:hive2://hiveServerHostName:10000 -n username -p aaa -f a.sql --force=true
beeline 命令提供了这个参数 --force=true 可以忽略中间执行过程的异常。