如何从 Java 运行 MapReduceIndexerTool 作业?
How to run MapReduceIndexerTool job from Java?
我想 运行 来自 Java 的 MapReduceIndexerTool。
现在我使用 hadoop jar
从命令行执行此操作,如您所见 here,但我想检查它的状态(查看它是否已完成、正在进行等) Java代码。
所以基本上我想从 Java 运行 它 以便能够从 Java 检查它的状态。有没有办法从命令行 运行 并从 Java 检查它的状态?
此外,有没有办法让 Map Reduce 在作业完成时发送事件(例如回调)?像 webhook 之类的东西?
据我所知,Tool 接口仅公开 int run(String[] args)
方法,因此通常您会创建新实例,形成适当的参数字符串并调用该方法。
另一方面,MapReduceIndexerTool 有 int run(Options options)
方法,可用于 运行 它而无需形成 shell 式参数。但是,此方法是受保护的,因此需要在与 MapReduceIndexerTool
.
相同的包中创建调用 class
我想 运行 来自 Java 的 MapReduceIndexerTool。
现在我使用 hadoop jar
从命令行执行此操作,如您所见 here,但我想检查它的状态(查看它是否已完成、正在进行等) Java代码。
所以基本上我想从 Java 运行 它 以便能够从 Java 检查它的状态。有没有办法从命令行 运行 并从 Java 检查它的状态?
此外,有没有办法让 Map Reduce 在作业完成时发送事件(例如回调)?像 webhook 之类的东西?
据我所知,Tool 接口仅公开 int run(String[] args)
方法,因此通常您会创建新实例,形成适当的参数字符串并调用该方法。
另一方面,MapReduceIndexerTool 有 int run(Options options)
方法,可用于 运行 它而无需形成 shell 式参数。但是,此方法是受保护的,因此需要在与 MapReduceIndexerTool
.