每次在Map reduce中修改代码时都需要创建一个jar文件

时间:2014-06-28 19:45:23

标签: hadoop mapreduce

我在Hadoop单节点集群中运行程序(MapReduce)。 经常对MapReduce逻辑进行一些修改。我正在使用eclipse IDE。

每次修改逻辑后,我都会创建一个jar文件来检查Hadoop中的Mapreduce作业。在修改MapReduce逻辑后,每次创建一个jar文件都有点乏味。

每次更改时是否有更简单的方法来创建jar文件?请指教。

3 个答案:

答案 0 :(得分:0)

目前尚不清楚你是否需要制作一个jar文件,或者制作jar的过程是否太难。首先,您必须创建一个jar文件来向Hadoop提交作业。没有办法解决这个问题。其次,为了使创建jar文件的过程更容易,您可以使用像Maven这样的构建工具来简化这一过程。如果需要,Maven Assembly插件还将打包一个带有所有依赖项的超级jar。

答案 1 :(得分:0)

我使用Scalding编写mapreduce作业(它像Pig一样简洁,并且像Java一样灵活/高性能),然后我使用sbt来构建。我有一个rsync脚本,它将我的代码同步到集群上的一个位置,在那里我启动'sbt concole' - 它是一个repl(shell),你可以在其中导入库。

结果是,我可以通过从项目中调用我的代码,将代码直接写入shell或将粘贴代码复制到shell中,以交互方式在shell中运行mapreduce作业。 IME你无法击败这种工作流程!

答案 2 :(得分:0)

如果您正在使用Eclipse IDE,您可以将MapReduce插件添加到eclipse并创建提供HDFS和MapReduce端口号的位置。所以在eclipse中你可以简单地点击右键并运行>选择Run on hadoop,这将避免创建jar文件。