【问题标题】:scala: how to rectify "option" type after leftOuterJoinscala:如何在leftOuterJoin之后纠正“选项”类型
【发布时间】:2020-05-24 05:17:05
【问题描述】:

给定

scala> val rdd1 = sc.parallelize(Seq(("a",1),("a",2),("b",3)))
scala> val rdd2 = sc.parallelize(Seq("a",5),("c",6))
scala> val rdd3 = rdd1.leftOuterJoin(rdd2)
scala> rdd3.collect()
res: Array[(String, (Int, Option[Int]))] = Array((a,(1,Some(5))), (a,(2,Some(5))), (b,(3,None)))

我们可以在rdd3中看到“Option[Int]”的数据类型。有没有办法纠正这个问题,使 rdd3 可以是 Array[String, (Int, Int)]?假设我们可以为“无”指定一个值(例如 999)。

【问题讨论】:

    标签: scala rdd


    【解决方案1】:
    scala> val result = rdd3.collect() 
    scala> result.map(t => (t._1, (t._2._1, t._2._2.getOrElse(999))))
    

    应该这样做。

    【讨论】:

      猜你喜欢
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 1970-01-01
      相关资源
      最近更新 更多