[英]Joining two (paired) RDDs in Scala, Spark
根据此处提供的答案,我正在尝试加入两个配对的RDD
我收到一个错误
错误:值leftOuterJoin不是org.apache.spark.rdd.RDD的成员
代码段如下。
val pairRDDTransactions = parsedTransaction.map
{
case ( field3, field4, field5, field6, field7,
field1, field2, udfChar1, udfChar2, udfChar3) =>
((field1, field2), field3, field4, field5,
field6, field7, udfChar1, udfChar2, udfChar3)
}
val pairRDDAccounts = parsedAccounts.map
{
case (field8, field1, field2, field9, field10 ) =>
((field1, field2), field8, field9, field10)
}
val transactionAddrJoin = pairRDDTransactions.leftOuterJoin(pairRDDAccounts).map {
case ((field1, field2), (field3, field4, field5, field6,
field7, udfChar1, udfChar2, udfChar3, field8, field9, field10)) =>
(field1, field2, field3, field4, field5, field6,
field7, udfChar1, udfChar2, udfChar3, field8, field9, field10)
}
在这种情况下,field1和field 2是我要在其上执行联接的键。
为RDD[(K, V)]
( Tuple2
对象的RDD
定义了联接。但是,在您的情况下,存在任意元组( Tuple4[_, _, _, _]
和Tuple8[_, _, _, _, _, _, _, _]
)-这是行不通的。
你应该
... =>
((field1, field2),
(field3, field4, field5, field6, field7, udfChar1, udfChar2, udfChar3)
和
... =>
((field1, field2), (field8, field9, field10))
分别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.