【发布时间】:2016-09-07 05:22:22
【问题描述】:
我有两个 RDDS:
rdd1 [String,String,String]: Name, Address, Zipcode
rdd2 [String,String,String]: Name, Address, Landmark
我正在尝试使用以下功能加入这两个 RDD:rdd1.join(rdd2)
但我收到一个错误:error: value fullOuterJoin is not a member of org.apache.spark.rdd.RDD[String]
join 应该加入 RDD[String] 并且输出 RDD 应该是这样的:
rddOutput : Name,Address,Zipcode,Landmark
最后我想将这些文件保存为 JSON 文件。
有人可以帮助我吗?
【问题讨论】:
-
join是在对 RDD 上定义的,因此您的 rdd1 不是 RDD[(String, T)] 类型。您应该像这样 rdd1.map(v => (v, 1)) 映射它(或映射到另一个元组,这取决于您的任务)。如果您更详细地解释您的目标(您希望从加入中获得什么),您可能会获得更多帮助。 -
@VitaliyKotlyarenko:很抱歉没有早点澄清。我刚刚编辑了这个问题。你能帮帮我吗?
-
您的编辑没有多大帮助。您没有
RDD[String],而是两个RDD[String, String, String]。您想加入哪些领域?Name和Address,还是其中之一?您需要将 RDD 更改为具有元组的条目,其中第一个是键,其余的是value,然后加入将起作用。 -
我想加入姓名和地址。
标签: string scala join apache-spark rdd