Hadoop伴隨大數(shù)據(jù)一同火爆起來。現(xiàn)如今,Hadoop已經(jīng)無人不知無人不曉。Hadoop從它一誕生的那天開始就與大數(shù)據(jù)深深地關聯(lián)到了一起。眾所周知,大數(shù)據(jù)多是出現(xiàn)在這些領域,包括金融、電信、保險以及一些大型互聯(lián)網(wǎng)企業(yè)等。以電信行業(yè)為例,Hadoop在這些領域的應用情況是怎么樣的呢?
電信業(yè)Hadoop應用分析
昨日,聯(lián)通研究院處長王志軍在第七屆“開源中國 開源世界”高峰論壇上分享了Hadoop在電信行業(yè)大數(shù)據(jù)應用的經(jīng)驗。
隨著國內(nèi)3G網(wǎng)絡的發(fā)展,或者移動通信網(wǎng)絡的發(fā)展,中國聯(lián)通目前運營著世界上最大的CDMA網(wǎng)絡,流量運營是中國聯(lián)通一個重要特點。中國聯(lián)通3G套餐當中流量占比非常非常大,中國聯(lián)通3G用戶流量使用情況也是非常可觀的。而目前中國聯(lián)通遇到一個世紀問題:隨著流量的增長,3G流量的爭議也迅速的增加。現(xiàn)在3G業(yè)務在流量方面的投訴達到了投訴的7-10%,并且最近這半年還在成迅猛的上升趨勢,各個省份已經(jīng)達到了20%。
投訴來源于哪兒呢?
一些用戶,特別是一些移動智能手機用戶,聯(lián)通研究院處長王志軍以自己為例說明。如我的安卓手機,前一陣子谷歌安卓4.0出來之后發(fā)布了新的版本,我的手機在某一天下午某一個時刻進行了自動更新,基本有200兆大小的流量的產(chǎn)生。
如果是普通的3G用戶,中國聯(lián)通資費0.3元/兆,當套餐用光了之后,這次更新可能花費60元,這種更新是在不自覺情況下發(fā)生的,用戶毫不知情。所以,最終致使用戶到中國聯(lián)通進行投訴:用戶認為自己沒有使用這個流量,向聯(lián)通要證據(jù)。
目前,電信計費系統(tǒng)流量話單在GGSN設備上產(chǎn)生,是網(wǎng)關設備。這個設備產(chǎn)生流量話單的時候是根據(jù)一個流量依據(jù)而產(chǎn)生:
第一,達到一定時間,例如2個小時。
第二,達到一定流量大小,比如5兆。
這個流量話單相當于一段時間之內(nèi)使用流量總合的話單,沒有說訪問哪個目標的IP地質(zhì),沒有訪問的目的地,只告訴你這個時刻產(chǎn)生了這樣的話單,用戶當然不愿意,用戶說我那天沒有使用過手機,沒有產(chǎn)生這個流量,這樣情況下用戶要求退費,或者雙倍賠償,GSN設備,無論是中國聯(lián)通也好,還是其他運營商也好,采用設備可能來子華為、阿爾卡特,這些設備在全球商用了,GGSN產(chǎn)生的話單在一定意義上之上,出現(xiàn)這種問題是微乎其微的,說不清流量到哪兒去了,運營商作為弱勢群體,只能退費或者雙倍賠償。
運營商的難言之隱
聯(lián)通研究院處長王志軍以一個案例進行說明,2011年,中國聯(lián)通一個用戶在0點到4點之間產(chǎn)生巨額流量費用,他認為中國聯(lián)通既然拿不出證據(jù),以涉嫌欺詐消費者為由向法院提起了訴訟,影響是兩方面的。
對用戶而言,他也是想知道流量到底什么時候發(fā)生的,如果手機的問題,他也知道怎么進行防范,這樣就不會發(fā)生類似問題,根據(jù)客戶部門提供的數(shù)據(jù),可能因為無法提供商網(wǎng)流量詳單造成退費和賠付,會影響到運營商流量計費商務模式,所以我們建立這種系統(tǒng)意義非常大,第一,我們的系統(tǒng)供聯(lián)通客服人員使用,提供快速查詢服務,解決流量投訴的問題,另外,我們也準備向最終用戶提供異常的大流量查詢服務。再一個問題,上網(wǎng)記錄數(shù)據(jù)本身是數(shù)據(jù)的金礦,我們可以通過獲取上網(wǎng)數(shù)據(jù)記錄對流量進行統(tǒng)計。
海量數(shù)據(jù)的應對之策
對于以上這些問題該如何應對呢?聯(lián)通研究院處長王志軍分析處理問題的難點:上網(wǎng)記錄數(shù)據(jù)是海量數(shù)據(jù),經(jīng)過我們的系統(tǒng)可以分析到,用戶每個用上網(wǎng)記錄基本幾萬到幾十萬,有的用戶五六十萬,我們現(xiàn)在采用的方案是在網(wǎng)關所有用戶流量必經(jīng)地方采集,分析流量數(shù)據(jù),然后上成上網(wǎng)記錄話單,話單量非常大。
聯(lián)通研究院處長王志軍表示,例如用移動手機訪問新浪網(wǎng)首頁,對流量采集設備基本能生成20條左右上網(wǎng)記錄話單,如果點iPad新聞鏈接,恐怕會產(chǎn)生180條上網(wǎng)記錄,如果訪問淘寶網(wǎng)首頁,會產(chǎn)生60條請求和回應,在手機上網(wǎng)記錄當中有大量DNS查詢和推送服務。以中國聯(lián)通某一個中等省份公司為例,日均上網(wǎng)記錄達到10億條,每個月的數(shù)據(jù)接近9T,整個移動互聯(lián)網(wǎng)也在快速發(fā)展。
根據(jù)中國聯(lián)通統(tǒng)計,每隔6個月中國聯(lián)通用戶整體上網(wǎng)流量會翻一番,去年平均3G每用戶的流量一年之內(nèi)翻一番,整個流量增長非常迅速,也帶來了上網(wǎng)記錄的量非常非常大。
傳統(tǒng)IOE方式,IBM小型機,思科數(shù)據(jù)庫存儲,EMC存儲,思科數(shù)據(jù)庫存儲這么大上網(wǎng)記錄時候已經(jīng)不可能了,所以,聯(lián)想采用開源的Hadoop解決,Hadoop本身是系統(tǒng)架構,也是開源項目,由Apache基金會開發(fā),Hadoop本身最底層是分布式文件系統(tǒng),這個分布式文件系統(tǒng)叫HDFL,在它之上有分布式處理框架,基于Hadoop整個開源項目,上面構建了結(jié)構化的訪問數(shù)據(jù)庫,在這之上又提供了類似的數(shù)據(jù)挖掘工具,另外也提供了一些分布式同步,以及遠程調(diào)用和序列化工具。
Hadoop+HBase+ MapReduce
對于Hadoop分布式文件系統(tǒng)本身來說,重要的出發(fā)點在于硬件故障是常態(tài),不是非異常的狀態(tài),我們可以摒棄采用IBM小型機方案,Hadoop中數(shù)據(jù)可以自動復制,一份數(shù)據(jù)可以復制成三份,第一份在一臺服務器上,第二份數(shù)據(jù)在另外一臺機架的另外一臺服務器上,第三份數(shù)據(jù)可能在另外一臺機架的另外一臺服務器上,作為分布式文件系統(tǒng),每次請求寫入的磁盤和服務器物理地點可能不一樣,可以帶來高并發(fā)的讀寫請求。
MapReduce框架分成很多數(shù)據(jù)級,最后再合并處理。HBase分布式數(shù)據(jù)庫是分布式存儲系統(tǒng),主要特點在正它是四維存儲系統(tǒng),傳統(tǒng)的數(shù)據(jù)庫是二維表的結(jié)構,有行、有列,對它來說,除了有行之外,有列的概念,在列和行之間又可以存放多個版本,在這種情況下相當于四維表結(jié)構,好處在于可以靈活的表格結(jié)構,每個列組里面的列后來都可以隨機應變,我們的采集系統(tǒng)現(xiàn)在在采集一些字段,未來的發(fā)展過程中,為了數(shù)據(jù)挖掘的需要,會采集更多的字段,方便我們在一個結(jié)構之下進行更多信息的存儲以及后續(xù)的處理工作。
HBase本身利用自動復制機制保證Hbase本身存儲的高可靠性。我們會做一些數(shù)據(jù)挖掘工作,除了采用MapReduce技術之外,還采用數(shù)據(jù)倉庫技術,針對海量數(shù)據(jù)進行高性能查詢和分析工作。中國聯(lián)通已經(jīng)構建了一個全國集中的一級架構海量數(shù)據(jù)存儲和查詢系統(tǒng),第一,是一級架構,全國所有用戶所有上網(wǎng)記錄數(shù)據(jù)都放北京數(shù)據(jù)中心里,在國內(nèi)電信行業(yè)當中也是首創(chuàng)的方式。
另外一個方式,首先將開源Hadoop、Hbase技術應用商用電信服務系統(tǒng)中來,開源的軟件架構基本上沒有商用系統(tǒng)的,但是這次是商用系統(tǒng),系統(tǒng)的構成,包括數(shù)據(jù)采集、數(shù)據(jù)入庫、數(shù)據(jù)存儲、數(shù)據(jù)查詢和數(shù)據(jù)分析技術,基本技術采用Hadoop,目前上網(wǎng)記錄數(shù)據(jù)存儲一般不小于30分鐘,30分鐘之前的上網(wǎng)記錄現(xiàn)在可以通過我們系統(tǒng)查詢到。
在實際使用過程中,聯(lián)通發(fā)現(xiàn)約10分鐘的記錄可以查到,用HBase處理這么海量的數(shù)據(jù)時候,入庫速度非常非常迅速,另外查詢速度也非常非常迅速。另外系統(tǒng)的存儲不少于6個月原始上網(wǎng)記錄能力,中間的統(tǒng)計報表會保存不少于5年,現(xiàn)在的數(shù)據(jù)查詢速度,查詢一個用戶上網(wǎng)記錄,比如有幾萬條記錄,在幾千億條記錄當中檢索的時間小于一秒鐘,當然,這個時間不包括查詢頁面的時間。
這是上網(wǎng)記錄詳單內(nèi)容,存儲了很多用戶上網(wǎng)記錄信息,隨著系統(tǒng)的發(fā)展,為了數(shù)據(jù)挖掘的需要,聯(lián)通會進一步提取更多信息存到上網(wǎng)記錄系統(tǒng)當中來。
Hadoop三節(jié)點 控制數(shù)據(jù)
整個系統(tǒng)部署情況是這樣的,我們采用普通PC服務器部署這個系統(tǒng),Hadoop本身有三個節(jié)點,一個是數(shù)據(jù)存儲節(jié)點,現(xiàn)在有178個數(shù)據(jù)存儲節(jié)點,每個數(shù)據(jù)存儲節(jié)點有14T的容量,集群的監(jiān)控節(jié)點有一臺,入庫服務節(jié)點24臺,Web查詢應用服務節(jié)點20臺,在同一個機架上的數(shù)據(jù)交換采用千兆交換機。這是查詢系統(tǒng)的界面,用戶詳細信息都可以通過這個系統(tǒng)查詢出來。
在目前情況下,現(xiàn)在已經(jīng)部署完成了4個省份,北京、黑龍江、浙江、重慶,四個省份所有用戶上網(wǎng)記錄都可以上來,每天入庫條數(shù)超過42億條用戶上網(wǎng)數(shù)據(jù)記錄,每天入庫數(shù)據(jù)量超過1.2T,在這種數(shù)據(jù)量的情況下,現(xiàn)在已經(jīng)保存了幾個月的上網(wǎng)記錄數(shù)據(jù),在這種情況下,上網(wǎng)記錄數(shù)據(jù)保存在一張表當中,保存4個省的數(shù)據(jù),一個月可能超過1200億條的數(shù)據(jù),在這種情況下,在1200億條數(shù)據(jù)當中檢索一個用戶數(shù)據(jù)會達到不小于一秒,目前1200億條只用到15個數(shù)據(jù)節(jié)點,隨著178個數(shù)據(jù)節(jié)點上線之后,保存全國31省的數(shù)據(jù)以及進行快速入庫、查詢和檢索我們認為都沒有問題。
現(xiàn)在預估,31省上線之后,每個月用戶上網(wǎng)記錄超過8千億條,我們系統(tǒng)明年6月份才可能考慮到下一期擴容工程,在這種情況下,我們相信每個月會有1萬億條數(shù)據(jù),保存6個月用戶數(shù)據(jù),原始數(shù)據(jù)量會超過6萬億條,目前每條上網(wǎng)記錄基本上在300個字節(jié),隨著我們把更多的字段加入進來之后,可能平均每條用戶上網(wǎng)記錄的長度還會增加,可能達到400字節(jié),對整個集群的要求會更高。
聯(lián)通研究院處長王志軍表示,聯(lián)通第一次采用了開源技術,在此之前,在電信行業(yè)當中比較少見。聯(lián)通采用了Hadoop、HBase,這里面還有用戶管理員信息等等。目前,在客服使用當中感覺也是非常非常好的,更重要的是利用這個系統(tǒng)可以做深入的數(shù)據(jù)挖掘工作。
中國聯(lián)通在查詢用戶上網(wǎng)記錄之前會征得用戶的同意,有可能通過口服開頭同意,如果客服后臺查詢的話,我們可能會通知用戶有人要查詢其上網(wǎng)記錄,在安全方面聯(lián)通做了考慮。