gpt4 book ai didi

apache-spark - 如何从Spark RDD中的特定分区获取数据?

转载 作者:行者123 更新时间:2023-12-03 07:07:43 25 4
gpt4 key购买 nike

我想访问 Spark RDD 中特定分区的数据。我可以按如下方式获取分区的地址:

myRDD.partitions(0)

但我想从 myRDD.partitions(0) 分区获取数据。我尝试了官方 org.apache.spark 文档但找不到。

提前致谢。

最佳答案

您可以按如下方式使用mapPartitionsWithIndex

// Create (1, 1), (2, 2), ..., (100, 100) dataset
// and partition by key so we know what to expect
val rdd = sc.parallelize((1 to 100) map (i => (i, i)), 16)
.partitionBy(new org.apache.spark.HashPartitioner(8))

val zeroth = rdd
// If partition number is not zero ignore data
.mapPartitionsWithIndex((idx, iter) => if (idx == 0) iter else Iterator())

// Check if we get expected results 8, 16, ..., 96
assert (zeroth.keys.map(_ % 8 == 0).reduce(_ & _) & zeroth.count == 12)

关于apache-spark - 如何从Spark RDD中的特定分区获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32517976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com