【发布时间】:2015-08-07 05:01:06
【问题描述】:
我正在使用 Spark + Scala。我的 rdd1 有客户信息,即 (id, [name, address])。 rdd2 只有知名客户的名字。现在我想查找 rdd1 中的客户是否高调。如何使用另一个搜索一个 rdd?加入 rdd 对我来说似乎不是一个好的解决方案。
我的代码:
val result = rdd1.map( case (id, customer) =>
customer.foreach ( c =>
rdd2.filter(_ == c._1).count()!=0 ))
错误:
org.apache.spark.SparkException: RDD transformations and actions can only be invoked by the driver, not inside of other transformations;
【问题讨论】:
-
"加入 rdd 对我来说并不是一个好的解决方案。"为什么不呢?
-
因为 rdd 没有公共密钥,内部连接不会让已经很大的 rdd 变得超级庞大?
-
谢谢保罗。我不得不刷新我的加入知识。对内连接和外连接感到困惑。
标签: scala apache-spark rdd