在Spark字數統計範例中,將找出指定檔案中存在的每個單詞的出現頻率。在這裡,我們使用Scala語言來執行Spark操作。
在此範例中,查詢並顯示每個單詞的出現次數。在本地計算機中建立一個文字檔案並在其中寫入一些文字。
$ nano sparkdata.txt
檢查sparkdata.txt
檔案中寫入的文字。
$ cat sparkdata.txt
在HDFS中建立一個目錄,儲存文字檔案。
$ hdfs dfs -mkdir /spark
將HDD上的sparkdata.txt 檔案上傳到特定目錄中。
$ hdfs dfs -put /home/yiibai/sparkdata.txt /spark
現在,按照以下命令在Scala模式下開啟spark。
$ spark-shell
使用以下命令建立一個RDD。
scala> val data=sc.textFile("sparkdata.txt")
在這裡,傳遞包含資料的任何檔案名。現在,可以使用以下命令讀取生成的結果。
scala> data.collect;
在這裡,使用以下命令以單個單詞的形式拆分現有資料。
scala> val splitdata = data.flatMap(line => line.split(" "));
現在,可以使用以下命令讀取生成的結果。
scala> splitdata.collect;
接下來,執行對映操作。
scala> val mapdata = splitdata.map(word => (word,1));
在這裡,為每個單詞分配值1
。可以使用以下命令讀取生成的結果。
scala> mapdata.collect;
現在,執行reduce
操作 -
scala> val reducedata = mapdata.reduceByKey(_+_);
在這裡,我匯總了生成的資料。使用以下命令讀取生成的結果。
scala> reducedata.collect;