【发布时间】:2016-04-12 20:03:32
【问题描述】:
每当我在网上找到一些 Scala / Spark 代码时,我都想直接将其粘贴到 spark-shell 中尝试一下。 (我在 CentOS 和 Mac OS 上都使用带有 Spark 1.6 的 spark-shell。)
一般来说,这种方法效果很好,但是当行以点/句点开头(表示持续的方法调用)时,我总是遇到问题。如果我将点移到上一行,它会起作用。
示例:这是我在网上找到的一些代码:
val paramMap = ParamMap(lr.maxIter -> 20)
.put(lr.maxIter, 30)
.put(lr.regParam -> 0.1, lr.threshold -> 0.55)
所以当我将它直接粘贴到 spark-shell 中时,我看到了这个错误:
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)
^
但是,当我将点移到上一行时,一切正常。
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
}
有没有办法配置 spark-shell 以便它接受以点开头的行(或等效地,即使它们不以点结尾,它也会继续行)?
【问题讨论】:
标签: scala apache-spark