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

Hadoop 每次在Map reduce中修改代码时都需要创建一个jar文件,hadoop,mapreduce,Hadoop,Mapreduce,我正在Hadoop单节点集群中运行一个程序(MapReduce)。 MapReduce逻辑经常会有一些修改。我正在使用EclipseIDE 每次修改逻辑之后,我都会创建一个jar文件来检查Hadoop中的Mapreduce作业。每次修改MapReduce逻辑后创建jar文件都有点繁琐 有没有更简单的方法在每次更改时创建jar文件?请给出建议。不清楚您是否需要制作jar文件,或者制作jar的过程是否太困难。首先,您必须创建一个jar文件来向Hadoop提交作业。这是没有办法的。其次,为了简化创建j

我正在Hadoop单节点集群中运行一个程序(MapReduce)。 MapReduce逻辑经常会有一些修改。我正在使用EclipseIDE

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


有没有更简单的方法在每次更改时创建jar文件?请给出建议。

不清楚您是否需要制作jar文件,或者制作jar的过程是否太困难。首先,您必须创建一个jar文件来向Hadoop提交作业。这是没有办法的。其次,为了简化创建jar文件的过程,您可以使用Maven之类的构建工具来简化这一过程。Maven Assembly插件还将根据需要打包一个uber jar和所有依赖项。

我使用Bullowing编写mapreduce作业(它与Pig一样简洁,与Java一样灵活/性能),然后使用sbt进行构建。我有一个rsync脚本,它将我的代码同步到集群上的某个位置,在那里我启动了“sbt concole”——这是一个repl(shell),您可以在其中导入库


结果是,我可以在shell中交互式地运行mapreduce作业,只需从项目中调用代码、直接将代码写入shell或将粘贴代码复制到shell中即可。IME你无法打败这种工作流

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

您使用任何构建工具吗?