【发布时间】:2018-11-24 06:26:55
【问题描述】:
根据此处提供的答案,我正在尝试加入两个配对的 RDD
Joining two RDD[String] -Spark Scala
我收到一个错误
错误:值 leftOuterJoin 不是 org.apache.spark.rdd.RDD[
的成员代码sn-p如下。
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 是我的键,我想在它们上执行连接。
【问题讨论】:
-
这里缺少什么,也为你的值创建元组。
-
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)) }
标签: scala apache-spark