【发布时间】:2016-01-25 17:57:33
【问题描述】:
我在我的键值对上使用了groupByKey。现在我有了这个(键,Iterable)。
我想从中制作这些键值对: ((key,(列表的一个元素)),1) 用于所有列表 v。
我该怎么做?如何在可迭代列表上循环?
val lines = sc.textFile("followers.txt").map(s => {
val substrings = s.split(" ")
(substrings(0), substrings(1))
})
val aggrigateNeighbors = lines.groupByKey().collect().foreach(println)
val friends = aggrigateNeighbors.flatMap{x=>((k,v.hasNext()),1)}
【问题讨论】:
-
请发布您到目前为止尝试过的内容。
-
编辑您的问题以包含您的代码。还要说明该代码以何种方式无法执行您想要的操作。
-
我做到了。我不知道如何访问由 goroupByKey 操作生成的可迭代列表。
-
v.hasNext 返回一个布尔值而不是下一个元素。此外,aggigateNeighbours 不再是 RDD(因为您调用了 collect)。假设您有大量数据,它不适合。
-
那么如何访问可迭代列表?
标签: scala apache-spark