Spark重新分区操作重复

时间:2017-03-15 08:20:11

标签: java apache-spark hadoop-partitioning

我在Spark中有一个RDD,我已经缓存了。在我缓存它之前,我重新分配它。这工作,我可以在spark的存储选项卡中看到它具有预期的分区数。

这是后续运行阶段的样子: Repartition example

它正在跳过我对缓存的RDD所做的一系列工作,这很棒。我想知道的是,为什么第18阶段以重新分配开始。你可以看到它是在第17阶段结束时完成的。

我在代码中的步骤是:

List<Tuple2<String, Integer>> rawCounts = rdd
        .flatMap(...)
        .mapToPair(...)
        .reduceByKey(...)
        .collect();

要获取RDD,我将其从会话上下文中删除。我也必须包装它,因为我使用的是Java:

JavaRDD<...> javaRdd = sc.emptyRDD();
return javaRdd.wrapRDD((RDD<...>)rdd);

修改

我不认为这是重新分配的具体内容。我已经删除了重新分区,现在我看到了在跳过阶段之后出现的其他一些操作。 E.g。

Non repartition example

绿点和之前的所有内容都应该已经制定出来并进行缓存。

0 个答案:

没有答案