我想如图the examples到我的程序中添加filter
:为什么Scala编译器会失败并且缺少JavaSparkContext过滤器的参数类型?
val logFile = "/tmp/master.txt"
val sc = new JavaSparkContext("local[4]", "Twitter Analyzer", "/home/welcome/Downloads/spark-1.1.0/",Array("target/scala-2.10/Simple-assembly-0.1.0.jar"))
val twitterFeed = sc.textFile(logFile).cache()
while (iterator.hasNext) {
val value = iterator.next()
val numAs = twitterFeed.filter(line => line.contains(value))
numAs.saveAsTextFile("/tmp/output/positive/" + value)
}
我得到的编译错误如下:
[info] Compiling 1 Scala source to /home/siva/file1/target/scala-2.10/classes...
[error] /home/siva/file1/src/main/scala/com/chimpler/example/twitter/Tweet.scala:27: missing parameter type
[error] val numAs = twitterFeed.filter(line => line.contains(value))
[error] ^
[error] one error found
[error] (compile:compile) Compilation failed
[error] Total time: 5 s, completed 19 Sep, 2014 1:31:26 PM
什么想法?
什么是“twitterFeed”?在这个例子中,你链接的文件是一些字符串集合,在你的情况是不同的,你应该编辑你的问题,使其更容易理解。 – 2014-09-19 08:31:46
@EndeNeu即使我使用与示例中给出的相同的行val file = spark.textFile(“hdfs:// ...”) val errors = file.filter(line => line.contains(“ERROR” ))它仍然在相同的地方给出相同的错误。 – Siva 2014-09-19 08:41:42
“一个Java友好的SparkContext版本,它返回JavaRDDs和_works与Java collections_而不是Scala。”这是[JavaSparkContext的API描述](http://spark.apache.org/docs/latest/api/java/org/apache/spark/api/java/JavaSparkContext.html)。试试SparkContext?详细解释请参见 – groverboy 2014-09-19 09:03:38