gpt4 book ai didi

scala - Spark : How to write diffrent group values from RDD to different files?

转载 作者:行者123 更新时间:2023-12-01 10:41:49 25 4
gpt4 key购买 nike

我需要将键为 1 的值写入文件 file1.txt 并将键为 2 的值写入 file2.txt:

val ar = Array (1 -> 1, 1 -> 2, 1 -> 3, 1 -> 4, 1 -> 5, 2 -> 6, 2 -> 7, 2 -> 8, 2 -> 9)
val distAr = sc.parallelize(ar)
val grk = distAr.groupByKey()

如何在不迭代集合 grk 两次的情况下做到这一点?

最佳答案

我们将不同客户的数据写到不同的表中,本质上是同一个usecase。我们使用的常见模式是这样的:

val customers:List[String] = ???

customers.foreach{customer => rdd.filter(record => belongsToCustomer(record,customer)).saveToFoo()}

这可能无法满足“不对 rdd 进行两次(或 n 次)迭代”的愿望,但是 filter 是在并行分布式环境中执行的廉价操作并且它有效,所以我认为它确实符合做事的“通用 Spark 方式”。

关于scala - Spark : How to write diffrent group values from RDD to different files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27362667/

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