如何从另一个Java程序以编程方式执行MapReduce jar?

时间:2015-12-17 16:20:38

标签: hadoop mapreduce

我有我的MapReduce程序(DataProfiler.jar),它通过将表名和列名作为命令行参数来执行一些数据分析。

hadoop -jar DataProfiler.jar -D tableName=MyTable -D columnFamilyName=CF1

有没有办法可以将它包装在另一个java程序中。这样我就可以为所有表执行这个jar(通过连接到数据库并获取所有表和列的列表)。

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议,不要从简单的java程序中调用MapReduce jar,而是可以用一种通用的方式编写逻辑MapReduce驱动程序类。

我们打电话给这个班级JobRunner。您可以定义member variables,其中包含您需要处理的tablecolumns信息。然后,您可以设置MapReduce配置并启动作业。从技术上讲,你是以相同的方式实现同​​样的目标。我认为这是一个更好的方法,然后调用一个jar并启动MapReduce工作。