hive -f执行整体脚本时,报错下如何知道前面执行多少个了

工作中,常将hive脚本写在一个 hive sql内,然后后台执行,如下:



 

cdh集群下:

sudo -u  hdfs hive -f /cloud/qyjs-2016-03-08-part2.sql  &>  /cloud/qyjs-2016-03-08-part2.log

如果执行这个sql某块报错下,将 log拖拽到本地,然后搜

Time taken:

比如 Time taken: 113.939 seconds  这里面每一个Time taken都表示 sql文件里面的 一段逻辑执行完毕,

查到几个 就表示 sql文件中跑过了几个,这样就好定位是哪个位置代码块没跑到了。

或者直接去 (cdh集群)/tmp/hdfs/hive.log 里面查看历史日志, 在后台执行的hive sql会将所有执行的命令sql具体语句和执行步骤都会输出到 hive.log里, 这种方式查找到底在哪里报错的 更为直接。

猜你喜欢

转载自chengjianxiaoxue.iteye.com/blog/2285342