• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Spark的大數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

      2023-10-31 07:06:40
      信息記錄材料 2023年9期
      關(guān)鍵詞:數(shù)據(jù)分析系統(tǒng)日志集群

      邊 寧

      (淄博市政務(wù)服務(wù)中心 山東 淄博 255000)

      0 引言

      隨著科學(xué)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)中產(chǎn)生了海量的數(shù)據(jù)。面對海量數(shù)據(jù)流的影響,如何實(shí)現(xiàn)對網(wǎng)絡(luò)當(dāng)中存在的大數(shù)據(jù)實(shí)施高效地分析已經(jīng)成為了當(dāng)前學(xué)者的研究特點(diǎn)。而大數(shù)據(jù)的核心問題就是對大數(shù)據(jù)的分析處理。傳統(tǒng)的大數(shù)據(jù)處理及分析方法,已經(jīng)無法有效滿足當(dāng)前階段對大數(shù)據(jù)的高效、實(shí)時(shí)存取和處理等方面的需求。丁鵬程[1]對用戶行為數(shù)據(jù)分析包含數(shù)據(jù)采集、數(shù)據(jù)存儲、利用等多個(gè)階段實(shí)施分析,但是該方法存在用戶行為數(shù)據(jù)丟失的漏洞。林星星[2]主要針對Spark在商品個(gè)性化推薦這種特殊場景中的應(yīng)用展開研究,借助混合推薦算法,雖然解決了商品個(gè)性化推薦過程中存在的數(shù)據(jù)稀疏性及實(shí)時(shí)性等問題,但數(shù)據(jù)信息的處理效果相對較差,會導(dǎo)致系統(tǒng)的性能下降。上述方法均不能精準(zhǔn)地實(shí)現(xiàn)大數(shù)據(jù)分析,因此,為解決上述問題,提出了一種基于Spark的大數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)的框架選擇適用性較強(qiáng)的Spark計(jì)算框架為主,能夠支持多種類型語言的編程,此外還可以實(shí)現(xiàn)對大數(shù)據(jù)的交互式、批量處理、計(jì)算分析?;赟park的大數(shù)據(jù)分析系統(tǒng),以實(shí)現(xiàn)對大數(shù)據(jù)的實(shí)時(shí)分析。

      1 Spark技術(shù)概述

      Spark作為UC Berkeley AMPLab所開發(fā)的一款大數(shù)據(jù)計(jì)算框架,它和Hadoop兩者之間既有相似部分,也有不同[3]。不過,Spark和Hadoop兩者都具有分布式優(yōu)點(diǎn),能夠?qū)崿F(xiàn)對大數(shù)據(jù)的快速集群計(jì)算,并且Spark在Hadoop集群上運(yùn)行,還可以實(shí)現(xiàn)對Hadoop當(dāng)中的數(shù)據(jù)資源進(jìn)行實(shí)時(shí)訪問。Spark支持多種不同文件格式,對數(shù)據(jù)展開分析和處理,其數(shù)據(jù)結(jié)構(gòu)主要以RDD(resilient distributed datasets,彈性分布式數(shù)據(jù)集)為主,且該數(shù)據(jù)集在完成創(chuàng)建之后無法修改。因此,在大數(shù)據(jù)分析處理中,Spark能夠適用于機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘。此外,spark具有良好的工作負(fù)載性能,不僅可以實(shí)現(xiàn)交互式查詢,還擁有內(nèi)存分布式數(shù)據(jù)集性能,可以對迭代工作負(fù)載進(jìn)行相應(yīng)的優(yōu)化。因此,在不同的應(yīng)用場景當(dāng)中,spark系統(tǒng)的各個(gè)組件具有不同的作用,具體見表1。

      表1 Spark的應(yīng)用場景

      2 基于Spark的大數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

      2.1 系統(tǒng)設(shè)計(jì)原則

      首先,從大數(shù)據(jù)分析系統(tǒng)的設(shè)計(jì)原則方面進(jìn)行分析,考慮到后期數(shù)據(jù)量的增加及隨著業(yè)務(wù)需求的提升,所使用到的組件也會增加,集群得到擴(kuò)展,進(jìn)行基于Spark的大數(shù)據(jù)分析系統(tǒng)框架設(shè)計(jì)。其次,結(jié)合該系統(tǒng)的功能需求,以及需要考慮的后期項(xiàng)目自身的擴(kuò)展性,針對大數(shù)據(jù)分析系統(tǒng)的設(shè)計(jì),應(yīng)當(dāng)嚴(yán)格遵循依賴倒置原則、開放封閉原則、接口隔離原則、單一職責(zé)原則、里式替換原則及迪米特法則等設(shè)計(jì)原則。其中,從依賴倒置原則來看,設(shè)計(jì)分析系統(tǒng)的上層模塊并不會依賴底層的模塊。從開放封閉原則來看,在進(jìn)行大數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)時(shí),若沒有嚴(yán)格遵循此原則時(shí),就會使得項(xiàng)目的后期受需求變化的影響,可能會在原本的代碼上進(jìn)行修改,以及對部分代碼進(jìn)行重新編譯、測試以及部署,從而會耗費(fèi)很大,影響系統(tǒng)的擴(kuò)展。

      2.2 Spark集群搭建及環(huán)境配置

      首先,Spark的運(yùn)行需要Scala的支持,在進(jìn)行Spark安裝之前,需要先完成Scala環(huán)境的安裝。然后,通過從官方網(wǎng)站上下載Spark源碼,利用編譯器進(jìn)行編譯。其次,利用Worker節(jié)點(diǎn)的主機(jī)名字,通過Spark文件配置寫入到每一臺的虛擬機(jī)設(shè)備中的Slaves文件當(dāng)中,當(dāng)寫入作業(yè)完成之后,還需要對Spark安裝目錄當(dāng)中的文件節(jié)點(diǎn)進(jìn)行修改。并且,還需要集群上的所有節(jié)點(diǎn)文件和Slaves文件當(dāng)中的內(nèi)容相一致。在完成所有配置作業(yè)之后,可以選擇利用Spark on YARN模式開啟Spark集群。集群開啟之后,可以通過瀏覽器進(jìn)行瀏覽,并對集群的啟動情況進(jìn)行查詢與測試。此外,由于Spark是由Scala編寫而成,因此針對系統(tǒng)的Spark應(yīng)用程序的開發(fā)語言選擇應(yīng)當(dāng)為Scala。這樣一來,在調(diào)試時(shí),可以直接在開放環(huán)境當(dāng)中調(diào)試,而不需要將作業(yè)上傳到集群上進(jìn)行調(diào)試。

      2.3 大數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)

      2.3.1 系統(tǒng)總體框架設(shè)計(jì)

      Spark計(jì)算引擎作為一種擁有通用性優(yōu)點(diǎn),能夠?qū)崿F(xiàn)對大規(guī)模海量數(shù)據(jù)的快速計(jì)算與處理。結(jié)合官方所給出的數(shù)據(jù)信息來看,Spark和HadoopMapReduce兩者之間進(jìn)行對比,Spark的計(jì)算引擎運(yùn)算速度快于后者100倍。同時(shí),Spark自身的運(yùn)行模式擁有本地運(yùn)行模式、獨(dú)立集群運(yùn)行等特征[4]。因此,采用Spark為框架構(gòu)建大數(shù)據(jù)分析系統(tǒng),其系統(tǒng)框架主要采用分層設(shè)計(jì),分別為數(shù)據(jù)應(yīng)用層、服務(wù)層、數(shù)據(jù)計(jì)算與存儲層及基礎(chǔ)層4個(gè)層次?;赟park的大數(shù)據(jù)分析系統(tǒng)框架示意圖,如圖1所示。

      圖1 基于spark的大數(shù)據(jù)分析系統(tǒng)框架示意圖

      從數(shù)據(jù)基礎(chǔ)層方面來看,該層次設(shè)計(jì)主要包含了系統(tǒng)的底層軟件和硬件。其中底層軟件主要包含了安裝配置在服務(wù)器上的操作系統(tǒng)及Java基礎(chǔ)環(huán)境等軟件;而系統(tǒng)硬件部分主要包含了服務(wù)器和網(wǎng)絡(luò)運(yùn)營商。從服務(wù)層方面來看,該層的設(shè)計(jì)主要提供了工作調(diào)度功能、系統(tǒng)管理功能、服務(wù)接口功能以及工作管理功能等。其中,服務(wù)接口功能主要為服務(wù)層向Web提供restful接口,從而讓系統(tǒng)前端能夠獲得管理與工作調(diào)度的能力。并且,該層直接會接入到Spark當(dāng)中。從數(shù)據(jù)計(jì)算與存儲層方面來看,引入了Spark,通過分布式存儲系統(tǒng)所采集的數(shù)據(jù)信息,利用虛擬技術(shù)可以實(shí)現(xiàn)對數(shù)據(jù)信息的統(tǒng)一管理。同時(shí),該層的設(shè)計(jì)主要包含了HDFS、YARN組件及分布式集群環(huán)境Hadoop等。其中,HDFS的應(yīng)用為大數(shù)據(jù)分析系統(tǒng),提供了較高的容錯(cuò)分布式文件系統(tǒng)。YARN的應(yīng)用,為分布式資源管理器的分布式集群提供了統(tǒng)一的工作調(diào)度以及資源管理。此外,由于Spark在應(yīng)用過程中采用了Spark on YARN模式實(shí)施了部署。因此,其計(jì)算工作同樣交由YARN進(jìn)行統(tǒng)一的調(diào)度與管理,且為了解決Map Reduce存在的高計(jì)算延遲問題,本文選擇利用Spark作為數(shù)據(jù)計(jì)算工具來解決磁盤開銷較大、高計(jì)算延遲等問題。最后,數(shù)據(jù)應(yīng)用層的設(shè)計(jì)主要利用Web端借助服務(wù)層向用戶提供各種接口的功能,以此實(shí)現(xiàn)對數(shù)據(jù)和信息的提取,并利用圖表、文字等形式展現(xiàn)給客戶。

      2.3.2 系統(tǒng)主要功能模塊設(shè)計(jì)

      基于Spark的大數(shù)據(jù)分析系統(tǒng)主要包含了數(shù)據(jù)源、分析檢測模塊、報(bào)文預(yù)處理模塊及Flume模塊等主要功能構(gòu)成。主要功能模塊設(shè)計(jì)框架,如圖2所示。其中,在大數(shù)據(jù)分析系統(tǒng)當(dāng)中,Flume模塊作為一種分布式日志聚合模塊,其設(shè)計(jì)主要作用于對大數(shù)據(jù)的采集。Spark為計(jì)算模塊,HDFS作為Hadoop分布式文件存儲模塊,其主要作用就是負(fù)責(zé)大數(shù)據(jù)的存儲。而大數(shù)據(jù)分析系統(tǒng)當(dāng)中的數(shù)據(jù)源,主要指網(wǎng)絡(luò)當(dāng)中或者服務(wù)過程中的大數(shù)據(jù),如網(wǎng)絡(luò)抓包報(bào)文、網(wǎng)絡(luò)設(shè)備所提供的NETFlow數(shù)據(jù)和系統(tǒng)運(yùn)行過程中所產(chǎn)生出來的日志文件等。通過利用分布式日志聚合模塊,實(shí)現(xiàn)對系統(tǒng)運(yùn)行過程中所產(chǎn)生的日志文件和相關(guān)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集及預(yù)處理后,將處理完成的大數(shù)據(jù)再上傳到對應(yīng)平臺上。其中,一部分經(jīng)過處理的大數(shù)據(jù)會通過平臺直接保存到分布式文件存儲系統(tǒng)當(dāng)中。而另一部分大數(shù)據(jù)就會通過Spark對其進(jìn)行有效處理與分析。因此,在設(shè)計(jì)大數(shù)據(jù)分析系統(tǒng)時(shí),一般會采用分布式文件對大數(shù)據(jù)進(jìn)行存儲,接著利用架構(gòu)將大數(shù)據(jù)均衡到集群的工作節(jié)點(diǎn)之上,這樣Spark就能夠?qū)崿F(xiàn)對本地分塊數(shù)據(jù)進(jìn)行讀取和計(jì)算,并且整個(gè)過程并不需要再計(jì)算整個(gè)大數(shù)據(jù),由此降低了集群節(jié)點(diǎn)數(shù)據(jù)交互傳輸,使得系統(tǒng)對大數(shù)據(jù)的分析效率得到進(jìn)一步提高[5]。

      圖2 主要功能模塊設(shè)計(jì)框架

      (1)分布式日志聚合模塊

      該模塊的設(shè)計(jì)其功能主要是在接收到數(shù)據(jù)采集的相關(guān)命令之后,對所采集的大數(shù)據(jù)實(shí)施預(yù)處理和采集。分布式日志聚合模塊的運(yùn)行過程十分簡單,并且對日志的收集也沒有限制,其使用的范圍相對廣泛。同時(shí),分布式日志聚合模塊的設(shè)計(jì),主要由Source組件、Channel組件及Sink組件這3個(gè)組件構(gòu)成。其中,Source組件的設(shè)計(jì)實(shí)現(xiàn)了對系統(tǒng)原始日志的采集和分析。而Channel組件的設(shè)計(jì)主要負(fù)責(zé)為大數(shù)據(jù)分析系統(tǒng)提供臨時(shí)的緩存通道。此外,還起到了對Source組件和Sink組件兩者之間的連接服務(wù),最后將所收集到的日志信息通過Sink組件上傳到每一個(gè)模塊之上,以此完成大數(shù)據(jù)交付。分布式日志聚合模塊還擁有較強(qiáng)的可擴(kuò)展性與低耦合度,可以支持多級流處理大數(shù)據(jù)[6]。

      (2)分析檢測功能

      大數(shù)據(jù)分析系統(tǒng)當(dāng)中,分析檢測模塊的設(shè)計(jì)具有在線獲取可擴(kuò)展性數(shù)據(jù)的作用。針對該模塊的設(shè)計(jì),主要分為HDFS和Kafka這2個(gè)部分組成。其中,從HDFS模塊方面來看,其數(shù)據(jù)主要為能夠擴(kuò)展的大數(shù)據(jù),通過HDFS當(dāng)中的大數(shù)據(jù)可擴(kuò)展性實(shí)現(xiàn)對KAFKA當(dāng)中的數(shù)據(jù)進(jìn)行分類處理,這樣一來就能夠得到具有擴(kuò)展性的大數(shù)據(jù)。同時(shí),分析檢測模塊的設(shè)計(jì)主要由離線訓(xùn)練模塊SPARK及在線數(shù)據(jù)檢測2個(gè)部分組成。首先,從離線訓(xùn)練模型方面分析,利用Spark對HDFS當(dāng)中的大數(shù)據(jù)進(jìn)行讀取之后,通過對數(shù)據(jù)的清洗,提取出關(guān)于大數(shù)據(jù)的特征信息,再根據(jù)特征信息進(jìn)行模型訓(xùn)練,當(dāng)完成模型訓(xùn)練之后,再將其特征輸入到分類模型當(dāng)中。而在線分析檢測,主要是對從KAFKA當(dāng)中所獲取的大數(shù)據(jù)進(jìn)行重復(fù)和離線訓(xùn)練模型類似的訓(xùn)練,并采用Spark所輸入的特征模型,實(shí)現(xiàn)對數(shù)據(jù)的檢測分析。在2種模式的作用下,不僅可以促進(jìn)大數(shù)據(jù)分析的效率得到提升,還能夠保障大數(shù)據(jù)檢測的實(shí)時(shí)性。

      2.4 系統(tǒng)軟件設(shè)計(jì)

      大數(shù)據(jù)分析系統(tǒng)的軟件設(shè)計(jì),其中Spark模塊主要選擇采用ALS算法,實(shí)現(xiàn)對網(wǎng)絡(luò)中大數(shù)據(jù)的有效排名獲取,并利用Pagerank算法從中網(wǎng)絡(luò)當(dāng)中得到有關(guān)大數(shù)據(jù)的價(jià)值排名,最后在根據(jù)排名結(jié)果推薦的大數(shù)據(jù),對專業(yè)大數(shù)據(jù)展開有效分析。

      3 實(shí)驗(yàn)結(jié)果與分析

      3.1 實(shí)驗(yàn)環(huán)境搭建

      為了進(jìn)一步驗(yàn)證基于Spark的大數(shù)據(jù)分析系統(tǒng)的可行性,需要通過相應(yīng)的實(shí)驗(yàn)對其進(jìn)行分析。首先,針對實(shí)驗(yàn)過程中所應(yīng)用的計(jì)算機(jī)硬件配置,CPU為32位、內(nèi)存為128 GB及硬盤為64 TB。其次,針對此次實(shí)驗(yàn)過程中所應(yīng)用到的實(shí)驗(yàn)數(shù)據(jù),本文選擇以某企業(yè)網(wǎng)絡(luò)系統(tǒng)正常工作狀態(tài)下所產(chǎn)生的日志作為本次實(shí)驗(yàn)的主要數(shù)據(jù)源。接著,利用Flume將該企業(yè)系統(tǒng)的某個(gè)時(shí)間段內(nèi)的查詢?nèi)罩救繉懭氲紿DFS當(dāng)中,得到了大小為128 GB的數(shù)據(jù)樣本。此外,實(shí)驗(yàn)開始前,考慮到系統(tǒng)的有效性,本文選擇對系統(tǒng)的性能進(jìn)行分析,從中得到系統(tǒng)關(guān)于系統(tǒng)的運(yùn)行效果。

      3.2 性能對比分析

      針對系統(tǒng)的性能分析,本文主要從系統(tǒng)分析數(shù)據(jù)的耗時(shí)和分析的精度2個(gè)方面進(jìn)行綜合考量。并對比本文系統(tǒng)、列存儲系統(tǒng)等對數(shù)據(jù)分析的耗時(shí)情況,來判斷本系統(tǒng)的可行性。隨著數(shù)據(jù)樣本數(shù)量增加,系統(tǒng)運(yùn)行時(shí)間也會隨著樣本數(shù)量的上升而增加,通過對這2個(gè)系統(tǒng)進(jìn)行對比分析來看,本文系統(tǒng)的運(yùn)行時(shí)間相對較短。且在實(shí)驗(yàn)中后期,本文系統(tǒng)分析可擴(kuò)展性大數(shù)據(jù)耗時(shí)約為150 ms,處于相對穩(wěn)定的狀態(tài),而其存儲的耗時(shí)在不斷上升,當(dāng)實(shí)驗(yàn)時(shí)間在380 ms 時(shí)收斂。因此,隨著大數(shù)據(jù)樣本量的增加,本文系統(tǒng)不僅耗時(shí)短,且系統(tǒng)的穩(wěn)定性較好。同時(shí),本文系統(tǒng)在對具備可拓展性大數(shù)據(jù)進(jìn)行分析的過程當(dāng)中,需要利用訓(xùn)練模型優(yōu)化、更新數(shù)據(jù)集等步驟,才能夠?qū)崿F(xiàn)對此類大數(shù)據(jù)的有效分析,再通過多次的迭代之后,本文系統(tǒng)會隨著迭代次數(shù)的增加,系統(tǒng)的運(yùn)行時(shí)間卻幾乎沒有變化。由于本文系統(tǒng)采用Spark建立訓(xùn)練模型,將中間數(shù)據(jù)緩存結(jié)果存儲在自身內(nèi)存中,經(jīng)過多次迭代,運(yùn)行時(shí)間變化較小,運(yùn)行時(shí)間較為平穩(wěn)。

      4 結(jié)語

      綜上所述,通過對Spark技術(shù)和Hadoop技術(shù)進(jìn)行分析,并兼顧2種技術(shù)構(gòu)建了Spark on YARN集群環(huán)境,結(jié)合設(shè)計(jì)原則設(shè)計(jì)實(shí)現(xiàn)了基于Spark的大數(shù)據(jù)分析系統(tǒng)。從計(jì)算引擎選擇方面,本文選擇利用Spark計(jì)算引擎,以此提高了大數(shù)據(jù)計(jì)算速度,并利用Spark on YARN模式,充分發(fā)揮出了Spark自身的優(yōu)勢。且通過對該系統(tǒng)的測試,結(jié)果證明了本文大數(shù)據(jù)分析系統(tǒng)的可行性,以及可擴(kuò)展性。

      猜你喜歡
      數(shù)據(jù)分析系統(tǒng)日志集群
      一名老黨員的工作日志
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      利用GSM-R接口數(shù)據(jù)分析系統(tǒng)偏移的方法研究
      海上小型無人機(jī)集群的反制裝備需求與應(yīng)對之策研究
      焊接設(shè)備實(shí)時(shí)監(jiān)測與數(shù)據(jù)分析系統(tǒng)在核電建造行業(yè)的應(yīng)用
      基于信息融合的社群金融信息數(shù)據(jù)分析系統(tǒng)的研究與實(shí)現(xiàn)
      一種無人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
      電子制作(2018年11期)2018-08-04 03:25:40
      智能數(shù)據(jù)分析系統(tǒng)研究及應(yīng)用
      游學(xué)日志
      Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
      平塘县| 康定县| 司法| 吴桥县| 庆云县| 蒙阴县| 鄂伦春自治旗| 新化县| 柘城县| 连云港市| 太白县| 萨嘎县| 大港区| 桂阳县| 太湖县| 肃北| 北宁市| 根河市| 德州市| 普格县| 南京市| 城口县| 曲麻莱县| 杨浦区| 台安县| 右玉县| 思南县| 衡水市| 南岸区| 古蔺县| 梅河口市| 建阳市| 尤溪县| 盖州市| 浦北县| 龙南县| 博爱县| 鹿邑县| 灌阳县| 三原县| 周至县|