亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Spark的實時數(shù)據(jù)采集與處理

        2022-02-07 13:43:12高麗婷
        河北建筑工程學院學報 2022年4期
        關鍵詞:搜索引擎日志消息

        黃 濤 高麗婷

        (河北建筑工程學院,河北 張家口 075000)

        0 引 言

        大數(shù)據(jù)的時代背景下,數(shù)據(jù)越來越重要,如何把數(shù)據(jù)的最大價值挖掘出來是一個不可避免的問題.為挖掘數(shù)據(jù)的最大價值,對數(shù)據(jù)的分析被分為對歷史數(shù)據(jù)的分析和實時數(shù)據(jù)分析.實時數(shù)據(jù)處理應用的場景也越來越多,如文獻[1]分析了實時數(shù)據(jù)分析在工業(yè)方面的作用.Spark是實時數(shù)據(jù)分析中常用的一種平臺,它提供流式處理框架用于實時數(shù)據(jù)的處理.本文借助Spark搭建完整的大數(shù)據(jù)平臺來完成本次實驗分析.本方案以分析學習網(wǎng)站用戶喜好為目標,主要完成對網(wǎng)絡實時數(shù)據(jù)進行采集與實時分析的實現(xiàn).使用Flume對網(wǎng)站日志文件進行實時監(jiān)控與數(shù)據(jù)采集,并將數(shù)據(jù)下發(fā)給Kafka組件.再由Spark streaming對采集到的信息進行過濾與統(tǒng)計處理,將處理后的數(shù)據(jù)存入到Hbase中持久化數(shù)據(jù)加以利用.

        1 系統(tǒng)結構設計

        該方法主要包括三個模塊,分別是Flume模塊、Kafka模塊、Spark streaming流處理模塊.Flume模塊處于系統(tǒng)頂層中,主要負責對文件的監(jiān)控與分發(fā).置于中間層的是Kafka模塊,主要負責接收上層的消息并提供一個給下一層使用的消息隊列.底層是Spark streaming流處理模塊,主要負責實時處理消息流數(shù)據(jù)與轉存處理好的數(shù)據(jù).通過三個模塊互相協(xié)調,各個組件之間的消息通信,完成了實時日志數(shù)據(jù)的產生到監(jiān)控,最后統(tǒng)計整理存入到數(shù)據(jù)庫中加以利用.

        1.1 Flume模塊

        Flume是一個用于大數(shù)據(jù)平臺的文件采集,聚類和傳輸?shù)南到y(tǒng).可作用于分布式系統(tǒng)中.Flume工作是基于Agent的.Agent又包含了Source、Channel、Sink.這三個組件是Flume的核心組件,表1分別對其進行說明.

        表1 Flume組件說明

        1.2 Kafka模塊

        Kafka,一種消息發(fā)布與訂閱系統(tǒng).可以將Kafka理解為一種消息隊列,且特別是用來處理大數(shù)據(jù)量的一種消息隊列.Kafka處理消息的核心組件有生產者(producer),消費者(consumer),主題(topic).Producer,消息的生產者,負責源源不斷的產生消息,本文的消息來源是上一級的Flume.Topic,消息處理主題,可以理解為一個隊列.Producer產生的消息要確定是發(fā)給哪一個主題來處理,同樣消費者在消費時也要根據(jù)主題來確定消費的是哪里的數(shù)據(jù).Consumer,消息消費者,從確定的主題隊列中得到消息并處理.

        Kafka的生產者產生的消息可以被消費一次或多次,由此衍生了Kafka的兩種消費模式.第一種為一對一,即消息只會被消費一次,之后會被刪除.而另外一種為一對多,即消息被消費多次,首次消費該消息后,消息不會被刪除,繼續(xù)保留在消費隊列中,等待再次消費,且可以是不同的消費者來消費.

        1.3 Spark streaming流處理模塊

        Spark streaming是一款可以使用復雜算子來處理流數(shù)據(jù)的實時數(shù)據(jù)處理工具,可以使用高級函數(shù)或者是機器學習算法來處理實時數(shù)據(jù).

        Spark streaming工作原理,是使用微批次處理的思想將接收到的實時數(shù)據(jù)抽象為Dstream,即離散化數(shù)據(jù)流.其核心本質就是將數(shù)據(jù)流根據(jù)時間節(jié)點的不同來劃分為很多的批次,對每個批次進行處理,做出快速響應分析來達到實時處理的效果.使用streaming模塊具有下一優(yōu)勢,首先spark streaming具有動態(tài)負載均衡的特點,即根據(jù)每個節(jié)點的特性來動態(tài)的分配任務,這樣就可以合理利用每個節(jié)點的計算資源.其次spark streaming有很高的容錯性,streaming作業(yè)會被拆分為在任何地方都能運行,運行后合并的結果不會產生變化的小任務,它能夠并行處理,容錯性較高.然后由于spark還具有很好的可擴展性,每臺主機只要經(jīng)過相應的配置就可以加入到指定的spark集群中去,所以在streaming中可以根據(jù)作業(yè)所需的計算資源動態(tài)的調整集群中的主機數(shù)量,合理利用每個計算資源,減少不必要的資源浪費.

        2 實時數(shù)據(jù)集的模擬

        2.1 實時數(shù)據(jù)背景

        本文想要模擬出一個學習網(wǎng)站中課程點擊次數(shù)以及使用哪種搜索引擎的比例.要分析學習網(wǎng)站課程點擊與搜索引擎的使用,需要對其日志進行分析,需要提取日志中的關鍵信息包括IP地址、時間、請求方式、請求的課程、請求的協(xié)議、狀態(tài)碼及使用的搜索引擎.根據(jù)以上分析,時間可以使用本地時間,由于請求方式和協(xié)議對結果沒有影響,默認全部為”GET”和”HTTP1.1”.還需要五個數(shù)組來定義其他關鍵信息,然后隨機組合產生完整的日志信息.

        2.2 實時數(shù)據(jù)產生

        創(chuàng)建以下五個數(shù)組用來模擬實時數(shù)據(jù),各數(shù)組的功能與描述如表2所示.

        表2 數(shù)組功能與描述

        創(chuàng)立目標數(shù)組后,對所有日志關鍵信息進行拼接形成完整的日志信息.一條完整的日志信息格式為:{64.156.29.632022-04-24 13:52:35"GET /class/500.html HTTP/1.1"200http://www.baidu.com/s?wd=Linux進階}.本條日志信息表示ip為64.156.29.63的主機在2022年4月24日的13點52分點擊了課程編號為500的課程,使用的HTTP請求和GET方式訪問,響應的狀態(tài)碼為200,并且使用了百度搜索引擎搜索了關鍵字為Linux進階的網(wǎng)頁信息.

        實時效果模擬.為達到實時數(shù)據(jù)模擬的效果.在Linux的終端環(huán)境下,使用命令crontab來定期執(zhí)行任務的.設置定期執(zhí)行的間隔,每隔指定時間產生運行一次腳本來產生數(shù)據(jù)達到實時數(shù)據(jù)模擬的效果.可以根據(jù)實際需求來設置定時執(zhí)行的間隔和每次執(zhí)行使產生多少實時日志數(shù)據(jù),部分實時數(shù)據(jù)如圖1所示.

        圖1 部分實時日志數(shù)據(jù)

        3 實驗分析

        3.1 實驗環(huán)境

        由于Spark是基于Hadoop的運行的,所以實驗環(huán)境必須搭建Hadoop作為基礎,而Kafka也依賴與Zookeeper運行,要搭建Zookeeper保證Kafka的運行.在搭建好所有組件后,確保每個組件的配置文件的修改都生效并可以成功運行,想要集群正常運行還需配置hosts主機名與主機地址的映射,配置SSH免密登錄.本實驗所依賴的運行平臺環(huán)境整體如表3所示.

        表3 實驗整體環(huán)境

        3.2 實驗結果

        啟動整個實驗環(huán)境,確保環(huán)境中的每個組件都正常運行,且在統(tǒng)一分布式的環(huán)境下.啟動一個flume事件來監(jiān)控日志文件,當日志文件被寫入日志時就會被監(jiān)控.之后創(chuàng)建一個Kafka的topic來接收所監(jiān)控的日志文件.之后啟動Spark streaming實時處理Kafka所得到的日志,對其篩選,統(tǒng)計等操作之后存入Hbase數(shù)據(jù)庫令其持久化,以便后續(xù)分析與操作.在Linux的終端中周期性的運行日志產生的腳本,flume會實時監(jiān)控日志是否被產生新的日志,日志文件發(fā)生變化,flume就會給Kafka新的數(shù)據(jù)流處理,就可以達到預期的實時處理的效果,成功對實時產生的日志進行了實時處理并存儲到了Hbase中.實時數(shù)據(jù)分析效果如圖2、圖3所示.

        圖2 搜索引擎統(tǒng)計表

        圖3 課程統(tǒng)計表

        在圖2中,左邊是搜索引擎的列表,由時間和搜索引擎的名字組成,右邊是時間戳和具體值,某一行的內容表示某搜索引擎的使用次數(shù).通過分析對應搜索引擎標簽的具體點擊次數(shù)就可以得知哪種搜索引擎是使用最多次數(shù)的,哪種是最不喜歡的,對應著使用次數(shù)最少.達到分析搜索引擎喜好的目標.

        在圖3中,左邊的一列是時間加上課程的編號,右邊同樣是具體時間戳和次數(shù)的值,某一行的內容表示該課程共被點擊了多少次.根據(jù)課程編號還原對應的課程,在結合具體的使用數(shù)值,可以清楚的分析出哪種課程學習人數(shù)最多,最受喜愛,哪種課程學習人數(shù)最少,不受歡迎.達到分析出課程的受歡迎程度.

        4 結 論

        本文從環(huán)境搭建,到分析實時日志,做了完整的實驗.編寫了腳本實時產生日志數(shù)據(jù)文件,使用了Flume對文件進行實時監(jiān)控,交由Kafka進行消息整合與分發(fā),最后交付給spark streaming處理,發(fā)現(xiàn)Spark在實時數(shù)據(jù)處理中具有很高的運算能力,它的streaming流處理框架特別適用于實時數(shù)據(jù)的處理.如今的環(huán)境下,數(shù)據(jù)量越來越高,正是需要高處理能力的大數(shù)據(jù)處理平臺.數(shù)據(jù)的實時分析也越來越重要,在實時分析中還可以處理異常數(shù)據(jù),并將處理的數(shù)據(jù)轉存到其他的數(shù)據(jù)庫中持久化使用.

        猜你喜歡
        搜索引擎日志消息
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        一張圖看5G消息
        游學日志
        網(wǎng)絡搜索引擎亟待規(guī)范
        消息
        消息
        消息
        基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
        廣告主與搜索引擎的雙向博弈分析
        va精品人妻一区二区三区| 日本免费人成视频播放| 国产成人综合久久精品推荐免费| 日韩av一区二区无卡| av网站在线观看入口| 日韩欧美亚洲综合久久影院ds| 女同亚洲女同精品| 国内色精品视频在线网址| 亚洲自拍偷拍色图综合| 日韩人妻一区二区三区蜜桃视频| 国产天堂网站麻豆| 性感人妻一区二区三区| 久草视频在线手机免费看| 激情内射日本一区二区三区| 中文字幕天堂网| 少妇久久高潮不断免费视频| 亚洲乱码av中文一区二区| 国产精品熟女视频一区二区| 亚洲毛片网| 黄片一级二级三级四级| 亚洲av无码国产精品色软件| 国产成人精品999在线观看| 婷婷一区二区三区在线| 乳乱中文字幕熟女熟妇| 久9re热视频这里只有精品| 免费特级黄毛片| 日韩精品有码中文字幕在线| 亚洲一区二区免费在线观看视频| 亚洲午夜无码av毛片久久| аⅴ天堂国产最新版在线中文| 中国黄色偷拍视频二区| 成人免费无码大片a毛片抽搐色欲 日本动漫瀑乳h动漫啪啪免费 | 色优网久久国产精品| 日本亚洲中文字幕一区| 国产精品久久人妻无码| 2022Av天堂在线无码| 国产成人美涵人妖视频在线观看| 亚洲精品国偷拍自产在线| 蜜臀av一区二区| 性感人妻av在线播放| 亚洲av福利天堂一区二区三|