999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop集群的大數(shù)據(jù)新聞可視化平臺的設(shè)計(jì)

2021-06-16 09:35:52王一高任耀星李嘉瑤
電子技術(shù)與軟件工程 2021年7期
關(guān)鍵詞:可視化數(shù)據(jù)庫

王一高 任耀星 李嘉瑤

(山西農(nóng)業(yè)大學(xué) 山西省晉中市 030801)

隨著智能推薦系統(tǒng)的不斷發(fā)展和完善,智能推薦算法在各種軟件中得到了應(yīng)用。智能推薦算法在讓人們毫不費(fèi)力地瀏覽到自己關(guān)心的事物同時(shí)給軟件運(yùn)營商帶來收益,但是長此以往,人們的視野逐漸變窄,眼里的世界不再那么豐富多彩,不能全方位了解和分析客觀事物。因此本文設(shè)計(jì)了一種全新的新聞可視化平臺,該平臺的目的就在于幫助人們擺脫智能推薦算法,可以快速地按熱詞來瀏覽相關(guān)新聞,用最短的時(shí)間獲取到最多的信息。

1 系統(tǒng)設(shè)計(jì)

本文所設(shè)計(jì)的大數(shù)據(jù)新聞可視化平臺的系統(tǒng)架構(gòu)圖見圖1。一般情況下,大數(shù)據(jù)的處理由數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、數(shù)據(jù)存儲、數(shù)據(jù)分析與挖掘、數(shù)據(jù)可視化這五部分構(gòu)成。本文所設(shè)計(jì)的大數(shù)據(jù)新聞可視化平臺依賴于Hadoop 集群實(shí)現(xiàn):數(shù)據(jù)采集部分使用分布式多進(jìn)程網(wǎng)絡(luò)爬蟲采集互聯(lián)網(wǎng)主流新聞媒體的熱榜數(shù)據(jù);之后在爬蟲內(nèi)部進(jìn)行數(shù)據(jù)預(yù)處理,篩選或刪除掉一些不規(guī)則的數(shù)據(jù);數(shù)據(jù)存儲部分使用HDFS 存儲離線數(shù)據(jù),使用MySQL 存儲實(shí)時(shí)處理結(jié)果;數(shù)據(jù)分析部分分為實(shí)時(shí)數(shù)據(jù)分析和離線數(shù)據(jù)分析,通過SparkStreaming 進(jìn)行實(shí)時(shí)流數(shù)據(jù)處理,通過MySQL 或HiveSQL 進(jìn)行離線數(shù)據(jù)分析,其中MySQL 的數(shù)據(jù)分析結(jié)果用于數(shù)據(jù)可視化,HiveSQL 則用于海量離線數(shù)據(jù)分析。

2 系統(tǒng)實(shí)現(xiàn)

2.1 Hadoop高可用集群部署

由于單個(gè)NamNode 節(jié)點(diǎn)存在單點(diǎn)故障且面對海量數(shù)據(jù)存在壓力過大的問題,一旦該節(jié)點(diǎn)發(fā)生宕機(jī),整個(gè)集群都會不可用[1]。為了解決上述問題,Hadoop 在2.0 版本中引入了高可用機(jī)制,旨在消除單點(diǎn)故障,提供7*24 小時(shí)不間斷服務(wù)。以典型的高可用集群為例,會有兩個(gè)NameNode 節(jié)點(diǎn)提供服務(wù),一個(gè)NameNode 處于Active 狀態(tài)、另一個(gè)NameNode 處于StandBy 狀態(tài),當(dāng)Active 狀態(tài)的NameNode 發(fā)生宕機(jī)時(shí),StandBy 狀態(tài)的NameNode 會自動轉(zhuǎn)為Actie 狀態(tài)接續(xù)工作。

本文所搭建的高可用集群由3 臺CPU 為2 核、內(nèi)存為4GB、操作系統(tǒng)為CentOS 7.4 64 位的云服務(wù)器組成。主機(jī)名分別為:Cluster01,Cluster02,Cluster03。使用Xftp 將相關(guān)組件的安裝包上傳到服務(wù)器解壓后進(jìn)行安裝配置。

2.2 分布式Flume日志采集

圖1:系統(tǒng)架構(gòu)圖

圖2:詞頻統(tǒng)計(jì)圖

圖3:熱度趨勢圖

Flume 通常以分布式的形式部署于Hadoop 集群中,它具有高可用和高可靠的特性。Flume 的核心角色是Agent,每個(gè)Agent 的內(nèi)部有三個(gè)組件:Source、Sink、Channel。Flume 可以根據(jù)用戶的需求進(jìn)行靈活的定制,可以是單個(gè)Agent 采集數(shù)據(jù),也可以是多個(gè)Agent 之間進(jìn)行串并聯(lián),共同采集數(shù)據(jù)。在本文所搭建的分布式Flume日志采集系統(tǒng)中,Cluster02 和Cluster03 的Source 是分布式多進(jìn)程爬蟲產(chǎn)生的新聞數(shù)據(jù),Sink 均對接Cluster01 所部署Flume的Source。Cluster01 的Sink 為Hbase 數(shù)據(jù)庫和Kafka 消息隊(duì)列。爬蟲每半小時(shí)運(yùn)行一次,當(dāng)Flume 監(jiān)測到日志文件發(fā)生變化時(shí)會自動對日志文件的新增內(nèi)容進(jìn)行采集和匯總,然后分別傳輸?shù)終afa消息隊(duì)列和Hbase 數(shù)據(jù)庫中。

2.3 分布式多進(jìn)程爬蟲部署

經(jīng)實(shí)測爬蟲每次運(yùn)行會產(chǎn)生4-5 萬條數(shù)據(jù),普通的單線程爬蟲在爬取海量新聞數(shù)據(jù)時(shí)顯得力不從心,無法保證在短時(shí)間內(nèi)完成數(shù)據(jù)的更新。且爬蟲屬于IO 密集型任務(wù),在短時(shí)間內(nèi)會進(jìn)行大量的讀寫操作[2]。為了加快爬取速度并實(shí)現(xiàn)數(shù)據(jù)的及時(shí)更新,需根據(jù)爬取任務(wù)量對服務(wù)器進(jìn)行負(fù)載均衡。依托于Hadoop 集群,分布式多進(jìn)程爬蟲得以實(shí)現(xiàn)[3]。其中Cluster02 和Cluster03 負(fù)責(zé)爬取數(shù)據(jù)并將每次爬取的數(shù)據(jù)寫入緩存文件,與此同時(shí),Cluster02 和Cluster03 上部署的分布式Flume 負(fù)責(zé)監(jiān)督并將爬蟲產(chǎn)生的數(shù)據(jù)傳輸給Cluster01 進(jìn)行匯總。新聞數(shù)據(jù)具有很強(qiáng)的時(shí)效性,部分新聞媒體的更新頻率很高,所以分布式爬蟲設(shè)定每半小時(shí)運(yùn)行一次。

2.4 Kafka消息隊(duì)列

Kafka 是一種基于發(fā)布-訂閱的分布式消息系統(tǒng),其具有高吞吐量、低延遲的特性,廣泛應(yīng)用于消息傳遞、日志收集領(lǐng)域。Kafka 可以將消息持久化存儲在硬盤上,從而規(guī)避了數(shù)據(jù)丟失的風(fēng)險(xiǎn),并且消費(fèi)者可以憑借偏移量在一段時(shí)間后實(shí)現(xiàn)繼續(xù)消費(fèi)。在本文搭建的Hadoop 集群中,Cluster01 節(jié)點(diǎn)的Flume 相當(dāng)于Kafka 的生產(chǎn)者,SparkStreaming 端作為Kafka 消費(fèi)者接收海量新聞數(shù)據(jù)進(jìn)行實(shí)時(shí)處理。

2.5 SparkStreaming流數(shù)據(jù)處理

Spark 是一個(gè)面向大數(shù)據(jù)處理而設(shè)計(jì)的計(jì)算引擎,與Hadoop的MapReduce 相比,其內(nèi)存計(jì)算的特性使得其中間結(jié)果不必反復(fù)寫入磁盤,避免產(chǎn)生大量的IO 開銷,因此可以在短時(shí)間內(nèi)完成對海量數(shù)據(jù)的處理。SparkStreaming是構(gòu)建于SparkCore之上的一套框架,具有高吞吐量、容錯(cuò)的特性,主要用來處理實(shí)時(shí)流式數(shù)據(jù),其將接收到的實(shí)時(shí)輸入數(shù)據(jù)流按照時(shí)間間隔進(jìn)行切分后計(jì)算處理。其數(shù)據(jù)源可以是Kafka、Flume、HDFS 等,處理結(jié)果支持寫入HDFS 或其它數(shù)據(jù)庫。

在本文所設(shè)計(jì)的新聞可視化平臺中,SparkStreaming 程序作為Kafka 的消費(fèi)者,在取到數(shù)據(jù)之后使用Jieba 中文分詞對新聞文本切分并進(jìn)行詞頻統(tǒng)計(jì),為便于數(shù)據(jù)可視化,將處理結(jié)果寫入MySQL數(shù)據(jù)庫中,為了避免數(shù)據(jù)冗余,MySQL 數(shù)據(jù)庫在每次數(shù)據(jù)更新前都會執(zhí)行清空指令。

2.6 HBase數(shù)據(jù)庫

HBase 是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫,是BigTable的開源實(shí)現(xiàn),其構(gòu)建于HDFS 之上,具有高性能、面向列、可伸縮的特性,廣泛應(yīng)用于社交信息、搜索引擎、網(wǎng)絡(luò)日志等的存儲。HBase 支持通過JavaAPI、HBase Shell、Hive 等進(jìn)行訪問。將Flume 的Sink 設(shè)置為HBase 并創(chuàng)建相應(yīng)表便可以實(shí)現(xiàn)HBase 與Flume 的對接。本文所編寫的分布式爬蟲每半小時(shí)運(yùn)行一次,若每次爬取的數(shù)據(jù)都寫入HBase 數(shù)據(jù)庫,則會造成數(shù)據(jù)冗余,浪費(fèi)存儲容量,因此離線數(shù)據(jù)每日只寫入一次。爬蟲采集的新聞按類別可以分為:時(shí)政、經(jīng)濟(jì)、法律、軍事、科技、文教、體育、社會等,數(shù)據(jù)的不斷積累可以構(gòu)建出專屬的新聞?wù)Z料庫,這可為日后的機(jī)器學(xué)習(xí)、文本分類、NLP 研究提供數(shù)據(jù)支撐。

2.7 Hive離線分析

圖4:國內(nèi)新聞地圖

圖5:國際新聞地圖

圖6:新聞來源及內(nèi)容

Hive 是一個(gè)采用MapReduce 作為計(jì)算引擎,HDFS 作為文件系統(tǒng)的數(shù)據(jù)倉庫工具,Hive 的編程語言為HiveSQL,是一種類SQL 語言,其特點(diǎn)是可以將SQL 查詢轉(zhuǎn)換為MapReduce 任務(wù)進(jìn)行處理,具有簡單易上手的特點(diǎn)。可以通過在Hive 中創(chuàng)建HBase 的外部表來訪問HBase 中的離線新聞數(shù)據(jù)并進(jìn)行大規(guī)模數(shù)據(jù)分析。

2.8 百度Sugar數(shù)據(jù)可視化

本文采用了百度Sugar 的解決方案,首先將處理后的數(shù)據(jù)寫入到數(shù)據(jù)庫中并開放數(shù)據(jù)庫相應(yīng)端口,將集群數(shù)據(jù)庫添加到Sugar 中作為數(shù)據(jù)源,然后在Sugar 中設(shè)計(jì)好可視化版式并編寫相應(yīng)SQL 語句便可以實(shí)現(xiàn)數(shù)據(jù)可視化。且Sugar 支持圖表下鉆功能,提供了優(yōu)美的界面和強(qiáng)大的交互體驗(yàn),可以讓開發(fā)者將工作重心更多地放在數(shù)據(jù)分析與處理而不是前端頁面開發(fā)。

2.8.1 熱詞詞頻統(tǒng)計(jì)

查詢數(shù)據(jù)庫中詞頻統(tǒng)計(jì)結(jié)果的前30 條數(shù)據(jù),以橫向柱圖的形式進(jìn)行展示,見圖2。點(diǎn)擊單個(gè)柱子會自動彈框展示包含熱詞的相關(guān)新聞。

2.8.2 熱度演變趨勢

根據(jù)積累的歷史數(shù)據(jù),可以進(jìn)一步展開數(shù)據(jù)分析,以橫向柱圖中的熱詞作為關(guān)鍵字在數(shù)據(jù)庫中進(jìn)行模糊匹配并按日期分組求和,可以得出該熱詞的變化趨勢[4]。以最近的“日本決定向大海排核污染水”新聞為例,查看“日本”的熱度演變趨勢,由圖可以看出在2021-4-12 之后,“日本”的相關(guān)熱度驟然增高,見圖3。

2.8.3 新聞地圖

在使用Jieba 分詞器完成中文分詞后,分詞中包含著若干地名信息,將地名信息提取統(tǒng)計(jì)之后顯示在地圖上可以構(gòu)建一幅新聞地圖[5]。本文的新聞地圖由國內(nèi)新聞地圖(圖4)和國際新聞地圖(圖5)組成。國內(nèi)新聞地圖以氣泡圖的大小反映該地區(qū)新聞數(shù)量,國際新聞地圖則以色塊的形式反映國家的新聞數(shù)量。點(diǎn)擊區(qū)域或國家,均可彈框展示包含該區(qū)域或國家的新聞,通過傳遞參數(shù),點(diǎn)擊熱點(diǎn)名會自動使用百度對該內(nèi)容進(jìn)行搜索,見圖6。

3 總結(jié)與展望

本平臺是一種使用大數(shù)據(jù)相關(guān)技術(shù)開發(fā)的大數(shù)據(jù)新聞統(tǒng)計(jì)分析平臺,在完成新聞數(shù)據(jù)可視化的同時(shí)構(gòu)建新聞?wù)Z料庫。通過爬取全網(wǎng)各大新聞媒體平臺的實(shí)時(shí)數(shù)據(jù),并對其熱榜信息進(jìn)行聚合,實(shí)現(xiàn)對新聞網(wǎng)站的各種信息(來源,分類,熱度信息等)的分析。通過統(tǒng)計(jì)分析的數(shù)據(jù),將實(shí)時(shí)新聞熱點(diǎn)進(jìn)行可視化展示。首先本平臺有助于用戶告別智能推薦,減少不必要信息的干擾,從而更全面的按照自己的需求查看新聞。通過聚合全網(wǎng)信息,客戶可以用較短的時(shí)間去快速瀏覽、獲取更多的信息,這種方案簡單高效,是一種全新的新聞獲取思路。并且本文所構(gòu)建的新聞?wù)Z料庫可為后續(xù)實(shí)驗(yàn)和科學(xué)研究提供數(shù)據(jù)支撐。

猜你喜歡
可視化數(shù)據(jù)庫
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 国产区在线观看视频| 大香伊人久久| 亚洲愉拍一区二区精品| 中文字幕永久在线看| 亚洲精品国产成人7777| 欧美国产另类| 亚洲精品大秀视频| 国产高清色视频免费看的网址| 久99久热只有精品国产15| 国模视频一区二区| 欧美日韩v| 波多野结衣视频一区二区| 久久综合五月| 亚洲一区二区三区中文字幕5566| 亚洲国产系列| 伊人蕉久影院| 色婷婷电影网| 欧美一区二区自偷自拍视频| 激情综合网激情综合| 国产微拍一区二区三区四区| 欧美日韩综合网| 国产清纯在线一区二区WWW| 五月婷婷综合在线视频| 国产激爽大片在线播放| 亚洲成aⅴ人片在线影院八| 欧美日韩在线成人| 青青草国产精品久久久久| 精品一区二区三区水蜜桃| 97国产精品视频人人做人人爱| 免费人成黄页在线观看国产| 日本少妇又色又爽又高潮| 小说 亚洲 无码 精品| 亚洲娇小与黑人巨大交| 手机在线看片不卡中文字幕| 日韩色图区| 中文字幕乱妇无码AV在线| 99热这里只有精品免费| 狠狠色综合网| 亚洲αv毛片| 亚洲区视频在线观看| 国产精品视频第一专区| 午夜毛片福利| 99视频在线精品免费观看6| 国产拍揄自揄精品视频网站| 999精品色在线观看| 真实国产乱子伦视频| 国产精品美女在线| 国产亚洲精品资源在线26u| 欧美一级爱操视频| 美女视频黄频a免费高清不卡| 91精品亚洲| 奇米精品一区二区三区在线观看| 91www在线观看| 青草娱乐极品免费视频| 丁香六月激情婷婷| 久久国产精品嫖妓| 午夜丁香婷婷| 精品视频福利| yjizz国产在线视频网| 国产成人91精品免费网址在线 | av在线无码浏览| 国产黄色免费看| 制服丝袜国产精品| 亚洲乱码在线视频| 亚洲欧美综合在线观看| 久久香蕉国产线看精品| 久久精品国产电影| 国产精品视频观看裸模| 日韩一级毛一欧美一国产| 欧美激情综合一区二区| 天天综合网亚洲网站| 激情亚洲天堂| 欧美成人a∨视频免费观看| 国产人人乐人人爱| 在线五月婷婷| 亚洲成a人片77777在线播放| 欧美三级不卡在线观看视频| 久久黄色免费电影| 午夜小视频在线| 日本人妻丰满熟妇区| 欧洲亚洲欧美国产日本高清| 99热免费在线|