【问题标题】:Scala Flatmap on Array inside the part of the valueScala Flatmap on Array 里面的值部分
【发布时间】:2016-02-11 06:09:13
【问题描述】:

我有像 (a,b,Array(p1,p2,p3),c) 这样的 RDD,我想在值内的 Array 上应用 flatmap 以获得以下输出。 (a,b,p1,c) (a,b,p2,c) (a,b,p3,c)

【问题讨论】:

  • 那么,你卡在哪里了?
  • 从 java 后台,我对 scala 非常陌生,正在寻找一些代码 sn-p 以在数组上应用平面图,该数组是值的一部分..

标签: scala apache-spark flatmap


【解决方案1】:

代码:

val arr = Array(("a1", "b1", Array("1", "2", "3")),("a1", "b1", Array("1", "2", "3")))
val rdd: RDD[(String, String, Array[String])] = sc.parallelize(arr)
val result = rdd.flatMap {
  case (first, second, third) => {
    third.map(x => (first, second, x))
}}

println("Results: " + result.collect.mkString("|"))

结果:

Results: (a1,b1,1)|(a1,b1,2)|(a1,b1,3)|(a1,b1,1)|(a1,b1,2)|(a1,b1,3)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-27
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多