使用ant编译hive
需要的工具:ant 具体安装,请自己在网上查找
1.使用svn检出hive的源代码:
svn地址:http://svn.apache.org/repos/asf/hadoop/hive/trunk
可参考:http://wiki.apache.org/hadoop/Hive/GettingStarted
2.直接使用ant命令的时候,程序会去网上下载hadoop版本。(本来配置了HADOOP_HOME环境变量之后,应该可以不用下载,但是不知道为什么我配置了之后,参数没有生效)
默认程序会去http://mirror.facebook.net/facebook/hive-deps下载,在国内,只能翻墙才能上这个网,所以我们要将这个hadoop.mirror修改。
修改:build.properties文件
将
hadoop.mirror=http://mirror.facebook.net/facebook/hive-deps
修改为:
hadoop.mirror=http://apache.freelamp.com/(具体可用的mirror可参考http://www.apache.org/dyn/closer.cgi/hadoop/core/)
修改hadoop版本:
hadoop.version=0.19.2
3.修改下载hadoop的版本:
修改shims目录下的build.xml跟ivy.xml,将里面不需要的hadoop的版本删除。如果列表中没有自己需要的hadoop,可修改。
bulid.xml:
<antcall target=”build_shims” inheritRefs=”false” inheritAll=”false”>
<param value=”0.19.2″ />
</antcall>
ivy.xml:
<dependency org=”hadoop” rev=”0.19.2″>
<artifact ext=”tar.gz”/>
</dependency>
至此,在hive源代码目录下就可以使用ant命令进行编译,编译后的结果在build目录下