【问题标题】:Spark: Merge sorted partitionsSpark:合并排序的分区
【发布时间】:2015-01-01 15:23:52
【问题描述】:

我想在本地(在驱动程序上)合并排序的分区。

我在创建Iterable<Tuple2<D,X>> 的数据上做了.mapPartitionsToPair(),其中D 是一种具有排序的类型(可以说是某种日期),X 是一种具有一些合并规则的类型。结果按D 唯一排序。

我需要我的最终结果作为这些分区的减少,也由D 唯一排序。是否有任何局部减少依赖于按键排序的输入?我可以使用任何其他方法来实现我的目标吗?

我使用的是 Spark 1.1.0。

【问题讨论】:

    标签: java merge apache-spark


    【解决方案1】:

    最简单的解决方案是sortByKey(),然后collect()。它没有利用数据已经排序的属性,但是排序是可扩展的,fast,而且很容易做到。

    但如果你真的想依赖已经排序的属性,使用glom() 然后collect() 来获取分区列表。然后合并排序的列表,例如与 Guava 的Iterators.mergeSorted()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-02
      • 2015-10-15
      • 2020-03-09
      • 1970-01-01
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多