?

基于Spark的大數據挖掘技術分析

2019-01-30 02:25于晶
智富時代 2019年12期
關鍵詞:大數據

于晶

【摘 要】文章主要介紹了以Spark為基礎的大數據挖掘,首先分析了以Spark為基礎的大數據生態系統,其次介紹了分布式集群與開發環境構建,再次介紹了Apriori算法實現,最后分析了以Spark為基礎的分布協同過濾推薦。

【關鍵詞】Spark;大數據;挖掘技術

因為大數據具有多樣性、數據量大等特點,所以在大數據分析過程中,對于數據處理效率、速度以及實時性擁有較高要求。數據挖掘主要是以海量信息為目標,通過建模算法,找到隱藏的有用信息,充分發揮大數據價值。Spark體系主屬于一種低延遲分布系統,以大范圍數據集合為對象進行計算分析等操作。

一、以Spark為基礎的大數據系統

(一)Spark Runtime

Spark Core中的相關功能包括內存管理和任務調度等內容,內含故障修復和存儲交互相關子元素。通過RDD結構在Spark中傳送數據包的過程中,應該率先掌握Spark處理關鍵數據的操作流程,相關數據信息和對象概念之間較為相似。首先全部的數據集都被分成數個子集,而每個子集還能夠被傳輸至集群相關節點當中進行有效處理分析。其次,能夠妥善保存計算得到的中間結果,基于可靠性對問題進行詳細思考,能夠收獲相同的計算結果,并在子集節點相關文件內進行備份儲存。最后進行計算解析時,如在處理數據子集過程中產生錯誤,則需要對子集進行重新整理,促進容錯機制的有效落實[1]。

(二)Graph X

在Spark中,Graph X是重要的子項目,為此應該以Spark為基礎進行創建,對大規模圖進行準確計算的基礎上,融入Graph X,同時添加其他組件,實施系統融合,能夠提升整體數據處理能力,其中Graph X的主要功能為幫助采集運輸計算過程中所需要的數據圖形運行符號,由于類庫存在諸多定義,通過隱性SCALE語言對特征進行合理轉換的過程中,能夠控制調節Graph OPS操作符。而Graph X內,需要對相關算法進行深入優化,從而為后期針對圖集實施綜合處理提供便利條件。Graph X主要優勢便是能夠進一步擴大數據規模,強化數據吸收力度。

(三)Spark Streaming

Spark即分布式的Spark Streaming數據處理的結構系統,對Spark原有數據處理能力進行優化拓展的基礎上,使Spark Streaming能夠結合相應的操作階段對單位進行準確分割,從而構成一種RDD,通過短小的時間間隔對流式數據進行有效處理,因為受到處理延時問題的影響,從某一程度而言,還能夠將其看作是實施處理結構。Spark Streaming屬于一種容錯結構形式,其錯誤恢復和錯誤處理水平極高,為此在錯誤處理方面擁有較為突出的應用優勢。此外,Spark Streaming還能和Spark的生態模式實施有效對接,為此在協同處理完數據流之后,還可以對各種復雜現象進行有效處理。

二、以Spark為基礎的分布式集群和開發環境構建

(一)硬件系統條件

入想進一步提高系統的運行效果和兼容性,在創建Spark集群的過程中,所應用的物理主機應該選擇LINUX系統。通過三臺虛擬設備和一個主機設備實施環境測試,以此為基礎構建分布式集群,具體包括MASTER節點和WORKER節點兩個。而MASTER的核心工作任務便是對分布式Spark應用程序進行單機編制,并進行合理調節,其配置要求較高。MASTER節點區域裝置設備應該配置四核處理器以及4G的內存,而WORKER節點可以配置2G的內存。每個節點的相關硬件都是在PCIE的條件下創建固態硬盤,擁有較高的讀寫效率,能夠進一步提升工作質量和運行速度。集群的操作形式不但可以進一步縮減運行成本,同時還可以結合現實需求適當調整節點數量,進行適當的減少或增加。

(二)構建Spark分布式集群

設置SCALA語言,同時把各個虛擬機裝置中的SLAVES文件中的相關內容修改為集群內WORKER節點主機名,此外還應該針對各個節點中的Spark安裝目錄,即Spark-ENV.SH文件進行修改。其中,環境變量JDK對系統進行配置,SCALA-HOME這一安裝路徑會修改系統。MASTER內部相關各種節點主機名稱和IP選擇Spark_Master_IP相關屬性值,剩余內容則設置為默認值,此外還需要確保集群內的各個節點文件Spark-env.sh能夠始終和文件SLAVES的內容維持良好的一致性,在結束相關配置工作后,利用JPS命令對集群的啟動狀態進行詳細查看[2]。

(三)配置IDE開發環境

SCALA語言在進行設計研發過程中,需要以IDEA為核心條件,同時也是重要的基礎條件,因此可以將其作為對Spark結構程序進行設計、編程的基礎環境。如果想要IDEA實際應用中縮減緩存數量,擴大I/O資源應用,占據有效空間,應該利用SSD硬盤對相關有用信息進行合理存儲,提高系統整體應用性能。結束IDEA的配置工作后,繼續檢測Spark程序,提高程序的實效性。

三、以Spark為基礎的Apriori算法實現

(一)概述

Apriori算法的中心思想是結合Apriori特性,針對頻繁項集實施深入挖掘,具體包括下面兩種環節:第一是對最小支持度進行定義,并將全部的頻繁項集全部篩選出來,第二是結合置信度生成關聯規則[3]。

頻繁項主要是在一塊物品中頻繁出現的集合,至于關聯規則主要指兩種物品之間存在較為明顯的關系。而Apriori算法的核心任務便是查詢頻繁項集。

(二)Apriori算法實現

Apriori算法以Spark平臺為基礎的分布式集群,其算法主要思路如下:第一是生成頻繁項集,把事務集利用RDD形式廣泛分布到不同機器當中,不斷積累項目數量,維持高于支持度的項集。第二是針對頻繁項集所衍生出來的頻繁項集,項集之間自動連接,轉化為Ck+1,隨后對數據庫進行掃描,并以Ck+1為基礎構建頻繁項集。

Apriori算法的實現環境主要是以Spark on YARN集群為主。單機Apriori算法選擇集群內的MASTER節點作為測試環境。在算法操作中,還需要按順序將數據集路徑以及文件夾輸出路徑輸入進去。Apriori在解析數據集時,Spark集群內的全部節點全部呈現出一種打開狀態,其消耗時間也遠遠比單機模式要低,或僅有MASTER或WORKER單一節點打開過程所消耗的時間,具體原因是隨著集群內工作節點的不斷增加,集群整體配置水平的提升,其處理速度也將進一步加快。Spark自身所帶有的支持伸縮計算功能,也進一步提升了大數據集整體效率。通過實踐發現,使用不同編程語言,會對最終的算法結果產生不同程度的影響,導致運行結果之間產生巨大差異,具體原因是Spark結構形式可以準確計算系統呢內存狀況,將相關算法融入到內存計算當中,使Apriori相關計算效率能夠得到有效提升,這是Spark結構優勢之一。但以Spark為基礎促進分布式算法和Apriori算法的協同運行,最終的運行效率小于單機運行效率。主要原因是Spark體系結構對數據集進行處理過程中,會和HFDS實施交互作用,從而針對數據實施封裝和FDD分塊處理,同時還包含DAG恢復相關任務。由此能夠看出Spark集群模式較為適合對各種大型數據集實施處理操作。

四、以Spark為基礎的分布協同過濾推薦

(一)MLIiB算法庫

由于機器算法整個操作流程較為復雜,為此在實施迭代計算的過程中,需要把計算全部融入到磁盤內,等待啟動任務,但如此一來便會出現大量的CPU消耗。針對該種狀況,可以在應用Spark的過程中,可以直接于內存中運行處理部分任務工作,將迭代計算內容之間轉移到內存當中進行處理,進一步提升迭代計算綜合實力和運算效率,同時在需要的條件下,還可以實施網絡運行和磁盤操作。Spark應用到迭代計算方面擁有極高優勢,同時還可以不斷擴展,變為分布式學習平臺。從通信角度出發進行深入思考,能夠發現Spark十分高效,且十分出色,擁有極高的通訊效率。分布式算法學習過程中,相關資源主要在集群節點當中聚集[4]。

(二)協同過濾算法

協同算法即人們應用過程中,選擇比較合理的想法,并將真實想法傳遞給用戶。第一是系統過濾。通過面向全部用戶選擇擁有相同興趣愛好的用戶,充分結合用戶的真實喜好,合理選擇所需要的物品,將其組織起來,構建全新的序列與集合。用戶還可以簡單定義為鄰居,但在操作過程中,需要解決的核心問題是針對存在聘問的用戶以及滿足具體條件標準的用戶實施針對性組織和有效利用。

第二是協同過濾的中心思想。想要促進協同過濾中心思想的有效落實,應該進通過三種環節實施,采集用戶喜好,認真分析用戶應用物品過程中的相似性,結合最終的計算結果進行推薦。對用戶愛好興趣的處理分析質量能夠影響系統推薦效果,由于不同用戶各自的喜好方式之間也存在巨大的差異,同時還會被不同場景所影響。在一般的場景環境下,需要挑選出一種用戶系統,隨后充分結合用戶需求,劃分成不同的小組,具體包括兩種分組方式:第一是結合用戶的行為差異,將用戶的行為特點作為基礎參考依據實施分組操作。第二是針對不同行為,針對用戶愛好興趣實施分組,并實施加權處理,對數據行為進行有效采集之后,針對數據實施預處理操作。以此為基礎,充分聯系用戶的愛好興趣,為用戶推薦其所需要的物品。選擇恰當的推薦方式,將協同過濾分成以物品為基礎的兩種類型,分別是基礎用戶和協同用戶。實施推薦操作中,選擇恰當的鄰居,當下比較常用的形式是對鄰居相似程度進行規定和明確鄰居數量。

五、結語

綜上所述,在分布式集群中結合MLIib和Spark構建協同過濾推薦的運行方案,同時利用大數據集進行驗證,能夠將其在推薦系統中廣泛推廣開來。同時以Spark為基礎的Apriori分布式算法,能夠進一步彌補MLIib關聯分析算法中的故障缺陷,并輔助大數據進行關聯分析。

【參考文獻】

[1]梁凡,趙麗.基于中智模糊關聯規則生成的大數據挖掘分析算法[J].計算機應用與軟件,2019(10):285-292+298.

[2]陳春謀.大數據環境下的檔案管理系統信息檢索及挖掘技術分析[J].電子測試,2019(14):92-94.

[3]李明東,陳小明.基于軌跡大數據技術的行為模式挖掘技術分析[J].宜春學院學報,2019,41(06):34-36+101.

[4]梁彥.基于分布式平臺Spark和YARN的數據挖掘算法的并行化研究[D].中山大學,2014.

猜你喜歡
大數據
淺談大數據在出版業的應用
“互聯網+”對傳統圖書出版的影響和推動作用
大數據環境下基于移動客戶端的傳統媒體轉型思路
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合