1. 程式人生 > >Spark環境安裝部署及詞頻統計例項

Spark環境安裝部署及詞頻統計例項

Spark是一個高效能的分散式計算框架,由於是在記憶體中進行操作,效能比MapReduce要高出很多. 在這裡插入圖片描述 具體的我就不介紹了,直接開始安裝部署並進行例項測試 首先在官網下載http://spark.apache.org/downloads.html 注意要根據你的hadoop版本選擇,2.7極以後可以選這個 在這裡插入圖片描述 如果選Source Code的話後面啟動spark-shell會報這樣的錯 在這裡插入圖片描述 下好解壓縮,進入bin目錄, 在這裡插入圖片描述 啟動spark-shell 參考官網快速啟動教程http://spark.apache.org/docs/latest/quick-start.html

./spark-shell --master local[
2]

2代表開兩個執行緒,*代表開本地所有執行緒 在這裡插入圖片描述 在這裡插入圖片描述 下面開始詞頻統計小案例,我感覺spark比MapReduce操作更簡單,速度和效率更快更好. 先準備一個原始檔(用於統計),為了簡單,我直接把原始檔放在桌面上 在這裡插入圖片描述 按照如下命令一步一步來 spark.read.textFile("")和sc.textFile("")都行

var file = sc.textFile("file:///home/zq/Desktop/test.txt")
file.collect
file.count
file.first()
val a = file.flatMap(line=>line.split(" "))
val b =
a.map(word=>(word,1)) val c = b.reduceByKey(_ + _) c.collect

在這裡插入圖片描述 簡化操作(效果一致):

sc.textFile("file:///home/zq/Desktop/test.txt").flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey(_ + _).collect

在啟動的時候發現一條語句顯示如下 Spark context Web UI available at http://zq:4040 可知本地瀏覽器訪問http://zq:4040,可以看到Web UI介面 在這裡插入圖片描述

上面演示的first,count,map,collect操作在這上面都有歷史記錄,點選進去即可看到具體情況

你們可以參考一下我的前面幾篇部落格,是通過Hadoop裡面的MapReduce來做的單詞統計的程式, 和spark的效果一對比,我個人感覺spark更快更方便,效率更高! 有興趣可以閱讀我的這兩篇系列部落格 基於MapReduce的詞頻統計程式WordCountApp(一) 基於MapReduce的詞頻統計程式WordCount2App(二) 再通過這篇spark的操作,你會發現它們之間的差別與各自的優缺點