eclipse上单步调试Hive
2015-11-16 16:56
399 查看
转自:
http://blog.sina.com.cn/s/blog_9f48885501017eyl.html
在~/workspace/hive新建了两个目录lib和conf
从hive目录中的lib和hadoop目录中的lib复制一份到一个目录里,我是放在~/workspace/hive/lib
还要把hadoop目录下的hadoop*.jar都拷贝过来吧。
如果用mysql做metastore的数据库,还需要把mysql-connector的lib加上
把hive的conf文件夹拷贝过来(要已配置好的conf文件哦)
把hive中的src目录拷贝进来
创建项目
在这个目录下(~/workspace/hive/src/cli)的代码是hive命令行的代码,我们可以通过调试它来了解hive的执行过程。在这个目录下,用eclipse新建一个项目。
配置bulid path,把我们准备好的lib全部加上
这个时候,代码应该没有编译错误了,如果有,请检查一下那个lib没加上。
还有个重要的步骤!hive是怎样找它的配置文件的呢?
我们要把conf目录加入classpath中,在debug configuration中的Classpath,点击左侧的advanced,add exteral path,选上我们准备好的conf目录。
这样就可以开始debug了!
如果你运行报does not have a sch错误,应该是由于没找到配置文件引起的。
顺便看看hive是怎么找到配置文件的。
都是通过getClassLoader().getResource()方法来获取的,所以配置文件夹必须在classpath中!
URL hconfurl = getClassLoader().getResource("hive-default.xml"); if (hconfurl == null) { l4j.debug("hive-default.xml not found."); }else { addResource(hconfurl); } URL hsiteurl = getClassLoader().getResource("hive-site.xml"); if (hsiteurl == null) { l4j.debug("hive-site.xml not found."); }else { addResource(hsiteurl); } |
相关文章推荐
- springmvc前台往后传值的几种方式
- java中的排序方法
- Spring AOP在Bean生命周期中的调用时机
- 加密解密java
- spring 定时任务的写法
- java加密解密简单列子
- Java Maven项目打包部署流程
- android推送:eclipse paho mqtt 项目在android studio环境下的源码
- spring+mybatis编译错误
- 从”JAVA“而终 24:BOM以及DOM讲解
- 源码分析:Java对象的内存分配
- eclipse插件
- java 内存分配
- JAVA字符串判等(== 与 equals)
- 15-11-16 Eclipse 操作菜单汉译之 Search [搜索]
- java 堆和栈
- Struts2中json的使用总结
- Struts2 XML配置详解
- Java序
- 不可变的String---让你熟悉又陌生