gpt4 book ai didi

scala - 当一个选项类型作为键时加入 2 个 RDD

转载 作者:行者123 更新时间:2023-12-01 22:17:02 25 4
gpt4 key购买 nike

我有 2 个我想加入的 RDD,如下所示

val a:RDD[(Option[Int],V)]
val q:RDD[(Int,V)]

有什么办法可以对它们进行左外连接吗?我试过这个但它不起作用,因为 key 的类型不同,即 Int, Option[Int]

 q.leftOuterJoin(a)

最佳答案

自然的解决方案是将 Int 转换为 Option[Int],以便它们具有相同的类型。

以你为例:

val a:RDD[(Option[Int],V)]
val q:RDD[(Int,V)]


q.map{ case (k,v) => (Some(k),v))}.leftOuterJoin(a)

如果你想在输出中恢复 Int 类型,你可以这样做:

q.map{ case (k,v) => (Some(k),v))}.leftOuterJoin(a).map{ case (k,v) => (k.get, v) }

请注意,您可以毫无问题地执行“.get”,因为不可能在那里获取 None。

关于scala - 当一个选项类型作为键时加入 2 个 RDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44692417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com