在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;