【发布时间】:2015-09-21 10:42:51
【问题描述】:
我写下以下内容的印象是,line 在迭代和过滤多行文本时是某种关键字。但是我在编译时出错。我知道Spark 代码中的line 字是在其他上下文中使用的,这就是我的代码不起作用的原因。我已经开始学习 Scala 两天了。所以请耐心等待我对语法和俚语的了解。
有人可以解释为什么line 在 Spark 代码中工作而不是在普通的 scala 代码中工作吗?除了 line 在 spark 和简单的 scala 代码中,它也可以是其他东西。
纯 Scala 代码:
val myString = """Hello world line 1
line 2
Line 3""";
println(myString.filter(line => line.contains(3)));
^^^^^^ error here
火花代码:
val sc = new SparkContext(conf) val logData = sc.textFile(logFile, 2).cache() val numAs = logData.filter(line => line.contains("a")).count()
【问题讨论】:
-
遇到错误时,不要只说“有错误”。包括实际的错误消息——它包含很多关于可能出错的信息。那么,您收到的错误信息是什么?
line不是 Scala 中的关键字或保留字。
标签: scala collections apache-spark