《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 微博輿情的Hadoop存儲和管理平臺設計與實現
微博輿情的Hadoop存儲和管理平臺設計與實現
2017年電子技術應用第3期
余 輝1,黃永峰2,胡 萍3
1.中國科學院大學,北京100043;2.清華大學 電子工程系,北京100084; 3.清華大學 網絡科學與網絡空間研究院,北京100084
摘要: 隨著Internet技術的迅速發展,網絡輿情監控系統正在得到廣泛應用。網絡輿情監控系統的數據量也急速膨脹,如何高效地存儲和管理這些海量的非結構或半結構化數據成為網絡輿情系統研發中的挑戰課題。傳統的關系數據庫和分布式計算等數據處理的方式也越來越不能適應日益增長網絡大數據。針對微博數據的特點建立了一種面向微博輿情應用的Hadoop存儲平臺的多層體系架構,并采用列數據庫設計多種微博結構化數據的表結構,以及表之間的關系模型。測試結果表明,設計的存儲管理平臺具有檢索響應速度快、可擴展性好等特點。
中圖分類號: TP399
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.03.030
中文引用格式: 余輝,黃永峰,胡萍. 微博輿情的Hadoop存儲和管理平臺設計與實現[J].電子技術應用,2017,43(3):120-123,131.
英文引用格式: Yu Hui,Huang Yongfeng,Hu Ping. Design and implementation of Hadoop based storage and management platform on the Weibo public opinion[J].Application of Electronic Technique,2017,43(3):120-123,131.
Design and implementation of Hadoop based storage and management platform on the Weibo public opinion
Yu Hui1,Huang Yongfeng2,Hu Ping3
1.University of Chinese Academy of Sciences,Beijing 100043,China; 2.Department of Electronic Engineer,Tsinghua University,Beijing 100084,China; 3.Institute for Science and Network Space Sciences,Tsinghua University,Beijing 100084,China
Abstract: Along with the rapid development of Internet technology continuously, the network public opinion monitor system has been widely used. The amount data of Network public opinion monitoring system has been rapidly expanding, resulting in how to efficiently store and manage the vast amounts of unstructured or semi-structured data become challenge subject in network public opinion system research and development. Traditional relational database and distributed computing and data processing have been becoming more and more not suitable to the increasing network data. This paper establishs a multi-layer architecture based on Hadoop storage platform of Weibo public opinion application according to the characteristics of Weibo data, and uses column database to design a variety of the table structure of Weibo structured data, and the model of the relationships between tables. Test result shows that the designed storage management platform has the charactistics of the rapid reaction rate of retrieve and good scalability, etc.
Key words : opinion analysis;Hadoop;Hbase;cloud storage;cloud computing

0 引言

    隨著Internet技術的迅速發展,全球各大互聯網公司的網絡輿情監控系統也蓬勃發展起來,網絡輿情監控系統所獲得的數據量急速膨脹。傳統的網絡計算、并行計算、分布式計算等數據處理的方式越來越不能滿足快速查詢、存儲、處理日益增長的數據的需要[1]。在此基礎上云計算的概念應運而生。云計算的新穎之處在于它幾乎可以提供無限的廉價存儲和計算能力,未來存儲模式將改變目前的存儲模式,不再存放在個人計算機及服務器上,而是存放在云服務器中,同時所有的計算、存儲、處理工作也將在云服務器完成,這樣給企業及各廠商帶來很多便利,節省存儲設備和軟件應用的投入成本。本文將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工作,并且將關系型數據庫和非關系型數據庫聯合應用,設計出一個快速檢索查詢、海量數據存儲、批量數據處理的多層體系架構的系統,且對外提供數據存儲和業務訪問功能,保證數據的安全性,并節約存儲空間[2]

1 相關技術

    基于微博輿情的Hadoop存儲主要包括微博的數據結構和Hbase兩個部分。

1.1 微博數據結構

    (1)數據的語義不同,非結構化數據內容不一,描述不同的問題。現在對數據的非結構化管理通常以文件形式,保留原始的非結構化數據非常重要,可以針對不同的研究需求。但這導致對不同非結構化數據使用不同處理方案,最終時間會大大增加,無法快速獲得重要信息。而且用戶一般想專注于自己的研究模塊,不希望進行文件的預處理工作。

    (2)數據格式不同,各網站基于不同的框架產生大量不同格式的數據,從而形成大量不同的非結構化數據。無法使用統一的方式來管理和使用這些數據。

1.2 Hbase

    HBase是一個基于分布式文件系統HDFS、面向列、開源的數據庫。Hbase數據表由主鍵、列族、時間戳三部分組成。每個表都有一個主鍵、一個或多個列簇,每個列簇可以包含任意數量的列,且一個列族中的列名不能相同。HBase有多種數據導入方式,最直接的方法是在Java程序中獲取Hbase中的HTable類執行Hbase的客戶端API,進行數據的增、刪、改、查[3]

    在Hbase的概念中,RegionServer對應于集群中的一個節點,而一個RegionServer負責管理多個Region。一個Region代表一張表的一部分數據,所以在Hbase中的一張表可能會需要很多個Region來存儲其數據,但是每個Region中的數據并不是雜亂無章的,Hbase在管理Region時會給每個Region定義一個Rowkey的范圍,落在特定范圍內的數據將交給特定的Region,從而將負載分攤到多個節點上,充分利用分布式的優點[4]。另外,Hbase會自動的調節Region處在的位置,如果一個RegionServer變得Hot(大量的請求落在這個Server管理的Region上),Hbase就會把Region移動到相對空閑的節點,依次保證集群環境被充分利用。

2 基于Hadoop的微博數據存儲管理平臺的體系結構設計

    本文根據微博數據的特點,采用Hadoop技術,建立了多層結構的存儲和管理架構,如圖1所示。基于Hadoop的微博數據存儲管理平臺的體系結構主要由五個層面組成:原始數據層、數據預處理層、數據存儲層、NewSQL轉換層、數據應用層。

jsj3-t1.gif

    (1)原始數據層:該主要是采集與保存新浪、搜狐、網易和騰訊等主流微博網站的原始數據。為保證微博數據的實時性,采用實時數據獲取工具每個小時自動對微博網址進行爬取,獲取前一個小時數據。

    (2)數據預處理層:該層主要功能包括兩部分工作。一是數據抽取,利用數據挖掘技術從原始數據中抽取出有效的信息,包括用戶信息、微博信息以及用戶微博之間的相互關系等;二是進行數據清洗,主要將一些采集過程中出現的錯誤數據和不一致性數據過濾。

    (3)數據存儲層:該層主要是用來存儲結構化數據和元數據。因此,在該層引入了Mysql和Hbase兩個數據庫。對清洗后的微博數據進行分析設計,采用分割、建立索引等方法成功加載進Hbase和Mysql數據庫。在具體實現中,使用HBase作為原始數據庫,而Mysql作為元數據。通過Mysql中的用戶信息和微博信息,快速獲取Hbase對應的用戶屬性、用戶關系、微博屬性、微博關系。能在毫秒中提取相關信息,從而實現高效的實時查詢。

    (4)NewSQL層:該層主要為Hbase的客戶端API和二級索引。NewSQL層是Hbase和Mysql的SQL引擎層,在此層實現Mysql查詢Hbase數據的映射與轉換工作。具體來講在此層實現了兩種功能:一是Mysql的數據庫的獨立查詢,查詢微博總數、用戶總數、微博內容等基本信息;二是Mysql的數據庫和Hbase的數據庫聯合查詢,通過查詢MySql中字段信息,調用Hbase的API查詢HBase數據庫,進行實時訪問。通過此層對外提供各類包括用戶屬性、微博屬性查詢,以及用戶間轉發回復評論等關系在內的查詢接口,實現數據查詢的易用性目標[5]

3 微博關系數據的存儲表的設計與實現

    Hadoop存儲和管理平臺采用了NewSQL存儲結構,它將傳統關系型數據庫Mysql和非關系型數據庫Hbase相結合,這種存儲結構不僅獲得了關系型數據庫的查詢速率快、支持復雜類查詢同時支持事務處理等優點,也獲得非關系型的優點,即極大的擴展性,可擴展到數十PB,以及建設成本低、數據安全的優點。

    Mysql的設計上面采用分表存儲,每一百萬條記錄存儲到一張表中且建立索引,提升查詢速率。Hbase的設計上面采用RowKey的MD5加密且分區,使數據平均的分布在每臺RegionServer上面,防止數據傾斜到一臺RegionServer。

    最后,考慮到需要快速查找用戶信息、用戶之間的關系、微博信息、微博之間的關系,從而建立關鍵字索引表、用戶屬性表、用戶關系表、微博屬性表、微博關系表。

3.1 關鍵字索引表

    表1為關鍵字索引表。采用Mysql設計,存儲用戶的微博主要內容。通過關鍵字查詢用戶感興趣的內容,可以快速提取博文內容以及用戶信息。

jsj3-b1.gif

3.2 用戶屬性表

    表2為用戶屬性表。采用Hbase設計,存儲用戶的基本屬性。其中包括:1個Rowkey和2個列族,Rowkey為用戶的唯一id,兩個列族分別為用戶屬性列族、關系屬性列族。

jsj3-b2.gif

3.3 用戶關系表

    表3為用戶關系表。采用Hbase設計,存儲用戶之間關系狀態。關注關系分為兩種:單向的關注關系和雙向的好友關系。比如兩個用戶A和B之間,如果A關注B,而B沒有關注A,這就是一種單向的關注關系;如果A關注了B,同時B也關注了A,那么雙方是一種雙向的好友關系。其中包括:1個Rowkey和1個列族,Rowkey為用戶的唯一id,一個列族為用戶關系屬性列族。

jsj3-b3.gif

3.4 微博屬性表

    表4為微博屬性表。采用Hbase設計,存儲微博文章的基本信息。其中包括:1個Rowkey和2個列族,Rowkey為微博URL作為唯一id,兩個列族即微博屬性列族和關系屬性列族。

jsj3-b4.gif

3.5 微博關系表

    表5為微博關系表。采用Hbase設計,存儲用戶使用微博的發文、評論、轉發、回復信息。其中包括:1個Rowkey和1個列族,Rowkey為用戶的id,列族即微博關系屬性列族。

jsj3-b5.gif

4 存儲管理平臺的性能測試與分析

    本節將搭建Apache版本Hadoop2.6分布式集群環境,對本平臺系統性能進行實驗測試和評估,通過SQL語句驗證其實際應用中的性能。

4.1 實驗環境及軟件配置

    表6為服務器集群環境及軟件配置表。用7個服務器使用Apache版本Hadoop2.6分布式集群部署,其中一臺服務器作為主節點Master,其余6臺作為平臺的數據節點Data,系統軟硬件配置見表6。

jsj3-b6.gif

4.2 實驗數據

    實驗采用的是通過爬蟲技術從新浪、網易、搜狐等主流微博獲取的真實微博數據。通過去噪清洗,將一些采集過程中出現的錯誤和不一致性數據過濾并進行結構化處理后,獲得用戶節點數6 015萬,用戶關系數13 953萬,微博節點數53 413萬,用戶微博關系數為44 012萬。

    表7為數據平臺常用API查詢用時。根據需求選取6 000萬個重要人物在平臺上對項目常用的API(用戶節點查詢、用戶屬性查詢、用戶關系查詢、微博節點查詢、微博屬性查詢、微博關系查詢)進行SQL查詢用時測試。由于數據需多次測試,且在Hbase查詢中blockcache命中率對讀性能影響十分大,對此將分開啟和關閉緩存兩組進行測試。

jsj3-b7.gif

    由表7可知,在已有數據下,項目常用API的利用SQL語句查詢50%分位值用時皆在16 ms以內,99%分位值也均在20 ms以內,能夠很好地滿足平臺的實時性要求。由圖2數據可知,隨著數據規模的增大,存儲平臺的數據查詢用時并不出現顯著增長。即使在用戶節點數達到6 000萬的規模下,不開啟緩存也能保持功能查詢平均用時在14 ms以內。特別是對指定重點人物的多次查詢,在緩存命中的情況下能保持用時在8 ms以內。由于本存儲系統基于HDFS文件系統搭建,其分布式架構本身具有良好的擴展性與可靠性。故本存儲平臺能夠成功地滿足實時性、可擴展性和易用性等要求。

jsj3-t2.gif

5 結論

    本文建立了一套面向微博輿情分析的Hadoop存儲和管理系統。本系統可以安全、海量存儲微博數據,通過關系型數據庫Mysql和非關系型數據庫Hbase兩者的優點進行SQL交互,實現海量數據存儲、實時數據查詢、快速檢索響應、可橫向擴展等優點,有效解決了傳統關系型數據庫在存儲數據單一、存儲空間受限、不可橫向擴展存儲空間等缺點。

參考文獻

[1] SULLIVAN J.China′s Weibo:Is faster different?[J].New Media & Society,2014,16(1):24-37.

[2] CHANG F,DEAN J,GHEMAWAT S,et al.Bigtable:A distributed storage system for structured data[J].ACM Transactions on Computer Systems(TOCS),2008,26(2):4.

[3] 潘夢云,李國玉,李燕.基于Hadoop云計算平臺的數據處理系統的研究與設計[J].通訊世界:下半月,2015(7):224-225.

[4] 萬川梅.基于大數據下的NOSQL和Mysql融合的數據存儲模型研究[J].數字技術與應用,2014,2(2):96-96.

[5] LEE C H,ZHENG Y L.Automatic SQL-to-NoSQL schema transformation over the MySQL and HBase databases[C].IEEE International Conference on Consumer Electronicstaiwan,2015:426-427.



作者信息:

余  輝1,黃永峰2,胡  萍3

(1.中國科學院大學,北京100043;2.清華大學 電子工程系,北京100084;

3.清華大學 網絡科學與網絡空間研究院,北京100084)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美在线视频一区二区三区| 欧美高清视频一区二区| 亚洲国产欧美久久| 欧美在线免费观看视频| 亚洲一区日韩在线| 亚洲一区观看| 亚洲尤物在线| 亚洲欧美日韩国产成人精品影院 | 久久国产视频网站| 亚洲欧美激情在线视频| 一道本一区二区| 国产精品捆绑调教| 国产精品国产三级国产aⅴ浪潮| 欧美日韩午夜在线| 国产精品成人在线观看| 国产精品国产三级国产普通话三级 | 亚洲欧美激情视频| 欧美亚洲一区| 亚洲二区在线| 亚洲精品一区二区三区蜜桃久| 亚洲蜜桃精久久久久久久| 一区二区欧美日韩视频| 亚洲一区二区免费| 小黄鸭精品aⅴ导航网站入口| 欧美一区不卡| 久久久久久久网| 欧美99久久| 欧美喷水视频| 国产精品三级久久久久久电影| 欧美日韩综合在线| 久热精品在线视频| 欧美好骚综合网| 欧美日韩另类字幕中文| 国产精品久久久久999| 国产深夜精品福利| 亚洲高清资源综合久久精品| 日韩视频精品在线| 亚洲欧美日韩精品久久亚洲区| 欧美一区二区高清| 亚洲国产小视频在线观看| 99国产精品久久久久久久成人热| 亚洲制服丝袜在线| 久久精品在这里| 欧美韩日一区| 国产精品一区视频| 在线免费观看欧美| 国产精品99久久99久久久二8| 欧美伊久线香蕉线新在线| 亚洲精品欧美激情| 午夜亚洲性色福利视频| 免费亚洲婷婷| 国产精品色午夜在线观看| 在线播放日韩专区| 亚洲图片欧美午夜| 久久日韩粉嫩一区二区三区| 亚洲成色777777女色窝| 日韩一级精品| 欧美资源在线观看| 一区二区三区欧美| 久久久青草婷婷精品综合日韩| 欧美日韩国产精品一区| 国产日韩精品视频一区| 亚洲欧洲三级| 欧美专区日韩视频| 亚洲一区二区精品视频| 久热精品在线视频| 国产精品欧美精品| 亚洲精选在线观看| 欧美在线999| 亚洲免费视频成人| 欧美华人在线视频| 国产精品一级| 亚洲国产婷婷综合在线精品| 午夜精品婷婷| 亚洲午夜av| 欧美国产日本韩| 国内精品久久久久影院优| 宅男66日本亚洲欧美视频| 欧美怡红院视频| 亚洲专区欧美专区| 欧美日韩爆操| 尹人成人综合网| 西西人体一区二区| 亚洲一区在线直播| 欧美精品在线极品| 在线日韩av| 久久av在线| 欧美在线亚洲| 国产精品户外野外| 亚洲精品一区二区三区av| 亚洲国产欧美一区二区三区同亚洲| 欧美一级在线播放| 欧美网站在线| 亚洲美女电影在线| 亚洲精品视频免费观看| 老司机午夜精品| 国产一区免费视频| 亚洲——在线| 一区二区三区.www| 欧美精品免费在线观看| 亚洲激情成人在线| 亚洲茄子视频| 欧美成人午夜激情在线| 影音先锋中文字幕一区二区| 久久激情视频| 一本色道久久88亚洲综合88| 99亚洲精品| 99精品99久久久久久宅男| 亚洲日本aⅴ片在线观看香蕉| 亚洲欧美日韩精品| 亚洲男人影院| 亚洲欧美在线播放| 亚洲激情一区| 亚洲黄色小视频| 亚洲另类在线视频| 国内精品久久久久伊人av| 欧美日一区二区在线观看 | 一区二区三区欧美成人| 好看的av在线不卡观看| 在线看国产日韩| 亚洲国产精品久久人人爱蜜臀 | 亚洲视频一区在线| 欧美另类亚洲| 99国产精品国产精品久久| 一区二区日韩欧美| 欧美午夜片在线观看| 亚洲一区二区三区免费视频| 亚洲一区国产| 国产精品一区二区久久国产| 亚洲欧美在线视频观看| 久久狠狠亚洲综合| 久久国内精品自在自线400部| 亚洲乱码久久| 99在线精品视频在线观看| 欧美精品九九| 日韩亚洲精品在线| 亚洲一区二区高清视频| 日韩午夜在线视频| 一本久久精品一区二区| 欧美色一级片| 亚洲欧美日产图| 久久久久久久久久久久久女国产乱| 经典三级久久| 亚洲美女黄色| 国产精品久久国产精品99gif| 中国成人亚色综合网站| 欧美一区二区三区免费观看视频| 国产亚洲综合精品| 亚洲裸体视频| 国产精品久久久久久亚洲调教| 亚洲黄色毛片| 一区二区三区回区在观看免费视频| 亚洲免费人成在线视频观看| 国产欧美日韩视频| 亚洲黄网站黄| 国产精品成人午夜| 欧美在线免费播放| 欧美日韩国产二区| 午夜在线精品| 欧美成人综合一区| 中文在线资源观看网站视频免费不卡 | 国产精品日日摸夜夜添夜夜av| 中文国产成人精品| 国产精品久久久久99| 亚洲私人黄色宅男| 国产精品制服诱惑| 久久精品av麻豆的观看方式| 亚洲黄色成人| 欧美精品一区二区视频| 这里只有精品视频| 久久久免费精品视频| 亚洲精品在线一区二区| 欧美一区=区| 亚洲国产成人久久| 亚洲日本视频| 亚洲国产精品久久久| 亚洲社区在线观看| 国产日韩欧美亚洲一区| 最新日韩在线视频| 国产精品乱码人人做人人爱| 亚洲电影免费在线观看| 国产精品videossex久久发布| 欧美综合国产| 国产精品久久久久久户外露出| 亚洲国产欧洲综合997久久| 国产精品久久久久久av下载红粉| 亚洲国产成人久久综合| 国产精品热久久久久夜色精品三区| 亚洲黄色免费电影| 国产日韩av一区二区| 亚洲视频第一页| 伊人影院久久| 欧美影院成人| 夜夜嗨av一区二区三区网站四季av | 欧美成人免费全部| 先锋影音一区二区三区| 欧美视频一区| 亚洲精品一区二| 狠狠色狠狠色综合日日tαg| 亚洲欧美日韩国产综合|