您的位置:首页 > 运维架构 > Linux

linux系统利用eclipse单步调试hive

2013-04-11 11:00 176 查看
1. 用svn 下载hive源码

将源码存放在hive_trunk目录 下。

# svn co http://svn.apache.org/repos/asf/hive/trunk/ hive_trunk1

2. 生成 eclipse项目

在hive_trunk1目录下,执行ant eclipse-files命令

#ant eclipse-files

生成可导入 的.project项目文件

3 加载hive_trunk1项目。

打开eclipse开发环境,file->import..打开“导入”对话框,选择root directory为hive_trunk1目录 。



在Project Explorer 视窗可以看到 已被成功导入。



继续在hive_trunk目录下执行 ant package命令

#ant package

耗时很多,我用了22分钟。

会发现新生成/opt/hive_trunk1/build/dist/lib目录 下会有很多 jar包。

hive_trunk项目,菜单 run-> debug configurations 对话框中,双击Java Application,做下图所示的定义。



单击进入classpath选项卡,对于classpath选项卡,需要

击“ Add External JARs”按钮,将“hadoop-0.20.0-core.jar" ,"hive_trunk1/build/dist/lib”下的所有jar包添加到classpath中。

接下来点击“Advanced”按钮,将Hive的hive_trunk1/build/dist/conf目录添加进来



在工程上右键-->properties

选择builders,去掉java builder前面的√

点击new按钮,双击【Ant Builder】选择Ant的编译模式

Name的地方写上hive_ant_Builder

在buildfile这里点击【browser file system】,浏览设置为/hive_trunk1/build.xml



打开 Targets选项卡,点击Manual Build的Set Targets按钮 做下图配置。



点击apply进行应用配置

点击ok按钮将hive_ant_builder进行up上移



在hive_trunk1/build/dist/conf目录添加

hive-site.xml .

hive-site.xml是将 hive-default.xml.template复制过来后并重命名的副本

对hive-site.xml做些修改,下面是配置hive 元数据库的三种方式,默认的嵌入式derby数据库、网络模式derby数据库和Mysql数据库。

<configuration>

<property>
<name>javax.jdo.option.ConnectionURL</name>
<!--<value>jdbc:derby:;databaseName=metastore_db;create=true</value>-->
<!--<value>jdbc:derby://localhost:1527/db_hive;create=true</value> -->
<value>jdbc:mysql://192.168.251.19:3306/mydb_hive?useUnicode=true&
characterEncoding=UTF-8&createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<!-- <value>org.apache.derby.jdbc.EmbeddedDriver</value> -->
<!-- <value>org.apache.derby.jdbc.ClientDriver</value> -->
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>mysql</value>
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysql</value>
<description>password to use against metastore database</description>
</property>
</configuration>


我对三种连接方式都做了测试,这里选择Mysql数据库。

使用Mysql数据库还需要将Mysql的JDBC导入到classpath中。

这里使用mysql-connector-java-5.1.24-bin.jar 。

对于网格模式的derby需要用到derby的l的JDBC 连接包derbyclient.jar,

derby的使用可以参考/article/9052362.html

4 .调试hive

单击菜单【run】下面的【debug】就可以单步调试hive了。



在此截图之前我创建了3个hive表,在截图中console 视窗里我通过 show tables命令即可查看到,以证明上述配置过程的正确性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: