2016-04-27 3 views

答えて

3

コンパイラは、自分自身で変数を定義しようとしていることをあなたに伝え、それをアクション内の独自の定義で使用しようとしています。これを別の言い方で言うと、アクションに存在しないものを定義しようとしています。

編集

あなたが一緒にジップしたい新しいRDDを生産するアクションのリストを持っている場合は、おそらくあなたはフォールドをご覧ください:

listMyActions.foldLeft(origRDD){ (rdd, f) => 
    val tempRDD = f(rdd) 
    rdd.zip(tempRDD) 
} 
2

しないでくださいvalが不変であることを忘れてしまいます。これは、以前に定義された変数に何かを再割り当てできないことを意味します。これを行うにしたい場合は、あなたが推奨されていませんvar、それを置き換えることができ、この質問は、S 1「Apache-SparkよりS」機能Scalaに複数の関連です。さらに、詳細情報が必要な場合は、Use of def val and vars in scalaのこの記事を参照してください。

関連する問題