您的当前位置:首页正文

在Windows eclipse上单步调试Hive教程

2023-03-11 来源:好走旅游网
Windowseclipse上单步调试Hive教程

Hadoop技术论坛一见2010.1.8www.hadoopor.com/hadoopor@foxmail.com

1.前言

本教程假设你已经掌握了Hadoop在Cygwin上的安装,以及Hive在WindowsEclipse上的编译技能,否则得先掌握安装和编译方法,才继续往下浏览。

2.参考资料

《在Windows上安装Hadoop教程》《Hadoop源代码eclipse编译教程》

3.安装Hadoop和编译Hive

e假设已经将Hadoop安装在E:\\hadoop\\run目录,Hive源代码存放在E:\\hadoop\\src\\hivE:\\hadoop\\src\\hive

目录下,并且Hive已经编译通过。Hadoop安装请参考《在Windows上安装Hadoop教程》一文,Hive的编译请参考《Hadoop源代码eclipse编译教程》一文。

编译Hive成功后,还不能立即调试Hive,需要先将编译后生成的jar安装好。

4.安装Hive

Hive可以和Hadoop分别安装在不同目录,这里我们将Hive安装到E:\\hadoop\\run\\hive目录下,所以我们需要在E:\\hadoop\\run下创建好hive子目录,原来将E:\\hadoop\\src\\hive目录下的bin、conf和lib三个子目录复制到E:\\hadoop\\run\\hive目录下(如果包含有SVN目录,这些目录可不复制),结果如下图所示:

完成上述操作后,还需要将E:\\hadoop\\src\\hive\\build目录相关的jar文件都复制到

在Windowseclipse上单步调试Hive教程

E:\\hadoop\\run\\hive\\lib目录下,需要复制的jar文件(README和LICENSE文件不用复制)如下图所示:

Hive的配置文件E:\\hadoop\\run\\hive\\conf\\hive-default.xml不需要修改。打开eclipse,选中hive项目(要求保证Hive已经编译通过,若不清楚如何编译,请参考《Hadoop源代码eclipse编译教程》一文),如下图所示:

2

在Windowseclipse上单步调试Hive教程

bugConfigurations”,进入配置界面,如下图所示:接下来,需要配置Debug,点击“DeDeb

在“DebugConfigurations”界面,选中“JavaApplication”,如下图所示:

3

在Windowseclipse上单步调试Hive教程

点击上图所示的“Newlaunchconfiguration”按钮,界面变成如下图所示:

iver”,点击上图中的“Search”按钮,在弹出的“SelectMainType”对话框中,选中“CliDrCliDriver

CliDriver是Hive的入口类,实现了main函数,如下图所示:

4

在Windowseclipse上单步调试Hive教程

然后点击上图所示的“OK”按钮,返回到“DebugConfigurations”界面,将“New_configuration”改成“CliDriver”,然后点击“Apply”按钮,如下图所示:

切换到Classpath界面,如下图所示:

5

在Windowseclipse上单步调试Hive教程

点击“AddExternalJARs”按钮,将“E:\\hadoop\\run\\hadoop-0.20.0-core.jar”、“E:\\hadoop\\run\\lib”和“E:\\hadoop\\run\\hive\\lib”两个目录下所有的jar都添加进来,如下图所示:

6

在Windowseclipse上单步调试Hive教程

接下来,还需要将Hive的conf目录添加进来,点击“Advanced”按钮,弹出如下图所示对话框:

在上图所示对话框中,选择“AddExternalFolder”,将“E:\\hadoop\\run\\hive\\conf”添加进来,然后点击“Apply”按钮,结果如下图所示:

7

在Windowseclipse上单步调试Hive教程

当点击上图所示的“Debug”按钮后,将进入如下图所示的界面:

由于存在Bug,在Cygwin环境中,将无法输入SQL语句,因此在调试之前,还必须解决或绕开这个Bug,下面开始解决这个问题。

在eclipse中打开CliDriver.java文件,找到main函数中的如下一行代码:

while((line=reader.readLine(curPrompt+\">\"))!=null){将其替换成如下一段代码:

8

在Windowseclipse上单步调试Hive教程

Scannersc=newScanner(System.in);while(true){

System.out.print(curPrompt+\">\");line=sc.nextLine();if(null==line)

break;

保存修改,再编译Hive,当编译成功后,将E:\\hadoop\\src\\hive\\build\\cli\\hive_cli.jar复制到E:\\hadoop\\run\\hive\\lib目录,并覆盖掉原来的hive_cli.jar。

到此,所有准备工作都完成了,可以开始一步步调试Hive了,eclipse主要调试快捷键:

F11:运行程序,进入调试F5:单步,并进入函数内F6:单步,但不进入函数内

F7:从当前函数内跳到上一级调用F8:一直执行到断点

Ctrl+Shift+B:添加或删除断点

有关eclipse更多的快捷键,请参考贴:http://bbs.hadoopor.com/thread-363-1-1.html。如果你的eclipse没有进入Debug界面,请按照下图所示操作即可:

Debug界面如下图所示:

9

在Windowseclipse上单步调试Hive教程

应当保证CliDriver.java窗口是Debug界面的活动窗口,并在CliDriver.java窗口按F11快捷键进入调试状态。

5.编后语

调试Hive对熟悉eclipse开发环境的java熟手来说,应当是一件非常容易的事,本文主要供从C/C++等非java语言转过来的Hadoop开发者。欢迎大家加入Hadoop技术论坛(http://hadoop.hadoopor.com)多多交流问题和分享经验。

10

因篇幅问题不能全部显示,请点此查看更多更全内容