一、 實驗目的
掌握分布式數(shù)據(jù)庫接口Spark SQL基本操作,以及訓練綜合能力,包括:數(shù)據(jù)預處理、向量處理、大數(shù)據(jù)算法、預測和可視化等綜合工程能力
二、 實驗環(huán)境
Linux的虛擬機環(huán)境和實驗指導手冊
三、 實驗任務
完成Spark SQL編程實驗、交通數(shù)據(jù)綜合分析平臺環(huán)境部署和綜合實驗。
四、 實驗步驟
請按照實驗指導手冊,完成以下實驗內(nèi)容:
實驗4-1 Spark SQL:Spark SQL 編程
(1) DataFrame數(shù)據(jù)集操作
(2) Spark SQL編程操作
實驗4-2交通軌跡:安裝部署
(1) 安裝Spark單節(jié)點版
實驗4-3交通數(shù)據(jù)綜合分析實驗
(1) 數(shù)據(jù)預處理 (2) 特征向量
(3) Spark SQL (4) 聚類算法
(5) 結(jié)果預測 (6) 數(shù)據(jù)可視化
五、 實驗作業(yè)
1、提交實驗報告電子稿和紙質(zhì)稿,內(nèi)容包括安裝步驟及主要配置方法說明,關鍵步驟截圖,并對截圖內(nèi)容進行解釋說明;
2、個人對實驗的總結(jié)和心得,本實驗具有一定難度和繁瑣程度,請總結(jié)與撰寫自身遇到的問題,以及解決問題的過程。
3、搜索互聯(lián)網(wǎng)并回答問題:
相關資料:《11天里13個Apache開源項目宣布退休,Hadoop的時代結(jié)束了》鏈接:https://cloud.tencent.com/developer/news/827409
該新聞中報道,約有10個左右的Hadoop開源項目宣布退休,大數(shù)據(jù)技時代的已經(jīng)準備落幕了嗎?請結(jié)合Hadoop技術(shù)的優(yōu)缺點,評價Hadoop項目退休的原因以及未來大數(shù)據(jù)的發(fā)展趨勢。
六、 實驗結(jié)果與分析
1、安裝步驟及主要配置方法說明
A. 實驗4-1 Spark SQL:Spark SQL 編程
(1) DataFrame數(shù)據(jù)集操作
(2) Spark SQL編程操作
1、啟動spark-shell,啟動時指定啟動模式
2、創(chuàng)建spark 的SQLContext
3、創(chuàng)建DataFrames對象
讀取json格式的數(shù)據(jù)文件,查看數(shù)據(jù)的schema信息
4、select 操作
查詢所有的課程名
查詢所有的課程名及課程包大小
5、filter,groupyBy 和 count() 操作
打印出所有的非實驗課程名稱,類似于使用where條件過濾
查詢課程長度在5-10之間的課程,將返回一個新的RDD
B. 實驗4-2交通軌跡:安裝部署
(1) 安裝Spark單節(jié)點版
針對安裝spark已經(jīng)做了很多次了,這邊還是使用腳本一鍵安裝
腳本源碼如下:
運行腳本,查看結(jié)果
C. 實驗4-3交通數(shù)據(jù)綜合分析實驗
(1) 數(shù)據(jù)預處理 (2) 特征向量
(3) Spark SQL (4) 聚類算法
(5) 結(jié)果預測 (6) 數(shù)據(jù)可視化
1、數(shù)據(jù)準備
2、解析csv數(shù)據(jù)
導包和定義字段格式等此處不展示
直接看最后的結(jié)果:利用taxidf對象的show方法打印輸出前20條數(shù)據(jù)
3、構(gòu)建特征向量
3.1轉(zhuǎn)換數(shù)據(jù)字段中的經(jīng)緯度,定義特征數(shù)組
3.2創(chuàng)建向量裝配器VetorAssembler,并設置相關屬性
3.3利用向量裝配器的transform方法對導入的數(shù)據(jù)taxidf進行轉(zhuǎn)化,并賦值給taxidf2
3.4利用taxidf2對象的show方法打印前20條數(shù)據(jù)查看
4、聚類模型訓練
將數(shù)據(jù)集劃分比例分別作為訓練集和測試集,然后對對數(shù)據(jù)集進行隨機劃分,randomSplit 的第二個參數(shù)為隨機數(shù)的種子
setPredictionCol:設置生成預測值時使用的字段名稱
獲取Kmeans模型的聚類中心,可以看到之前設定數(shù)量為 10 的聚類結(jié)果
將結(jié)果轉(zhuǎn)換為RDD類型,進行經(jīng)緯度互換,調(diào)用RDD對象的saveAsTextFile方法保存結(jié)果到本地
5、聚類模型測試
調(diào)用Kmeans模型的transform方法對測試數(shù)據(jù)進行聚類,調(diào)用predictions對象的show方法,輸出預測結(jié)果
6、分析預測結(jié)果
預測結(jié)果為DataFrame,我們先將其注冊為臨時表perdictions,然后使用SQL查詢功能
基于小時數(shù)進行不同預測類型的數(shù)量進行統(tǒng)計
利用聚焦函數(shù)agg的count實現(xiàn),并以desc降序輸出結(jié)果
在對表predictions進行where查詢,找出4號區(qū)域的經(jīng)緯度記錄下來
在對表predictions進行查詢,找出9號區(qū)域的經(jīng)緯度記錄下來
得到每個區(qū)域的出租車載客次數(shù)總計
7、數(shù)據(jù)可視化
配置API及各項參數(shù)
在瀏覽器打開輸入URL回車,即可得到聚類結(jié)果的10個簇中心在地圖上的位置
創(chuàng)建一個新的文件夾Visualization,并在此文件夾下創(chuàng)建名為data和js的兩個文件夾
解壓并拷貝所有的js文件到此js目錄中
將數(shù)據(jù)聚類分析的結(jié)果busyZones合并成單個文件
在Visualization目錄下創(chuàng)建編輯index.html文件,完成代碼編寫后,在瀏覽器中打開文件URL,查看可視化結(jié)果
2、實驗的總結(jié)和心得
本次實驗主要了解了Spark SQL的基本概念、DataFrame、Spark SQL開發(fā),利用Spark進行大數(shù)據(jù)分析實現(xiàn)交通數(shù)據(jù)分析系統(tǒng),結(jié)合使用百度地圖提供的API實現(xiàn)可視化的圖表。其中實驗4-1,4-2提供理論基礎和實驗環(huán)境,實驗4-3最終實現(xiàn)交通數(shù)據(jù)的綜合分析。在交通數(shù)據(jù)的綜合分析實驗中首先進行數(shù)據(jù)集的分割,其次利用K-means聚類算法進行聚類分析,K-means聚類算法是一種非層次聚類算法,在最小誤差的基礎上將數(shù)據(jù)劃分了特定的類,類間利用距離作為相似度指標,兩個向量之間的距離越小,其相似度就越高。程序讀取全國省市經(jīng)緯度坐標,然后根據(jù)經(jīng)緯度坐標進行K-means聚類分析,最后將結(jié)果轉(zhuǎn)換為RDD類型,進行經(jīng)緯度互換,調(diào)用RDD對象的saveAsTextFile方法保存結(jié)果到本地。利用百度地圖提供的API實現(xiàn)數(shù)據(jù)可視化。我們可以發(fā)現(xiàn)實驗是多學科交融的,利用獲得的大數(shù)據(jù)進行合理的配置之后,喂給深度學習模型,模型經(jīng)過大量數(shù)據(jù)訓練后在使用時效果會更好。利用大數(shù)據(jù),可以做好給用戶精準推薦,方便分析潛在規(guī)律,具有很大的應用價值。文章來源:http://www.zghlxwxcb.cn/news/detail-783526.html
3、請結(jié)合Hadoop技術(shù)的優(yōu)缺點,評價Hadoop項目退休的原因以及未來大數(shù)據(jù)的發(fā)展趨勢。
這次合并的背景是大數(shù)據(jù)市場的整合趨勢。而且可以說,這場大數(shù)據(jù)整合潮流也是上面這些項目“退役”的根本原因。很明顯,在大數(shù)據(jù)世界中,大量投資于 Apache Sentry 的供應商和客戶現(xiàn)在需要整理他們的損失并繼續(xù)前進。殘酷的現(xiàn)實帶來的教訓幾乎適用于所有技術(shù)炒作周期:社區(qū)開始興奮起來,開源技術(shù)激增,生態(tài)系統(tǒng)逐漸完善。但這些生態(tài)系統(tǒng)并不會永存,幾乎任何新平臺(無論是商業(yè)平臺還是開源平臺)都存在固有的風險。
用 ASF 的 Khudairi 的話來說:“每個項目背后的社區(qū)才是代碼生命力的源泉(‘代碼不會自動編寫出來’),因此社區(qū)改變項目步伐的情況并不少見?!睋Q句話說,尖端技術(shù)令人興奮,但早期采用者要小心:它也是很脆弱的。請多加注意,并妥善管理風險。
Hadoop是一個能夠讓用戶輕松架構(gòu)和使用的分布式計算平臺。用戶可以輕松地在Hadoop上開發(fā)和運行處理海量數(shù)據(jù)的應用程序。它主要有以下幾個優(yōu)點:
·高可靠性。Hadoop按位存儲和處理數(shù)據(jù)的能力值得人們信賴。
·高擴展性。Hadoop是在可用的計算機集簇間分配數(shù)據(jù)并完成計算任務的,這些集簇可以方便地擴展到數(shù)以千計的節(jié)點中。
·高效性。Hadoop能夠在節(jié)點之間動態(tài)地移動數(shù)據(jù),并保證各個節(jié)點的動態(tài)平衡,因此其處理速度非??臁?br> ·高容錯性。Hadoop能夠自動保存數(shù)據(jù)的多個副本,并且能夠自動將失敗的任務重新分配。
由于Hadoop優(yōu)勢突出,基于Hadoop的應用已經(jīng)遍地開花,尤其是在互聯(lián)網(wǎng)領域。Yahoo! 通過集群運行Hadoop,以支持廣告系統(tǒng)和Web搜索的研究;Facebook借助集群運行Hadoop,以支持其數(shù)據(jù)分析和機器學習;百度則使用Hadoop進行搜索日志的分析和網(wǎng)頁數(shù)據(jù)的挖掘工作;淘寶的Hadoop系統(tǒng)用于存儲并處理電子商務交易的相關數(shù)據(jù);中國移動研究院基于Hadoop的“大云”(BigCloud)系統(tǒng)用于對數(shù)據(jù)進行分析和并對外提供服務。雖然有很多項目退出,并且Hadoop存在在當前Hadoop的設計中,所有的metadata操作都要通過集中式的NameNode來進行,NameNode有可能是性能的瓶頸,但是就目前Hadoop技術(shù)的優(yōu)勢而言,他仍然是未來的主流。文章來源地址http://www.zghlxwxcb.cn/news/detail-783526.html
到了這里,關于云計算實驗4 面向行業(yè)背景的大數(shù)據(jù)分析與處理綜合實驗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!