按键

时间:2017-10-23 17:46:08

标签: java scala apache-spark rdd

Spark 2.0.1

我有一些rdd:

class MyClass{ }

JavaRDD<MyClass> rdd = //new hadoop api file;
Comparator<MyClass> comp;

//create comparator and do some map on the rdd

rdd.mapToPait(l -> new Tuple2<>(l , ""))
.sortByKey(comp)
.mapToPair(l -> new Tuple2<>(l._1, NullWritable.get())
.saveAsNewAPIHadoopFile(somePath, AvroKey.class, NullWritable.class, SomeOutputFormat.class, hadoopConfiguration);

这对我来说非常不寻常。该应用程序包含2个工作,看起来像:

enter image description here enter image description here

这里奇怪的是 作业0 我们做newAPIHadoopFile -> map -> map -> sortByKey那就好了。

但是在 作业1 上我们也是这样做的(Job1::stage1没有跳过),然后排序然后保存。第2阶段需要很多时间。为什么会这样?有没有办法将执行计划修复到更优化的位置?

0 个答案:

没有答案