を入力します。再帰変数ニーズは、私は、私は以下のようにRDDを更新したかったのコードを持っている
val xRDD = xRDD.zip(tempRDD)
これは私にエラーを与えた:再帰的な値xのニーズは、私はxRDD以上を維持したい
を入力します反復を行い、各反復でtempRDDを使用して修正します。どうすれば達成できますか?
ありがとうございます。
を入力します。再帰変数ニーズは、私は、私は以下のようにRDDを更新したかったのコードを持っている
val xRDD = xRDD.zip(tempRDD)
これは私にエラーを与えた:再帰的な値xのニーズは、私はxRDD以上を維持したい
を入力します反復を行い、各反復でtempRDDを使用して修正します。どうすれば達成できますか?
ありがとうございます。
コンパイラは、自分自身で変数を定義しようとしていることをあなたに伝え、それをアクション内の独自の定義で使用しようとしています。これを別の言い方で言うと、アクションに存在しないものを定義しようとしています。
編集:
あなたが一緒にジップしたい新しいRDDを生産するアクションのリストを持っている場合は、おそらくあなたはフォールドをご覧ください:
listMyActions.foldLeft(origRDD){ (rdd, f) =>
val tempRDD = f(rdd)
rdd.zip(tempRDD)
}
しないでくださいval
が不変であることを忘れてしまいます。これは、以前に定義された変数に何かを再割り当てできないことを意味します。これを行うにしたい場合は、あなたが推奨されていませんvar
、それを置き換えることができ、この質問は、S 1「Apache-Spark
よりS」機能Scala
に複数の関連です。さらに、詳細情報が必要な場合は、Use of def val and vars in scalaのこの記事を参照してください。