Apache spark 在Spark中迭代CompactBuffer
我有一个PairedRDD,其中的值根据键进行分组,我从中获取一个特定键:Apache spark 在Spark中迭代CompactBuffer,apache-spark,Apache Spark,我有一个PairedRDD,其中的值根据键进行分组,我从中获取一个特定键: pairsgrouped.lookup("token") 输出: res6: Seq[Iterable[String]] = ArrayBuffer(CompactBuffer(EC-17A5206955089011B, EC-17A5206955089011A)) 我想迭代这些值并进一步过滤结果。但我无法重复它 我尝试了以下方法: pairsgrouped.lookup("token").foreach(print
pairsgrouped.lookup("token")
输出:
res6: Seq[Iterable[String]] = ArrayBuffer(CompactBuffer(EC-17A5206955089011B, EC-17A5206955089011A))
我想迭代这些值并进一步过滤结果。但我无法重复它
我尝试了以下方法:
pairsgrouped.lookup("token").foreach(println)
但这给了我这样的信息:
CompactBuffer(EC-17A5206955089011B, EC-17A5206955089011A)
我想迭代这些值并使用这些值过滤结果 分组数据的值是可编辑的,而不是值列表。必须先收集值,然后才能打印它们。要使用key=“token”仅获取组的值,需要进行初始筛选
val result = groupedData.filter{case(key, _) => key == "token"}
.values
.flatMap(i => i.toList)
.collect()
result foreach println
分组数据的值是一个Iterable,而不是一个值列表。必须先收集值,然后才能打印它们。要使用key=“token”仅获取组的值,需要进行初始筛选
val result = groupedData.filter{case(key, _) => key == "token"}
.values
.flatMap(i => i.toList)
.collect()
result foreach println