【问题标题】:Joining two (paired) RDDs in Scala, Spark在 Scala、Spark 中加入两个(成对的)RDD
【发布时间】: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


【解决方案1】:

RDD[(K, V)]Tuple2 对象的RDD 定义了联接。但是,在您的情况下,存在任意元组(Tuple4[_, _, _, _]Tuple8[_, _, _, _, _, _, _, _])- 这根本行不通。

你应该

... => 
  ((field1, field2), 
     (field3, field4, field5, field6, field7, udfChar1, udfChar2, udfChar3)   

... =>
  ((field1, field2), (field8, field9, field10))

分别。

【讨论】:

    猜你喜欢
    • 2016-09-07
    • 2017-06-27
    • 2016-01-24
    • 2015-10-18
    • 2021-09-08
    • 2020-09-06
    • 2015-06-15
    • 2019-03-25
    • 2017-07-30
    相关资源
    最近更新 更多