使用hive的过程中,经常需要diagnose hive运行到了哪个地方,以便进行优化。jstack是常用的工具,可需要java 的process id。但是多个hive shell运行时jps得出的结果令人失望:
根本 无法辨别哪个是自己使用的hive shell。
一个简单的方法,在hive启动的时候,会显示一行类似如下内容:
Hive history file=/tmp/hadoop/hive_job_log_hadoop_201104131547_1147086228.txt
即hive 的历史文件,hive shell会一直hold住这个文件的handle,所以使用
这样就获取到了自己的hive shell的pid:7229
祝大家玩儿的开心
--EOF--