【问题标题】:How to convert RDD Structure如何转换 RDD 结构
【发布时间】:2018-05-29 10:14:27
【问题描述】:

如何转换

RDD[(String, (((A, B), C), D))] 

RDD[(String, (A, B, C, D))]

我需要使用flatMapValues吗?我不知道如何使用它。

有人可以帮忙吗?

【问题讨论】:

  • 使用模式匹配? map { case (x: String , (((A,B), C),D)) => (x, (A,B,C,D)}`

标签: apache-spark rdd


【解决方案1】:

您可以只使用mapValues 并从元组中选择values

rdd.mapValues(x => (x._1._1._1, x._1._1._2, x._1._2, x._2))

【讨论】:

    【解决方案2】:

    这几乎是一个 Scala 问题,而不是 Spark。或者,尝试如下模式匹配:

    rdd.mapValues { case (((a, b), c), d) => (a, b, c, d) }
    

    mapValues 很重要,因为它维护了 RDD 的分区器(如果有)。

    【讨论】:

      猜你喜欢
      • 2015-02-17
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 2015-02-27
      • 2021-09-27
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多