2017-10-10 73 views
0

我在spark中執行wordcount程序並嘗試將結果存儲在文本文件中。Spark-Scala將輸出寫入文本文件

我有一個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> 

程序exectued我收到消息「定義的對象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") 

    } 
} 

請任何人都可以建議。謝謝。

回答

1

一旦定義了對象,就可以調用該方法來執行代碼。 Spark-shell不會自動執行主要方法。在你的情況下,你可以使用SparkWordCount.main(Array())來執行你的字數統計程序。