2017-04-16 16 views
-3

は "Scalaは" と言います。スパークScalaの問題

しかし:

val l = "Scala" 
myRdd.map(line => if (line.split(" ").contain(l)) {(l, 1)}) 

が動作しない、それはエラーなしでプログラムをフリーズします。

ローカル変数が原因であるようですが、理由を把握できません。

+0

可能重複[スカラ無限ループパラメータ名によってconcret値を置き換えます(http://stackoverflow.com/questions/41983586/scala-infinite-loop-when-replacing-パラメータ名による詳細値) –

答えて

0

おかげジャスパー-M、

final val lang_i 

はうまく働きました。しかし、私はこれが少なくとも私がやったすべての検索から良く知られていないことに非常に驚いています。

final val langs = List("Java", "Scala", "Python") 
wikiRdd.flatMap(wa => langs.map(lang => if(wa.split(" ").contain(lang)) {(lang, 1)})) 

しかし、最終does'tは、リストのために働くように見える:

私は動作しません(構文がわからない)、次のような何かを実際にしたいと思います。私は提供されたリンクを詳しく見ていきますが、直接的な答えは私の苦痛をかなり緩和します。

私の知らないことにも申し訳ありませんが、私はラムダ式で変数を渡さずにリファクタリングやコードの記述方法がわからないという点で、「スカラ」の答えにも興味があります。私はまだ学んでいます...しかし、私はこのリストの例がどのように解決できるかを知りたいのです。

感謝の

イージー
+0

もう1つの答えにいくつかの情報を追加しました。 –