Scala/Sparkコードをオンラインで見つけたら、直接スパークシェルに貼り付けて試してみたいと思います。 (私はCentOSとMac OSの両方でSpark-shellを使用しています)spark-shellはドット/ピリオドで始まるScala行を解析できません
一般的に、この方法はうまくいきますが、行がドット/ピリオドで始まる(常にメソッド呼び出しを続けている)ときには常に問題があります。ドットを前の行に移動すると、それは機能します。
例:ここで私はオンラインで見つけるいくつかのコードです:しかし、ときに私の代わりに動きを
scala> val paramMap = ParamMap(lr.maxIter -> 20)
paramMap: org.apache.spark.ml.param.ParamMap =
{
logreg_d63b85553548-maxIter: 20
}
scala> .put(lr.maxIter, 30)
<console>:1: error: illegal start of definition
.put(lr.maxIter, 30)
^
scala> .put(lr.regParam -> 0.1, lr.threshold -> 0.55)
<console>:1: error: illegal start of definition
.put(lr.regParam -> 0.1, lr.threshold -> 0.55)
^
:だから
val paramMap = ParamMap(lr.maxIter -> 20)
.put(lr.maxIter, 30)
.put(lr.regParam -> 0.1, lr.threshold -> 0.55)
私が直接火花シェルにこれを貼り付け、私はこのエラーが表示前の行へのドット、すべてが大丈夫です。 (彼らはドットで終わっていない場合でも、それはラインを続けるように同等か、)
scala> val paramMap = ParamMap(lr.maxIter -> 20).
| put(lr.maxIter, 30).
| put(lr.regParam -> 0.1, lr.threshold -> 0.55)
paramMap: org.apache.spark.ml.param.ParamMap =
{
logreg_d63b85553548-maxIter: 30,
logreg_d63b85553548-regParam: 0.1,
logreg_d63b85553548-threshold: 0.55
}
それは、ドットで始まる行を受け入れるように、スパーク・シェルを設定する方法はありますか?
ps)多分、ドット選択を検出する際に先行する空白を無視すべきです。 –
https://issues.scala-lang.org/browse/SI-9749 –