使用ANT实现Run-on-Hadoop功能

撇开eclipse的插件不说,如果直接在eclipse运行main方法,运行的时刻会提示map,reduce找不到的错误。其实就是没有把需要的类提供给集群环境。

 

看过使用hadoop-eclipse-plugin插件(http://winseclone.iteye.com/blog/1837035)最后解析的Run-on-Hadoop的实现,不难得出下面的方法。

首先打包jar,然后啊jar的路径给Main的-Dmapred.jar参数。这样,就可以把环境需要的class上传到hadoop了。 

主要的ant代码如下:

 

<property name="exported.jar" value="${build.dir}/tmp-runonhadoop-${now}.jar"></property>

<target name="jar" depends="build" description="Make tmp-run.jar">
	<jar jarfile="${exported.jar}" basedir="${build.classes}">
		<fileset dir="${build.classes}" includes="**/example/*" />
		<exclude name="**/core-site.xml"/>
	</jar>
</target>

<target name="WordCount" depends="build, jar" >
	<java classname="com.winse.hadoop.examples.WordCount" failοnerrοr="true" fork="yes">
		<arg line="-fs=${fs.default.name} -jt=${mapred.job.tracker} -Dmapred.jar=${exported.jar} /test/input /test/output"/>
		
		<classpath refid="runon.classpath"/>
	</java>
</target>

 

源码

最后附有源码。

就build.xml重要,其他就是exmaples里面的wordcount的源码而已。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值