Apache spark 如何转换RDD结构
如何转换Apache spark 如何转换RDD结构,apache-spark,rdd,Apache Spark,Rdd,如何转换 RDD[(String, (((A, B), C), D))] 到 我是否需要使用flatMapValues?我不知道如何使用它 有人能帮忙吗?您可以使用mapValues并从元组中选择值作为 rdd.mapValues(x => (x._1._1._1, x._1._1._2, x._1._2, x._2)) 这几乎是一个Scala问题,而不是Spark问题。或者,尝试以下模式匹配: rdd.mapValues { case (((a, b), c), d) =>
RDD[(String, (((A, B), C), D))]
到
我是否需要使用flatMapValues
?我不知道如何使用它
有人能帮忙吗?您可以使用
mapValues
并从元组中选择值作为
rdd.mapValues(x => (x._1._1._1, x._1._1._2, x._1._2, x._2))
这几乎是一个Scala问题,而不是Spark问题。或者,尝试以下模式匹配:
rdd.mapValues { case (((a, b), c), d) => (a, b, c, d) }
mapValues
很重要,因为它维护RDD的分区器(如果有)。是否使用模式匹配<代码>映射{case(x:String,((A,B,C),D))=>(x,(A,B,C,D)
}`
rdd.mapValues { case (((a, b), c), d) => (a, b, c, d) }