【问题标题】:Spark: How to convert RDD[(Long, Iterable[String])] to RDD[(Long, String)]?Spark:如何将 RDD[(Long, Iterable[String])] 转换为 RDD[(Long, String)]?
【发布时间】:2016-07-01 04:16:44
【问题描述】:

如何将此 RDD[(Long, Iterable[String])] 转换为...

(852403,Set(PT0000094043, PT0000097083, PT0000036162))
(357331,Set(PT0000068829, PT0000094042, PT0000066859))

RDD[(Long, String)] 像这样?

(852403, PT0000094043)
(852403, PT0000097083)
(852403, PT0000036162)
(357331, PT0000068829)
(357331, PT0000094042)
(357331, PT0000066859)

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    试试flatMapValues:

    rdd.flatMapValues(identity)
    

    或flatMap:

    rdd.flatMap{ case (k, vs) => vs.map(v => (k, v)) }
    

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 1970-01-01
      • 2016-12-25
      • 2021-09-28
      • 2017-03-08
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多