Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api ApacheSpark:我们如何将RDD[v]拆分为Map[k,RDD[v]]?_Api_Apache Spark - Fatal编程技术网

Api ApacheSpark:我们如何将RDD[v]拆分为Map[k,RDD[v]]?

Api ApacheSpark:我们如何将RDD[v]拆分为Map[k,RDD[v]]?,api,apache-spark,Api,Apache Spark,groupByKey给了我RDD[key,value],我找不到任何方法将其转换为Map[key,RDD[values]]。 谢谢 SVAFAIK没有Spark原语允许您按这样的键拆分RDD。我们正在使用过滤来获得类似的结果。在性能方面,它必须比实际的groupByKey轻得多,因为过滤器不需要洗牌 val keys = rdd.keys.collect val dataByKey = keys.map(key => (key, rdd.filter(_._1 == key)).toMap

groupByKey给了我RDD[key,value],我找不到任何方法将其转换为Map[key,RDD[values]]。 谢谢


SV

AFAIK没有Spark原语允许您按这样的键拆分RDD。我们正在使用过滤来获得类似的结果。在性能方面,它必须比实际的
groupByKey
轻得多,因为过滤器不需要洗牌

val keys = rdd.keys.collect
val dataByKey = keys.map(key => (key, rdd.filter(_._1 == key)).toMap

请注意,钥匙必须放在驾驶员的内存中才能使用。

非常感谢您回答我的问题。我会试试你的建议。可能是重复的