错误:RDD转换和操作只能由驱动程序调用,而不能在其他转换内部调用

时间:2015-08-23 13:38:39

标签: scala apache-spark hadoop2

我试图在RDD转换中进行嵌套操作,并且抛出错误。

  

错误:RDD转换和操作只能由驱动程序调用,而不能在其他转换内部调用

我正在使用IndexedRDD从另一个RDD更新但不能因为IndexedRDD是可更新的。这是代码。我怎样才能做到这一点?

for ((key, value) <- mapped1) 
  indexed = indexed.put(key, value)

1 个答案:

答案 0 :(得分:0)

如错误中所述,只有驱动程序节点能够对RDD执行转换和操作。您的代码似乎可能在工作节点上执行(例如,在另一个转换或操作内部)。您似乎正在尝试构建两个RDD中的union,因此我建议您查看union运算符,看看它是否符合您的需求。