Spark單詞統計示例
在Spark字數統計示例中,將找出指定文件中存在的每個單詞的出現頻率。在這裏,我們使用Scala語言來執行Spark操作。
執行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;