`
eclipse_cc
  • 浏览: 5470 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在IDE上调试Hive

    博客分类:
  • hive
阅读更多
编译、调试Hive
最近在公司研究Hive源码,积累了一些经验,写了一些东西,陆续更新,希望对感兴趣的朋友有所帮助,本人新手欢迎拍砖指教,打字不易,转载请注明出处http://eclipse-cc.iteye.com/blog/1410012。

通过以下步骤您可以使用IDE修改、编译、调试Hive:
这里使用NetBeans编译并调试Hive(0.7.1)
1. 新建Java应用程序项目
2. 导入需要调试的源包
3. 在库中添加hive目录lib下的所有jar、Hadoop项目依赖(无hadoop调试需求的也可以直接导入hadoop的core)、mysql库(如果跟我一样,metastore用mysql存。BTW,我发现不同版本hive的meta表结构会不同,如生产环境采用hive 0.7.0版本,使用0.7.1可以正常访问,但是0.8.0访问时会因为取不到列信息而在validation过程中出错)
4. 这步很重要,在运行选项卡中将编译的源至于类路径之上,不明白的话复习下ClassLoader
5. 将hive配置文件放到项目默认包里
6. 这时候就可以编译、调试了,为了可以在IDE的console中输入hive脚本,需要改一下cliDriver类的命令采集代码,使用Scanner(System.in)什么的随便你了。

遇到的问题:
Hadoop版本不识别:修改shimloader类,显示对vars赋值
MySQL连不上:检查防火墙、远程连接授权
Windows上不能访问tmp目录:给Context类localScratchDir变量赋值

声明:以上解决问题的方法仅是为了快速编译与调试,解决问题的思想不可取。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics