我在spark中执行wordcount程序并尝试将结果存储在文本文件中。
我有一个scala脚本将单词计为SparkWordCount.scala。我正在尝试从Spark控制台执行脚本,如下所示。
scala> :load /opt/spark-2.0.2-bin-hadoop2.7/bin/SparkWordCount.scala
Loading /opt/spark-2.0.2-bin-hadoop2.7/bin/SparkWordCount.scala...
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark._
defined object SparkWordCount
scala>
程序完成后,我收到消息为"定义对象SparkWordCount"但我无法在文本文件中看到输出结果。
我的字数统计程序如下。
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark._
object SparkWordCount {
def main(args: Array[String]) {
val sc = new SparkContext( "local", "Word Count", "/opt/spark-2.0.2-bin-hadoop2.7",/opt/spark-2.0.2-bin-hadoop2.7/jars,map())
val input = sc.textFile("demo.txt")
val count = input.flatMap(line ⇒ line.split(" ")).map(word ⇒ (word, 1)).reduceByKey(_ + _)
count.saveAsTextFile("outfile")
}
}
任何人都可以建议。感谢。
答案 0 :(得分:1)
定义对象后,您可以调用该方法来执行代码。 Spark-shell不会自动执行main方法。在您的情况下,您可以使用SparkWordCount.main(Array())
来执行您的字数统计程序。