【问题标题】:Spark Custom Partitioning in javajava中的Spark自定义分区
【发布时间】:2018-05-10 03:36:29
【问题描述】:

我想在 spark 中编写一个自定义分区器,我正在研究 java。

但是我注意到 javaRDD 类(或 Dataset 类)没有像 scala 中的 partitionBy(Partitioner) 方法。只有 javaPairRDD 可以。如果没有这种方法,我应该如何对 RDD 或数据集进行分区?

【问题讨论】:

    标签: java apache-spark partition


    【解决方案1】:

    如果没有这种方法,我应该如何对 RDD 或数据集进行分区?

    你不认为:

    • Datasets 没有 Partitioner 的公共概念。相反,您使用repartition 方法,该方法采用分区数和Columns 的可选列表。分区方法本身不可配置(它使用带有 Murmur Hash 的哈希分区)。

    • RDDs,除了“PairRDDs”(Java 中的JavaPairRDD,Scala 中的RDD[(_, _)])根本无法重新分区。如果要重新分区其他RDD,则必须先将其转换为PairRDD。如果您没有好的选择,可以使用null 作为值,使用记录作为键。

    【讨论】:

    • 那么,所有这些使用 partitionBy 的在线示例都是针对等效的 PairRDD scala 类的吗?谢谢!这对我来说并不明显,因为在 scala 中似乎没有明确说明类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2019-05-01
    • 2021-01-28
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    相关资源
    最近更新 更多