Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 管道化hadoop映射减少作业_Java_Programming Languages_Hadoop_Mapreduce - Fatal编程技术网

Java 管道化hadoop映射减少作业

Java 管道化hadoop映射减少作业,java,programming-languages,hadoop,mapreduce,Java,Programming Languages,Hadoop,Mapreduce,我有五个map reduce,每个map reduce分别运行。我想把它们全部用管道输送到一起。所以,一个作业的输出将转到下一个作业。目前,我编写了shell脚本来执行它们。有没有一种用java编写的方法?请提供一个例子 谢谢您可能会发现这是将这些作业链接在一起的最简单方法。对于更复杂的工作流,我建议您签出。您可能会发现这是将这些作业链接在一起的最简单方法。对于更复杂的工作流,我建议签出。您好 我也有类似的要求 一种方法是 提交第一个作业后,执行以下操作 Job job1 = new Job(

我有五个map reduce,每个map reduce分别运行。我想把它们全部用管道输送到一起。所以,一个作业的输出将转到下一个作业。目前,我编写了shell脚本来执行它们。有没有一种用java编写的方法?请提供一个例子

谢谢

您可能会发现这是将这些作业链接在一起的最简单方法。对于更复杂的工作流,我建议您签出。

您可能会发现这是将这些作业链接在一起的最简单方法。对于更复杂的工作流,我建议签出。

您好 我也有类似的要求 一种方法是

提交第一个作业后,执行以下操作

Job job1 = new Job( getConf() );
job.waitForCompletion( true );
然后使用

if(job.isSuccessful()){
    //start another job with different Mapper.
    //change config
    Job job2 = new Job( getConf() );
}
嗨 我也有类似的要求 一种方法是

提交第一个作业后,执行以下操作

Job job1 = new Job( getConf() );
job.waitForCompletion( true );
然后使用

if(job.isSuccessful()){
    //start another job with different Mapper.
    //change config
    Job job2 = new Job( getConf() );
}

Oozie是你的解决方案。您可以通过Oozie的action标签提交map reduce类型的作业、蜂巢作业、猪作业、系统命令等


它甚至还有一个协调器,充当您工作流程的cron。

Oozie是您的解决方案。您可以通过Oozie的action标签提交map reduce类型的作业、蜂巢作业、猪作业、系统命令等


它甚至有一个协调器,充当您工作流程的cron。

另一种可能性是,它也在Hadoop之上提供了一个抽象层:它似乎提供了与Hadoop概念密切合作的类似组合,但让使用Oozie工作流调用Pig脚本所获得的-Hadoop-do-M/R-heavy提升,它也在Hadoop之上提供了一个抽象层:它似乎提供了与Hadoop概念密切合作的类似组合,但让Oozie工作流调用Pig脚本时所得到的-Hadoop-do-M/R-heavy提升。对于您的用例,我认为Oozie会很好。Oozie是一个工作流调度器,您可以在其中编写不同的操作(可以是map reduce、java、shell等),以执行一些计算、转换、充实等。对于这种情况:

措施A:i/p输入o/p A

行动B:i/p a o/p B

措施C:i/p b o/p C(最终输出)

您最终可以在HDFS中持久化c,并可以决定持久化或删除中间输出


如果您想在一个动作中完成所有三个动作的计算,那么可以使用级联。通过他们的官方文档,您可以更好地了解层叠,您也可以参考我的博客:

关于您的用例,我认为Oozie会很好。Oozie是一个工作流调度器,您可以在其中编写不同的操作(可以是map reduce、java、shell等),以执行一些计算、转换、充实等。对于这种情况:

措施A:i/p输入o/p A

行动B:i/p a o/p B

措施C:i/p b o/p C(最终输出)

您最终可以在HDFS中持久化c,并可以决定持久化或删除中间输出

如果您想在一个动作中完成所有三个动作的计算,那么可以使用级联。通过他们的官方文档,您可以更好地了解层叠,也可以参考我的博客: