亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的系統(tǒng)和方法

文檔序號:8339749閱讀:1054來源:國知局
基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的系統(tǒng)和方法【
技術(shù)領域
】[0001]本發(fā)明涉及網(wǎng)絡通信
技術(shù)領域
,特別涉及一種基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的方法和裝置?!?br>背景技術(shù)
】[0002]隨著信息數(shù)據(jù)的爆炸性增長以及各個行業(yè)業(yè)務的需要,目前出現(xiàn)了分布式系統(tǒng)基礎架構(gòu)Hadoop,Hadoop提供集群的高速運算與海量存儲。[0003]HBase是一個分布式的、面向列的一個具有高可靠性、可伸縮的開源數(shù)據(jù)庫,是Hadoop項目的子項目,就如同Bigtable利用了Google文件系統(tǒng)(FileSystem)所提供的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力。[0004]目前,基于Hadoop可以對海量數(shù)據(jù)進行離線式統(tǒng)計,其實現(xiàn)方式包括:獲取并先緩存海量數(shù)據(jù);對存儲的海量數(shù)據(jù)進行處理;在到達一個上傳周期,比如一個星期后,將處理后的海量數(shù)據(jù)以離線方式上傳到Hadoop的HBase數(shù)據(jù)庫中。[0005]由此可見,在現(xiàn)有技術(shù)中,海量數(shù)據(jù)是以離線方式上傳到HBase數(shù)據(jù)庫中的,因此無法滿足數(shù)據(jù)實時統(tǒng)計的要求?!?br/>發(fā)明內(nèi)容】[0006]本發(fā)明提供一種基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的方法和裝置,能夠?qū)⒑A繑?shù)據(jù)實時統(tǒng)計到HBase數(shù)據(jù)庫中。[0007]一種基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的系統(tǒng),包括:由多個節(jié)點組成的Hadoop集群及Hadoop集群中的Hbase數(shù)據(jù)庫,內(nèi)存數(shù)據(jù)庫;還包括:[0008]網(wǎng)絡數(shù)據(jù)處理單元,用于獲取網(wǎng)絡數(shù)據(jù),對獲取的網(wǎng)絡數(shù)據(jù)進行解析;[0009]入隊單元,用于將解析后的數(shù)據(jù)組織為結(jié)構(gòu)化數(shù)據(jù)格式,存儲到MQ隊列中;[0010]Storm處理單元,用于通過Storm對MQ隊列中的數(shù)據(jù)進行流式計算處理,獲得處理后的數(shù)據(jù),將獲得的處理后的數(shù)據(jù)存入內(nèi)存數(shù)據(jù)庫中;[0011]上傳單元,用于將所述內(nèi)存數(shù)據(jù)庫中預定量的數(shù)據(jù)匯總持久化至Hadoop集群的Hbase數(shù)據(jù)庫中。[0012]所述內(nèi)存數(shù)據(jù)庫包括:Memcached數(shù)據(jù)庫;[0013]所述Storm處理單元,進一步根據(jù)預設的Hbase數(shù)據(jù)庫對應的row-key規(guī)則,將所述獲得的處理后的數(shù)據(jù)存入所述Memcached數(shù)據(jù)庫中。[0014]所述Hadoop集群包括:[0015]I個NameNode節(jié)點,I個SecondaryNameNode節(jié)點,I個zookeeper節(jié)點與18個DateNode節(jié)點。[0016]所述網(wǎng)絡數(shù)據(jù)處理單元包括:[0017]Nutch爬蟲子單元,用于利用Nutch爬蟲獲取網(wǎng)絡數(shù)據(jù);[0018]解析子單元,用于對Nutch爬蟲子單元獲取的網(wǎng)絡數(shù)據(jù)進行清洗和過濾。[0019]所述上傳單元,用于在每當計時到達預設第一時間長度時,將當前第一時間長度內(nèi)存儲到Memcached數(shù)據(jù)庫中的數(shù)據(jù)匯總持久化至Hadoop集群的Hbase數(shù)據(jù)庫中。[0020]一種基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的方法,建立由多個節(jié)點組成的Hadoop集群及Hadoop集群中的Hbase數(shù)據(jù)庫;設置內(nèi)存數(shù)據(jù)庫,包括:[0021]獲取網(wǎng)絡數(shù)據(jù),對獲取的網(wǎng)絡數(shù)據(jù)進行解析;[0022]將解析后的數(shù)據(jù)組織為結(jié)構(gòu)化數(shù)據(jù)格式,存儲到MQ隊列中;[0023]通過Storm對MQ隊列中的數(shù)據(jù)進行流式計算處理,獲得處理后的數(shù)據(jù);[0024]將獲得的處理后的數(shù)據(jù)存入內(nèi)存數(shù)據(jù)庫中;[0025]將內(nèi)存數(shù)據(jù)庫中預定量的數(shù)據(jù)匯總持久化至Hadoop集群的Hbase數(shù)據(jù)庫中。[0026]所述內(nèi)存數(shù)據(jù)庫包括:Memcached數(shù)據(jù)庫;[0027]所述將獲得的處理后的數(shù)據(jù)存入內(nèi)存數(shù)據(jù)庫中包括:[0028]根據(jù)預設的Hbase數(shù)據(jù)庫對應的row-key規(guī)則,將所述獲得的處理后的數(shù)據(jù)存入Memcached數(shù)據(jù)庫中。[0029]所述建立由多個節(jié)點組成的Hadoop集群包括:[0030]利用21個節(jié)點組成Hadoop集群,所述21個節(jié)點包括I個NameNode節(jié)點,I個SecondaryNameNode節(jié)點,I個zookeeper節(jié)點與18個DateNode節(jié)點。[0031]所述獲取網(wǎng)絡數(shù)據(jù),對獲取的網(wǎng)絡數(shù)據(jù)進行解析包括:[0032]由Nutch爬蟲對獲取的網(wǎng)絡數(shù)據(jù)進行清洗和過濾。[0033]所述預定量的數(shù)據(jù)為在預設的第一時間長度內(nèi)存儲到Memcached數(shù)據(jù)庫中的數(shù)據(jù)。[0034]可見,本發(fā)明實施例提供的一種基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的系統(tǒng)和方法,能夠針對海量數(shù)據(jù)建立Hadoop集群及Hbase數(shù)據(jù)庫,在獲取到網(wǎng)絡數(shù)據(jù)后,通過MQ隊列、Storm流式計算的配合,能夠使得獲取到的網(wǎng)絡數(shù)據(jù)逐一進入MQ隊列,Storm再從MQ隊列中逐一取出數(shù)據(jù)進行流式計算處理,這樣,通過MQ隊列與Storm的配合,則完成了對海量數(shù)據(jù)的實時處理,并且,為了保證實時存儲的實現(xiàn),還將Storm處理后的數(shù)據(jù)先存入內(nèi)存數(shù)據(jù)庫中,然后再從內(nèi)存數(shù)據(jù)庫中匯總至Hbase數(shù)據(jù)庫中,這樣,則大大提高了數(shù)據(jù)存儲速度,保證了海量數(shù)據(jù)能夠被實時統(tǒng)計到Hbase數(shù)據(jù)庫中?!靖綀D說明】[0035]圖1是本發(fā)明一個實施例中基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的方法的流程圖。[0036]圖2是本發(fā)明另一個實施例中基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的方法的流程圖。[0037]圖3是圖2所示的本發(fā)明實施例的處理示意圖。[0038]圖4是本發(fā)明一個實施例中基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的系統(tǒng)的結(jié)構(gòu)示意圖?!揪唧w實施方式】[0039]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。[0040]本發(fā)明一個實施例提出了一種基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的方法,參見圖1,該方法包括:[0041]步驟101:建立由多個節(jié)點組成的Hadoop集群及Hadoop集群中的Hbase數(shù)據(jù)庫;[0042]步驟102:設置內(nèi)存數(shù)據(jù)庫;[0043]步驟103:獲取網(wǎng)絡數(shù)據(jù),對獲取的網(wǎng)絡數(shù)據(jù)進行解析;[0044]步驟104:將解析后的數(shù)據(jù)組織為結(jié)構(gòu)化數(shù)據(jù)格式,存儲到MQ隊列中;[0045]步驟105:通過Storm對MQ隊列中的數(shù)據(jù)進行流式計算處理,獲得處理后的數(shù)據(jù);[0046]步驟106:將獲得的處理后的數(shù)據(jù)存入內(nèi)存數(shù)據(jù)庫中;[0047]步驟107:將內(nèi)存數(shù)據(jù)庫中預定量的數(shù)據(jù)匯總持久化至Hadoop集群的Hbase數(shù)據(jù)庫中。[0048]可見,本發(fā)明實施例提供的一種基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的系統(tǒng)和方法,能夠針對海量數(shù)據(jù)建立Hadoop集群及Hbase數(shù)據(jù)庫,在獲取到網(wǎng)絡數(shù)據(jù)后,通過MQ隊列、Storm流式計算的配合,能夠使得獲取到的網(wǎng)絡數(shù)據(jù)逐一進入MQ隊列,Storm再從MQ隊列中逐一取出數(shù)據(jù)進行流式計算處理,這樣,通過MQ隊列與Storm的配合,則完成了對海量數(shù)據(jù)的實時處理,并且,為了保證實時存儲的實現(xiàn),還將Storm處理后的數(shù)據(jù)先存入內(nèi)存數(shù)據(jù)庫中,然后再從內(nèi)存數(shù)據(jù)庫中匯總至Hbase數(shù)據(jù)庫中,這樣,則大大提高了數(shù)據(jù)存儲速度??梢?,本發(fā)明實施例保證了海量數(shù)據(jù)能夠被實時統(tǒng)計到Hbase數(shù)據(jù)庫中。[0049]在本發(fā)明一個實施例中,內(nèi)存數(shù)據(jù)庫可以為多種類型的數(shù)據(jù)庫,比如可以包括:Memcached數(shù)據(jù)庫;[0050]為了進一步提高數(shù)據(jù)被存儲到Hbase數(shù)據(jù)庫中的效率,在將獲得的處理后的數(shù)據(jù)存入內(nèi)存數(shù)據(jù)庫中時,具體可以是根據(jù)預設的Hbase數(shù)據(jù)庫對應的row-key規(guī)則,將所述獲得的處理后的數(shù)據(jù)存入Memcached數(shù)據(jù)庫中。[0051]在本發(fā)明一個實施例中,建立由多個節(jié)點組成的Hadoop集群包括:[0052]利用21個節(jié)點組成Hadoop集群,所述21個節(jié)點包括I個NameNode節(jié)點,I個SecondaryNameNode節(jié)點,I個zookeeper節(jié)點與18個DateNode節(jié)點。[0053]在本發(fā)明一個實施例中,所述獲取網(wǎng)絡數(shù)據(jù),對獲取的網(wǎng)絡數(shù)據(jù)進行解析包括:由Nutch爬蟲從網(wǎng)頁上獲取網(wǎng)絡數(shù)據(jù),并對獲取的網(wǎng)絡數(shù)據(jù)進行清洗和過濾等處理。[0054]在本發(fā)明一個實施例中,可以定時將內(nèi)存數(shù)據(jù)庫中的數(shù)據(jù)持久化到Hbase數(shù)據(jù)庫中。此時,上述預定量的數(shù)據(jù)為在預設的第一時間長度內(nèi)存儲到Memcached數(shù)據(jù)庫中的數(shù)據(jù)。[0055]本發(fā)明另一個實施例也提出了一種基于Hadoop對海量數(shù)據(jù)進行實時統(tǒng)計的方法,參見圖2,該方法包括:[0056]步驟201:搭建Hadoop大數(shù)據(jù)平臺,利用21個節(jié)點組成Hadoop集群,從21個節(jié)點組成的集群中,設置I個NameNode節(jié)點,I個SecondaryNameNode節(jié)點,I個zookeeper節(jié)點與18個DateNode節(jié)點;并且,建立出Hadoop集群中的Hbase數(shù)據(jù)庫。[0057]步驟202:預先設置Memcached數(shù)據(jù)庫。[00當前第1頁1 2 
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1