【问题标题】:Apache Spark - Scala - HashMap (k, HashMap[String, Double](v1, v2,..)) to ((k,v1),(k,v2),…)Apache Spark - Scala - HashMap (k, HashMap[String, Double](v1, v2,..)) 到 ((k,v1),(k,v2),...)
【发布时间】:2016-07-21 14:39:20
【问题描述】:

我明白了:

val vector: RDD[(String, HashMap[String,Double])] = [("a", {("x",1.0),("y", 2.0),...}]

我想得到:

RDD[String,(String,Double)] = [("a",("x",1.0)), ("a", ("y", 2.0)), ...]

如何使用 FlatMap 完成?欢迎提供更好的解决方案!

【问题讨论】:

    标签: scala apache-spark text-processing bigdata


    【解决方案1】:

    试试:

    vector.flatMapValues(_.toSeq)
    

    【讨论】:

    • 错误:值 flatMapValues 不是 scala.collection.mutable.HashMap[String,Double] 的成员
    • vector 只是 RDD 的名称,可以是任何东西。
    • 我尝试了这个:vector.flatMapValues(x => x)。它工作得很好。感谢您的提示!
    猜你喜欢
    • 2016-11-22
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 2020-12-29
    • 2022-07-22
    • 1970-01-01
    相关资源
    最近更新 更多