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

Hadoop 如何从另一个Java程序以编程方式执行MapReduce jar?,hadoop,mapreduce,Hadoop,Mapreduce,我有一个MapReduce程序(DataProfiler.jar),它通过将表名和列名作为命令行参数来执行一些数据分析 hadoop -jar DataProfiler.jar -D tableName=MyTable -D columnFamilyName=CF1 是否有一种方法可以将其包装到另一个java程序中。这样我就可以为所有表执行这个jar(通过连接到数据库并获取所有表和列的列表) 谢谢 我建议,不要从简单的java程序调用MapReducejar,您可以用一种稍微通用的方式编写一个

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

hadoop -jar DataProfiler.jar -D tableName=MyTable -D columnFamilyName=CF1
是否有一种方法可以将其包装到另一个java程序中。这样我就可以为所有表执行这个jar(通过连接到数据库并获取所有表和列的列表)


谢谢

我建议,不要从简单的java程序调用
MapReduce
jar,您可以用一种稍微通用的方式编写一个逻辑
MapReduce
驱动程序类

让我们调用这个类
JobRunner
。您可以定义
成员变量
,该变量将保存有关需要处理的
列的信息。然后可以设置
MapReduce
配置并启动作业。从技术上讲,你正在实现同样的目标,但方式略有不同。我认为这是一种比调用jar并启动
MapReduce
作业更好的方法