我在Hadoop单节点集群中运行程序(MapReduce)。 经常对MapReduce逻辑进行一些修改。我正在使用eclipse IDE。
每次修改逻辑后,我都会创建一个jar文件来检查Hadoop中的Mapreduce作业。在修改MapReduce逻辑后,每次创建一个jar文件都有点乏味。
每次更改时是否有更简单的方法来创建jar文件?请指教。
答案 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文件。