在IDE上调试Hive

[size=large]编译、调试Hive[/size]
最近在公司研究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变量赋值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值