智慧數據:大數據應用解決方案(圖文)
http://www.360doc.com/showweb/0/0/789569893.aspx
一、大數據概述
1.1.概述
大數據,IT行業的又一次技術變革,大數據的浪潮洶涌而至,對國家治理、企業決策和個人生活都在產生深遠的影響,并將成為云計算、物聯網之后信息技術產業領域又一重大創新變革。未來的十年將是一個“大數據”引領的智慧科技的時代、隨著社交網絡的逐漸成熟,移動帶寬迅速提升、云計算、物聯網應用更加豐富、更多的傳感設備、移動終端接入到網絡,由此而產生的數據及增長速度將比歷史上的任何時期都要多、都要快。
數據技術發展歷史如圖一所示:
圖一
1.2.大數據定義
“大數據”是一個涵蓋多種技術的概念,簡單地說,是指無法在一定時間內用常規軟件工具對其內容進行抓取、管理和處理的數據集合。IBM將“大數據”理念定義為4個V,即大量化(Volume)、多樣化(Variety)、快速化(Velocity)及由此產生的價值(Value)。
如圖二:
圖二
要理解大數據這一概念,首先要從'大'入手,'大'是指數據規模,大數據一般指在10TB(1TB=1024GB)規模以上的數據量。大數據同過去的海量數據有所區別,其基本特征可以用4個V來總結(Volume、Variety、Value和Velocity),即體量大、多樣性、價值密度低、速度快。
1)Volume數據體量巨大。從TB級別,躍升到PB級別。
2)Variety數據類型繁多,如前文提到的網絡日志、視頻、圖片、地理位置信息,等等。
3)Value價值密度低。以視頻為例,連續不間斷監控過程中,可能有用的數據僅僅有一兩秒。
4)Velocity處理速度快。1秒定律。最后這一點也是和傳統的數據挖掘技術有著本質的不同。物聯網、云計算、移動互聯網、車聯網、手機、平板電腦、PC以及遍布地球各個角落的各種各樣的傳感器,無一不是數據來源或者承載的方式。
大數據技術是指從各種各樣類型的巨量數據中,快速獲得有價值信息的技術。解決大數據問題的核心是大數據技術。目前所說的'大數據'不僅指數據本身的規模,也包括采集數據的工具、平臺和數據分析系統。大數據研發目的是發展大數據技術并將其應用到相關領域,通過解決巨量數據處理問題促進其突破性發展。因此,大數據時代帶來的挑戰不僅體現在如何處理巨量數據從中獲取有價值的信息,也體現在如何加強大數據技術研發,搶占時代發展的前沿。
1.3.大數據技術發展
大數據技術描述了一種新一代技術和構架,用于以很經濟的方式、以高速的捕獲、發現和分析技術,從各種超大規模的數據中提取價值,而且未來急劇增長的數據迫切需要尋求新的處理技術手段。
如圖三所示:
圖三
在“大數據”(Bigdata)時代,通過互聯網、社交網絡、物聯網,人們能夠及時全面地獲得大信息。同時,信息自身存在形式的變化與演進,也使得作為信息載體的數據以遠超人們想象的速度迅速膨脹。
云時代的到來使得數據創造的主體由企業逐漸轉向個體,而個體所產生的絕大部分數據為圖片、文檔、視頻等非結構化數據。信息化技術的普及使得企業更多的辦公流程通過網絡得以實現,由此產生的數據也以非結構化數據為主。預計到2012年,非結構化數據將達到互聯網整個數據量的75%以上。用于提取智慧的“大數據”,往往是這些非結構化數據。傳統的數據倉庫系統、BI、鏈路挖掘等應用對數據處理的時間要求往往以小時或天為單位。但“大數據”應用突出強調數據處理的實時性。在線個性化推薦、股票交易處理、實時路況信息等數據處理時間要求在分鐘甚至秒級。
全球技術研究和咨詢公司Gartner將“大數據”技術列入2012年對眾多公司和組織機構具有戰略意義的十大技術與趨勢之一,而其他領域的研究,如云計算、下一代分析、內存計算等也都與“大數據”的研究相輔相成。Gartner在其新興技術成熟度曲線中將“大數據”技術視為轉型技術,這意味著“大數據”技術將在未來3—5年內進入主流。
而“大數據”的多樣性決定了數據采集來源的復雜性,從智能傳感器到社交網絡數據,從聲音圖片到在線交易數據,可能性是無窮無盡的。選擇正確的數據來源并進行交叉分析可以為企業創造最顯著的利益。隨著數據源的爆發式增長,數據的多樣性成為“大數據”應用亟待解決的問題。例如如何實時地及通過各種數據庫管理系統來安全地訪問數據,如何通過優化存儲策略,評估當前的數據存儲技術并改進、加強數據存儲能力,最大限度地利用現有的存儲投資。從某種意義上說,數據將成為企業的核心資產。
“大數據”不僅是一場技術變革,更是一場商業模式變革。在“大數據”概念提出之前,盡管互聯網為傳統企業提供了一個新的銷售渠道,但總體來看,二者平行發展,鮮有交集。我們可以看到,無論是Google通過分析用戶個人信息,根據用戶偏好提供精準廣告,還是Facebook將用戶的線下社會關系遷移在線上,構造一個半真實的實名帝國,但這些商業和消費模式仍不能脫離互聯網,傳統企業仍無法嫁接到互聯網中。同時,傳統企業通過傳統的用戶分析工具卻很難獲得大范圍用戶的真實需求。
企業從大規模制造過渡到大規模定制,必須掌握用戶的需求特點。在互聯網時代,這些需求特征往往是在用戶不經意的行為中透露出來的。通過對信息進行關聯、參照、聚類、分類等方法分析,才能得到答案。
“大數據”在互聯網與傳統企業間建立一個交集。它推動互聯網企業融合進傳統企業的供應鏈,并在傳統企業種下互聯網基因。傳統企業與互聯網企業的結合,網民和消費者的融合,必將引發消費模式、制造模式、管理模式的巨大變革。
大數據正成為IT行業全新的制高點,各企業和組織紛紛助推大數據的發展,相關技術呈現百花齊放局面,并在互聯網應用領域嶄露頭角,具體情況如下圖四所示:
圖四
大數據將帶來巨大的技術和商業機遇,大數據分析挖掘和利用將為企業帶來巨大的商業價值,而隨著應用數據規模急劇增加,傳統計算面臨嚴重挑戰,大規模數據處理和行業應用需求日益增加和迫切出現越來越多的大規模數據處理應用需求,傳統系統難以提供足夠的存儲和計算資源進行處理,云計算技術是最理想的解決方案。
調查顯示:目前,IT專業人員對云計算中諸多關鍵技術最為關心的是大規模數據并行處理技術大數據并行處理沒有通用和現成的解決方案對于應用行業來說,云計算平臺軟件、虛擬化軟件都不需要自己開發,但行業的大規模數據處理應用沒有現成和通用的軟件,需要針對特定的應用需求專門開發,涉及到諸多并行化算法、索引查詢優化技術研究、以及系統的設計實現,這些都為大數據處理技術的發展提供了巨大的驅動力,
二、大數據應用
2.1.大數據應用闡述
大數據能做什么?我們那么多地方探討大數據,無非總結下來就做三件事:
第一,對信息的理解。你發的每一張圖片、每一個新聞、每一個廣告,這些都是信息,你對這個信息的理解是大數據重要的領域。
第二,用戶的理解,每個人的基本特征,你的潛在的特征,每個用戶上網的習慣等等,這些都是對用戶的理解。
第三,關系。關系才是我們的核心,信息與信息之間的關系,一條微博和另外一條微博之間的關系,一個廣告和另外一個廣告的關系。一條微博和一個視頻之間的關系,這些在我們肉眼去看的時候是相對簡單的。
比如有條微博說這兩天朝鮮綁架我們船的事,那條微博也大概是談這件事的。人眼一眼就能看出來。但是用機器怎么能看出來這是一件事,以及他們之間的因果關系,這是很有難度的。
然后就是用戶與用戶之間的關系。哪些人你愿意收聽,是你的朋友,哪些是你感興趣的領域,你是一個音樂達人,你是一個吃貨,那個用戶也是一個吃貨,你愿意收聽他。這就是用戶與用戶之間的關系理解。還有用戶與信息之間的理解,就是你對哪一類型的微博感興趣,你對哪一類型的信息感興趣,如果牽扯到商業化,你對哪一類的廣告或者商品感興趣。其實就是用戶與信息之間的關系,他無非是做這件事。
大數據說的那么懸,其實主要是做三件事:對用戶的理解、對信息的理解、對關系的理解。如果我們在這三件事之間還要提一件事的話,一個叫趨勢。他也是關系的一種變種,只是關系稍微遠一點,情感之間的分析,還有我們政府部門做的輿情監控。他可以監控大規模的數據,可以分析出人的動向。在美國的好萊塢,這兩年也是基于FACEBOOK和TIWTTER的數據來預測即將上映的電影的票房。他也是一個趨勢的分析,只是我們把這個趨勢提前來。核心就是這三件事。
2.2.大數據應用架構
2.3.大數據行業應用
2.3.1.醫療行業
1.SetonHealthcare是采用IBM最新沃森技術醫療保健內容分析預測的首個客戶。該技術允許企業找到大量病人相關的臨床醫療信息,通過大數據處理,更好地分析病人的信息。
2.在加拿大多倫多的一家醫院,針對早產嬰兒,每秒鐘有超過3000次的數據讀取。通過這些數據分析,醫院能夠提前知道哪些早產兒出現問題并且有針對性地采取措施,避免早產嬰兒夭折。
3.它讓更多的創業者更方便地開發產品,比如通過社交網絡來收集數據的健康類App。也許未來數年后,它們搜集的數據能讓醫生給你的診斷變得更為精確,比方說不是通用的成人每日三次一次一片,而是檢測到你的血液中藥劑已經代謝完成會自動提醒你再次服藥。
2.3.2.能源行業
1.智能電網現在歐洲已經做到了終端,也就是所謂的智能電表。在德國,為了鼓勵利用太陽能,會在家庭安裝太陽能,除了賣電給你,當你的太陽能有多余電的時候還可以買回來。通過電網收集每隔五分鐘或十分鐘收集一次數據,收集來的這些數據可以用來預測客戶的用電習慣等,從而推斷出在未來2~3個月時間里,整個電網大概需要多少電。有了這個預測后,就可以向發電或者供電企業購買一定數量的電。因為電有點像期貨一樣,如果提前買就會比較便宜,買現貨就比較貴。通過這個預測后,可以降低采購成本。
2.維斯塔斯風力系統,依靠的是BigInsights軟件和IBM超級計算機,然后對氣象數據進行分析,找出安裝風力渦輪機和整個風電場最佳的地點。利用大數據,以往需要數周的分析工作,現在僅需要不足1小時便可完成。
2.3.3.通信行業
1.XOCommunications通過使用IBMSPSS預測分析軟件,減少了將近一半的客戶流失率。XO現在可以預測客戶的行為,發現行為趨勢,并找出存在缺陷的環節,從而幫助公司及時采取措施,保留客戶。此外,IBM新的Netezza網絡分析加速器,將通過提供單個端到端網絡、服務、客戶分析視圖的可擴展平臺,幫助通信企業制定更科學、合理決策。
2.電信業者透過數以千萬計的客戶資料,能分析出多種使用者行為和趨勢,賣給需要的企業,這是全新的資料經濟。
3.中國移動通過大數據分析,對企業運營的全業務進行針對性的監控、預警、跟蹤。系統在第一時間自動捕捉市場變化,再以最快捷的方式推送給指定負責人,使他在最短時間內獲知市場行情。
4.NTTdocomo把手機位置信息和互聯網上的信息結合起來,為顧客提供附近的餐飲店信息,接近末班車時間時,提供末班車信息服務。
2.3.4.零售業
1.'我們的某個客戶,是一家領先的專業時裝零售商,通過當地的百貨商店、網絡及其郵購目錄業務為客戶提供服務。公司希望向客戶提供差異化服務,如何定位公司的差異化,他們通過從Twitter和Facebook上收集社交信息,更深入的理解化妝品的營銷模式,隨后他們認識到必須保留兩類有價值的客戶:高消費者和高影響者。希望通過接受免費化妝服務,讓用戶進行口碑宣傳,這是交易數據與交互數據的完美結合,為業務挑戰提供了解決方案。'Informatica的技術幫助這家零售商用社交平臺上的數據充實了客戶主數據,使他的業務服務更具有目標性。
2.零售企業也監控客戶的店內走動情況以及與商品的互動。它們將這些數據與交易記錄相結合來展開分析,從而在銷售哪些商品、如何擺放貨品以及何時調整售價上給出意見,此類方法已經幫助某領先零售企業減少了17%的存貨,同時在保持市場份額的前提下,增加了高利潤率自有品牌商品的比例。
三、大數據解決方案
3.1.大數據技術組成
大數據技術由四種技術構成,它們包括:
3.1.1.分析技術
分析技術意味著對海量數據進行分析以實時得出答案,由于大數據的特殊性,大數據分析技術還處于發展階段,老技術會日趨完善,新技術會更多出現。大數據分析技術涵蓋了以下的的五個方面
3.1.1.1.可視化分析
數據可視化無論對于普通用戶或是數據分析專家,都是最基本的功能。數據圖像化可以讓數據自己說話,讓用戶直觀的感受到結果。
3.1.1.2.數據挖掘算法
圖像化是將機器語言翻譯給人看,而數據挖掘就是機器的母語。分割、集群、孤立點分析還有各種各樣五花八門的算法讓我們精煉數據,挖掘價值。這些算法一定要能夠應付大數據的量,同時還具有很高的處理速度。
3.1.1.3.預測分析能力
數據挖掘可以讓分析師對數據承載信息更快更好地消化理解,進而提升判斷的準確性,而預測性分析可以讓分析師根據圖像化分析和數據挖掘的結果做出一些前瞻性判斷。
3.1.1.4.語義引擎
非結構化數據的多元化給數據分析帶來新的挑戰,我們需要一套工具系統的去分析,提煉數據。語義引擎需要設計到有足夠的人工智能以足以從數據中主動地提取信息。
3.1.1.5.數據質量和數據管理
數據質量與管理是管理的最佳實踐,透過標準化流程和機器對數據進行處理可以確保獲得一個預設質量的分析結果。
我們知道大數據分析技術最初起源于互聯網行業。網頁存檔、用戶點擊、商品信息、用戶關系等數據形成了持續增長的海量數據集。這些大數據中蘊藏著大量可以用于增強用戶體驗、提高服務質量和開發新型應用的知識,而如何高效和準確的發現這些知識就基本決定了各大互聯網公司在激烈競爭環境中的位置。首先,以Google為首的技術型互聯網公司提出了MapReduce的技術框架,利用廉價的PC服務器集群,大規模并發處理批量事務。
利用文件系統存放非結構化數據,加上完善的備份和容災策略,這套經濟實惠的大數據解決方案與之前昂貴的企業小型機集群+商業數據庫方案相比,不僅沒有丟失性能,而且還贏在了可擴展性上。之前,我們在設計一個數據中心解決方案的前期,就要考慮到方案實施后的可擴展性。通常的方法是預估今后一段時期內的業務量和數據量,加入多余的計算單元(CPU)和存儲,以備不時只需。
這樣的方式直接導致了前期一次性投資的巨大,并且即使這樣也依然無法保證計算需求和存儲超出設計量時的系統性能。而一旦需要擴容,問題就會接踵而來。首先是商業并行數據庫通常需要各節點物理同構,也就是具有近似的計算和存儲能力。而隨著硬件的更新,我們通常加入的新硬件都會強于已有的硬件。這樣,舊硬件就成為了系統的瓶頸。為了保證系統性能,我們不得不把舊硬件逐步替換掉,經濟成本損失巨大。
其次,即使是當前最強的商業并行數據庫,其所能管理的數據節點也只是在幾十或上百這個數量級,這主要是由于架構上的設計問題,所以其可擴展性必然有限。而MapReduce+GFS框架,不受上述問題的困擾。需要擴容了,只需增加個機柜,加入適當的計算單元和存儲,集群系統會自動分配和調度這些資源,絲毫不影響現有系統的運行
3.1.2.存儲數據庫
存儲數據庫(In-MemoryDatabases)讓信息快速流通,大數據分析經常會用到存儲數據庫來快速處理大量記錄的數據流通。比方說,它可以對某個全國性的連鎖店某天的銷售記錄進行分析,得出某些特征進而根據某種規則及時為消費者提供獎勵回饋。
但傳統的關系型數據庫嚴格的設計定式、為保證強一致性而放棄性能、可擴展性差等問題在大數據分析中被逐漸暴露。隨之而來,NoSQL數據存儲模型開始風行。NoSQL,也有人理解為NotOnlySQL,并不是一種特定的數據存儲模型,它是一類非關系型數據庫的統稱。其特點是:沒有固定的數據表模式、可以分布式和水平擴展。NoSQL并不是單純的反對關系型數據庫,而是針對其缺點的一種補充和擴展。典型的NoSQL數據存儲模型有文檔存儲、鍵-值存儲、圖存儲、對象數據庫、列存儲等
NoSQL數據庫是一種建立在云平臺的新型數據處理模式,NoSQL在很多情況下又叫做云數據庫。由于其處理數據的模式完全是分布于各種低成本服務器和存儲磁盤,因此它可以幫助網頁和各種交互性應用快速處理過程中的海量數據。它為Zynga、AOL、Cisco以及其它一些企業提供網頁應用支持。正常的數據庫需要將數據進行歸類組織,類似于姓名和帳號這些數據需要進行結構化和標簽化。但是NoSQL數據庫則完全不關心這些,它能處理各種類型的文檔。
在處理海量數據同時請求時,它也不會有任何問題。比方說,如果有1000萬人同時登錄某個Zynga游戲,它會將這些數據分布于全世界的服務器并通過它們來進行數據處理,結果與1萬人同時在線沒什么兩樣?,F今有多種不同類型的NoSQL模式。商業化的模式如Couchbase、10gen的mongoDB以及Oracle的NoSQL;開源免費的模式如CouchDB和Cassandra;還有亞馬遜最新推出的NoSQL云服務。
3.1.3.分布式計算技術
分布式計算結合了NoSQL與實時分析技術,如果想要同時處理實時分析與NoSQL數據功能,那么你就需要分布式計算技術。分布式技術結合了一系列技術,可以對海量數據進行實時分析。更重要的是,它所使用的硬件非常便宜,因而讓這種技術的普及變成可能。
SGI的SunnySundstrom解釋說,通過對那些看起來沒什么關聯和組織的數據進行分析,我們可以獲得很多有價值的結果。比如說可以分發現一些新的模式或者新的行為。運用分布式計算技術,銀行可以從消費者的一些消費行為和模式中識別網上交易的欺詐行為。
分布式計算技術讓不可能變成可能,分布式計算技術正引領著將不可能變為可能。SkyboxImaging就是一個很好的例子。這家公司通過對衛星圖片的分析得出一些實時結果,比如說某個城市有多少可用停車空間,或者某個港口目前有多少船只。它們將這些實時結果賣給需要的客戶。沒有這個技術,要想快速便宜的分析這么大量衛星圖片數據將是不可能的。
如圖五所示:
圖五
分布式計算技術是Google的核心,也是Yahoo的基礎,目前分布式計算技術是基于Google創建的技術,但是卻最新由Yahoo所建立。Google總共發表了兩篇論文,2004年發表的叫做MapReduce的論文介紹了如何在多計算機之間進行數據處理;另一篇于2003年發表,主要是關于如何在多服務器上存儲數據。來自于Yahoo的工程師DougCutting在讀了這兩篇論文后建立了分布式計算平臺,以他兒子的玩具大象命名。
如圖六所示:
圖六
而Hadoop作為一個重量級的分布式處理開源框架已經在大數據處理領域有所作為
3.2.大數據處理過程
3.2.1.采集
大數據的采集是指利用多個數據庫來接收發自客戶端(Web、App或者傳感器形式等)的數據,并且用戶可以通過這些數據庫來進行簡單的查詢和處理工作。比如,電商會使用傳統的關系型數據庫MySQL和Oracle等來存儲每一筆事務數據,除此之外,Redis和MongoDB這樣的NoSQL數據庫也常用于數據的采集。
在大數據的采集過程中,其主要特點和挑戰是并發數高,因為同時有可能會有成千上萬的用戶來進行訪問和操作,比如火車票售票網站和淘寶,它們并發的訪問量在峰值時達到上百萬,所以需要在采集端部署大量數據庫才能支撐。并且如何在這些數據庫之間進行負載均衡和分片的確是需要深入的思考和設計。
3.2.2.導入/預處理
雖然采集端本身會有很多數據庫,但是如果要對這些海量數據進行有效的分析,還是應該將這些來自前端的數據導入到一個集中的大型分布式數據庫,或者分布式存儲集群,并且可以在導入基礎上做一些簡單的清洗和預處理工作。也有一些用戶會在導入時使用來自Twitter的Storm來對數據進行流式計算,來滿足部分業務的實時計算需求。
導入與預處理過程的特點和挑戰主要是導入的數據量大,每秒鐘的導入量經常會達到百兆,甚至千兆級別。
3.2.3.統計/分析
統計與分析主要利用分布式數據庫,或者分布式計算集群來對存儲于其內的海量數據進行普通的分析和分類匯總等,以滿足大多數常見的分析需求,在這方面,一些實時性需求會用到EMC的GreenPlum、Oracle的Exadata,以及基于MySQL的列式存儲Infobright等,而一些批處理,或者基于半結構化數據的需求可以使用Hadoop。
統計與分析這部分的主要特點和挑戰是分析涉及的數據量大,其對系統資源,特別是I/O會有極大的占用。
3.2.4.挖掘
與前面統計和分析過程不同的是,數據挖掘一般沒有什么預先設定好的主題,主要是在現有數據上面進行基于各種算法的計算,從而起到預測(Predict)的效果,從而實現一些高級別數據分析的需求。比較典型算法有用于聚類的Kmeans、用于統計學習的SVM和用于分類的NaiveBayes,主要使用的工具有Hadoop的Mahout等。
該過程的特點和挑戰主要是用于挖掘的算法很復雜,并且計算涉及的數據量和計算量都很大,常用數據挖掘算法都以單線程為主。整個大數據處理的普遍流程至少應該滿足這四個方面的步驟,才能算得上是一個比較完整的大數據處理
3.3.大數據處理的核心技術-Hadoop
大數據技術涵蓋了硬軟件多個方面的技術,目前各種技術基本都獨立存在于存儲、開發、平臺架構、數據分析挖掘的各個相對獨立的領域。這一部分主要介紹和分析大數據處理的核心技術——Hadoop。
3.3.1.Hadoop的組成
大數據不同于傳統類型的數據,它可能由TB甚至PB級信息組成,既包括結構化數據,也包括文本、多媒體等非結構化數據。這些數據類型缺乏一致性,使得標準存儲技術無法對大數據進行有效存儲,而且我們也難以使用傳統的服務器和SAN方法來有效地存儲和處理龐大的數據量。這些都決定了“大數據”需要不同的處理方法,而Hadoop目前正是廣泛應用的大數據處理技術。Hadoop是一個基于Java的分布式密集數據處理和數據分析的軟件框架。該框架在很大程度上受Google在2004年白皮書中闡述的MapReduce的技術啟發。
Hadoop主要組件包含如圖七:
HadoopCommon:通用模塊,
支持其他Hadoop模塊
HadoopDistributedFileSystem(HDFS):分布式文件系統,用以提供高流量
的應用數據訪問
HadoopYARN:支持工作調度和集群資源管理的框架
HadoopMapReduce:針對大數據的、靈活的并行數據處理框架
其他相關的模塊還有:
ZooKeeper:高可靠性分布式協調系統
Oozie:負責MapReduce作業調度
HBase:可擴展的分布式數據庫,可以將結構性數據存儲為大表
Hive:構建在MapRudece之上的數據倉庫軟件包
Pig:架構在Hadoop之上的高級數據處理層
在Hadoop框架中,最底層的HDFS存儲Hadoop集群中所有存儲節點上的文件。HDFS的架構是基于一組特定的節點構建的(如圖八),
這些節點包括一個NameNode和大量的DataNode。存儲在HDFS中的文件被分成塊,然后將這些塊復制到多個計算機中(DataNode)。這與傳統的RAID架構大不相同。塊的大?。ㄍǔ?4MB)和復制的塊數量在創建文件時由客戶機決定。NameNode可以控制所有文件操作。
HDFS內部的所有通信都基于標準的TCP/IP協議。NameNode在HDFS內部提供元數據服務,負責管理文件系統名稱空間和控制外部客戶機的訪問。它決定是否將文件映射到DataNode上的復制塊上。DataNode通常以機架的形式組織,機架通過一個交換機將所有系統連接起來。HadoopMapReduce是GoogleMapReduce的開源實現。MapReduce技術是一種簡潔的并行計算模型,它在系統層面解決了擴展性、容錯性等問題,通過接受用戶編寫的Map函數和Reduce函數,自動地在可伸縮的大規模集群上并行執行,從而可以處理和分析大規模的數據[6]。Hadoop提供了大量的接口和抽象類,從而為Hadoop應用程序開發人員提供許多工具,可用于調試和性能度量等。
在Hadoop應用實例中,一個代表客戶機在單個主系統上啟動MapReduce的應用程序稱為JobTracker。類似于NameNode,它是Hadoop集群中唯一負責控制MapReduce應用程序的系統。在應用程序提交之后,將提供包含在HDFS中的輸入和輸出目錄。JobTracker使用文件塊信息(物理量和位置)確定如何創建其他TaskTracker從屬任務。MapReduce應用程序被復制到每個出現輸入文件塊的節點,將為特定節點上的每個文件塊創建一個唯一的從屬任務。每個TaskTracker將狀態和完成信息報告給JobTracker。
如圖顯示一個示例集群中的工作分布,如圖九:
3.3.2.Hadoop的優點:
Hadoop能夠使用戶輕松開發和運行處理大數據的應用程序。它主要有以下幾個優點:
3.3.2.1.高可靠性。
Hadoop按位存儲和處理數據的能力值得人們信賴。
3.3.2.2.高擴展性。
Hadoop是在可用的計算機集簇間分配數據并完成計算任務的,這些集簇可以方便地擴展到數以千計的節點中。
3.3.2.3.高效性。
Hadoop能夠在節點之間動態地移動數據,并保證各個節點的動態平衡,因此處理速度非???。
3.3.2.4.高容錯性。
Hadoop能夠自動保存數據的多個副本,并且能夠自動將失敗的任務重新分配。Hadoop帶有用Java語言編寫的框架,因此運行在Linux生產平臺上是非常理想的。Hadoop上的應用程序也可以使用其他語言編寫,比如C++。
3.3.3.Hadoop的不足
Hadoop作為一個處理大數據的軟件框架,雖然受到眾多商業公司的青睞,但是其自身的技術特點也決定了它不能完全解決大數據問題。在當前Hadoop的設計中,所有的metadata操作都要通過集中式的NameNode來進行,NameNode有可能是性能的瓶頸。當前Hadoop單一NameNode、單一Jobtracker的設計嚴重制約了整個Hadoop可擴展性和可靠性。首先,NameNode和JobTracker是整個系統中明顯的單點故障源。
再次,單一NameNode的內存容量有限,使得Hadoop集群的節點數量被限制到2000個左右,能支持的文件系統大小被限制在10-50PB,最多能支持的文件數量大約為1.5億左右。實際上,有用戶抱怨其集群的NameNode重啟需要數小時,這大大降低了系統的可用性。隨著Hadoop被廣泛使用,面對各式各樣的需求,人們期望Hadoop能提供更多特性,比如完全可讀寫的文件系統、Snapshot、Mirror等等。這些都是當前版本的Hadoop不支持,但是用戶又有強烈需求的。
3.3.4.主要商業性“大數據”處理方案
“大數據”被科技企業看作是云計算之后的另一個巨大商機,包括IBM、谷歌、亞馬遜和微軟在內的一大批知名企業紛紛掘金這一市場。此外,很多初創企業也開始加入到大數據的淘金隊伍中。Hadoop是非結構數據庫的代表,低成本、高擴展性和靈活性等優勢使其成為各種面向大數據處理分析的商業服務方案的首選。Oracle、IBM、Microsoft三大商業數據提供商是Hadoop的主要支持者。很多知名企業都以Hadoop技術為基礎提供自己的商業性大數據解決方案。這一部分主要介紹以Hadoop為基礎的典型商業性大數據解決方案。
3.3.2.5.IBMInfoSphere大數據分析平臺
IBM于2011年5月推出的InfoSphere大數據分析平臺是一款定位為企業級的大數據分析產品。該產品包括BigInsights和Streams,二者互補,Biglnsights基于Hadoop,對大規模的靜態數據進行分析,它提供多節點的分布式計算,可以隨時增加節點,提升數據處理能力。
Streams采用內存計算方式分析實時數據。它們將包括HadoopMapReduce在內的開源技術緊密地與IBM系統集成起來。研究Hadoop這樣開源技術的人很多,但是IBM這次是真正將其變成了企業級的應用,針對不同的人員增加不同的價值。InfoSphereBigInsights1.3的存儲和運算框架采用了開源的HadoopMapReduce,同時針對Hadoop框架進行了改造,采用了IBM特有的通用并行文件系統——GPFS。
利用GPFS的目的是為了避免單點故障,保證可用性。BigInsights中還有兩個分析產品——Cognos和SPSS,這兩個分析產品在傳統功能上加強了文本分析的功能,提供了一系列文本分析工具,并使用高級語言進行自定義規則,如文本格式轉換等。
目前BigInsights提供兩種版本,一種是企業版(EnterpriseEdition),用于企業級的大數據分析解決方案。另一種是基礎版(BasicEdition),去掉了企業版中的大部分功能,用戶可以免費下載,主要提供給開發人員和合作伙伴試用。Streams最大的特點就是內存分析,利用多節點PC服務器的內存來處理大批量的數據分析請求。Streams的特點就是“小快靈”,數據是實時流動的,其分析反應速度可以控制在毫秒級別,而BigInsights的分析是批處理,反應速度無法同Streams相比。
總體來說,二者的設計架構不同,也用于處理不同的大數據分析需求,并可以形成良好的互補。InfoSphere平臺僅僅是IBM大數據解決方案中的一部分。IBM大數據平臺包括4大部分:信息整合與治理組件、基于開源ApacheHadoop的框架而實現的BigInsights平臺、加速器,以及包含可視化與發現、應用程序開發、系統管理的上層應用。通過IBM的解決方案可以看出,解決大數據問題不能僅僅依靠Hadoop。
3.3.2.6.OracleBigDataApplianc
OracleBigDataAppliance準確地說是一款硬件產品,添加了Hadoop裝載器、應用適配器以及Oracle新的NoSQL數據庫,主要目的是為了將非結構化數據加載到關系型數據庫中去,并對軟硬件的集成做了一些優化。OracleBigData機包括開源ApacheHadoop、OracleNoSQL數據庫、Oracle數據集成Hadoop應用適配器、OracleHadoop裝載器、OpenSourceDistributionofR、OracleLinux和OracleJavaHotSpot虛擬機。
它能夠快速、便捷地與Oracle數據庫11g、OracleExadata數據庫云服務器和OracleExalytics商務智能云服務器集成。分析師和統計人員可以運行現有的R應用,并利用R客戶端直接處理存儲在Oracle數據庫11g中的數據,從而極大地提高可擴展性、性能和安全性。
3.3.2.7.MicrosoftSQLServer
微軟已經發布HadoopConnectorforSQLServerParallelDataWarehouse和HadoopConnectorforSQLServer社區技術預覽版本的連接器。該連接器是雙向的,用戶可以在Hadoop和微軟數據庫服務器之間向前或者向后遷移數據。微軟的SQLServer2012將并入Hadoop分布式計算平臺,微軟還將把Hadoop引入WindowsServer和Azure(微軟的云服務)。
3.3.2.8.SybaseIQ
SybaseIQ是Sybase公司推出的特別為數據倉庫設計的關系型數據庫,添加了Hadoop的集成,并提供了MapReduce的API。相比于傳統的“行式存儲”的關系型數據庫,SybaseIQ使用了獨特的列式存儲方式,在進行分析查詢時,僅需讀取查詢所需的列,其垂直分區策略不僅能夠支持大量的用戶、大規模數據,還可以提交對商業信息的高速訪問,其速度可達到傳統的關系型數據庫的百倍甚至千倍。
3.3.5.其他“大數據”解決方案
“大數據”解決方案并非只有Hadoop一種,許多知名企業還提供了其他的解決方案。
3.3.2.9.EMC
EMC提供了兩種大數據存儲方案,即Isilon和Atmos。Isilon能夠提供無限的橫向擴展能力,Atmos是一款云存儲基礎架構,在內容服務方面,Atmos是很好的解決方案。
在數據分析方面,EMC提供的解決方案、提供的產品是Greenplum,Greenplum有兩個產品,第一是GreenplumDatabase,GreenplumDatabase是大規模的并行成立的數據庫,它可以管理、存儲、分析PB量級的一些結構性數據,它下載的速度非常高,最高可以達到每小時10TB,速度非常驚人。這是EMC可以提供給企業、政府,用來分析海量的數據。但是GreenplumDatabase面對的是結構化數據。
很多數據超過90%是非結構化數據,EMC有另外一個產品是GreenplumHD,GreenplumHD可以把非結構化的數據或者是半結構化的數據轉換成結構化數據,然后讓GreenplumDatabase去處理。
3.3.2.10.BigQuery
BigQuery是Google推出的一項Web服務,用來在云端處理大數據。該服務讓開發者可以使用Google的架構來運行SQL語句對超級大的數據庫進行操作。
BigQuery允許用戶上傳他們的超大量數據并通過其直接進行交互式分析,從而不必投資建立自己的數據中心。Google曾表示BigQuery引擎可以快速掃描高達70TB未經壓縮處理的數據,并且可馬上得到分析結果。大數據在云端模型具備很多優勢,BigQuery服務無需組織提供或建立數據倉庫。而BigQuery在安全性和數據備份服務方面也相當完善。免費帳號可以讓用戶每月訪問高達100GB的數據,用戶也可以付費使用額外查詢和存儲空間。
3.3.6.大數據”與科技文獻信息處理
“大數據”目前主要指醫學、天文、地理、Web日志、多媒體信息等數據,鮮有提及文獻信息。事實上,現在的科技文獻信息日益凸顯出“大數據”的特征,主要表現在以下幾個方面:更新周期縮短;數量龐大;文獻的類型多樣;文獻載體數字化;文獻語種多樣化;文獻內容交叉;文獻信息密度大。
科技文獻中所含的信息類型多樣,既有結構性數據,也有非結構性文本和公式,如何利用“大數據”技術對文獻內容進行分析,挖掘用戶訪問日志、評價反饋等數據的價值,為用戶提供服務成為科技信息服務業急需思考和解決的問題。在科技文獻信息處理中,文本分析技術、語義計算技術、數據安全需要與“大數據”解決方案結合起來考慮實施,這樣才能更有效地提供知識服務。
3.4.大數據處理技術發展前景
隨著大數據時代的來臨,應用越來越廣,其發展前景是很光明的。
3.4.1.大數據復雜度降低
大數據技術的落地將會有兩個特點:一個是對MapReduce依賴越來越少,另外一個是會把Hadoop技術深入的應用到企業的軟件架構中。對于第一個特點,像Cloudera的Impala和微軟的PolyBase這樣的軟件會得到充分發展,他們繞開了MapReduce,直接對存在HDFS中的數據進行處理。對于第二個特點,大規模的使用Hadoop是個必然趨勢,漸漸的就會形成行業的標準,進而成為更有價值的軟件基礎,而不僅是自己內部使用。
3.4.2.大數據細分市場
大數據相關技術的發展,將會創造出一些新的細分市場。例如,以數據分析和處理為主的高級數據服務,將出現以數據分析作為服務產品提交的分析即服務(AnalyzeasaService)業務;將多種信息整合管理,創造對大數據統一的訪問和分析的組件產品;基于社交網絡的社交大數據分析;甚至會出現大數據技能的培訓市場,教授數據分析課程等。
3.4.3.大數據開源
開源軟件為大數據市場帶來更多機會。與人們的傳統理解不同,大數據市場開源軟件的盛行不會抑制市場的商業機會,相反開源軟件將會給基礎架構硬件、應用程序開發工具、應用、服務等各個方面的相關領域帶來更多的機會。
3.4.4.Hadoop將加速發展
做為大數據領域的代表技術,許多企業都把明年的計劃聚焦在Hadoop之上。據預測,用戶對Hadoop的優化將更注重硬件,同時,對企業友好的Hadoop技術市場將達到前所未有的高峰。從整體上說,不僅是Hadoop本身本會得到迅猛的發展,同時Hadoop在多個數據中心中的配置和無縫集成技術也將成為熱門。Hadoop的專業知識正在飛速增長,但是這方面優秀的人才仍然很缺乏?;赟QL的Hadoop工具將會得到持續發展”。
3.4.5.打包的大數據行業分析應用
隨著大數據逐漸走向各個行業,基于行業的大數據分析應用需求也日益增長。未來幾年中針對特定行業和業務流程的分析應用將會以預打包的形式出現,這將為大數據技術供應商打開新的市場。這些分析應用內容還會覆蓋很多行業的專業知識,也會吸引大量行業軟件開發公司的投入。
3.4.6.大數據分析的革命性方法出現
在大數據分析上,將出現革命性的新方法。就像計算機和互聯網一樣,大數據可能是新一波技術革命。從前的很多算法和基礎理論可能會產生理論級別的突破。
3.4.7.大數據與云計算:深度融合
大數據處理離不開云計算技術,云計算為大數據提供彈性可擴展的基礎設施支撐環境以及數據服務的高效模式,大數據則為云計算提供了新的商業價值,大數據技術與云計算技術必有更完美的結合。同樣的,云計算、物聯網、移動互聯網等新興計算形態,既是產生大數據的地方,也是需要大數據分析方法的領域。
3.4.8.大數據一體機陸續發布
自云計算和大數據概念被提出后,針對該市場推出的軟硬件一體化設備就層出不窮。在未來幾年里,數據倉庫一體機、NoSQL一體機以及其它一些將多種技術結合的一體化設備將進一步快速發展。
四、基于基站大數據應用及案例
4.1.氣象災害應急短信發布平臺
4.1.1.概述
4.1.1.1.項目背景
為有效預防、及時響應和處置氣象災害,保證氣象災害應急工作高效、有序進行,最大限度地減輕或者避免氣象災害造成的人員傷亡、財產損失以及對經濟社會發展和生態環境保護產生的不利影響,將災害信息及時通知相關人員,建設氣象災害應急短信發布平臺。
4.1.1.2.平臺概述
本平臺是利用手機進出特定小區需與交換機交換位置信息的特性,結合目前移動通信網絡及短消息發布平臺,實現在特定區域、特定時間對特定客戶群,發送特定服務短信的個性化信息服務。
4.1.2.平臺建設特點與原則
4.1.2.1.建設特點
平臺具有以下特點:
針對性強:特定區域、特定時間、特定客群、特定服務短信,投放準確,不會影響特定區域外的用戶;
收看率高:手機自動接收,收看率高,見效快,比傳統媒體信息更深入用戶;
發布便捷:客戶通過網絡可以直接申請發布信息,從申請到發布僅需幾小時,可以及時修改;
成本低廉:定向發送有的放矢,平均成本更低廉。
4.1.2.2.建設原則
標準化:
具有互操作性,可用性,可靠性,可擴充性,可管理性,建立一個開放式,遵循國際標準的網絡系統。
先進性:
既要保證網絡的先進性,同時也要兼顧技術的成熟性。
安全性:
對于安全性我們將通過對用戶的區域劃分,建議選用專用防火墻實現對本地資源的安全保護。
擴展性:
網絡設計必須為今后的擴充留有足夠的余地,以保護用戶的投資,保證今后的網絡擴充升級能力。
保護投資:
每個設備都進行嚴格的選型,在滿足設計原則的功能前提下,提供最經濟的設備配置方案。
可管理:
先進的網絡管理可為多業務網絡提供安全運行的基礎。
4.1.2.3.大數據管理平臺特點
獨特的云任務管理技術——使系統的并行效率提升顯著、硬件資源被充分用于大數據處理,縮短處理時間、節約硬件成本。
獨特的多層分布式緩存技術——使系統的吞吐量更大,運算性能更高,數據更加安全可靠。
雙引擎技術——云計算引擎與傳統計算引擎協同工作,使得業務支持類型更豐富、三方對接更方便、并實現了應用前端到后端的大數據處理以及秒級的響應速度。
獨特的云目錄管理技術——使得數據存儲更完整,數據回收更靈活更即時,數據的近線存儲更方便。
實用的監控體系——全面監控所有云節點、圖形化的指標監控、完備的存活與性能告警、對于分析集群工作狀態、性能瓶頸識別、故障分析提供實際數據支持。
方便快捷的安裝——提供圖形與命令行2種安裝模式,適合本地與遠程部署。部署操作基本自動化,適合于大規模集群的快速部署安裝。
4.1.3.平臺整體架構
4.1.3.1.建設原理
本平臺是通過分析移動通訊過程中的各種信令過程,獲得用戶當前的位置信息。當用戶的位置信息與業務選擇發送的特定區域一致時,為用戶發布業務定制的短信。為獲得準確、全面的用戶信息(當前位置信息和用戶手機號),需要監控業務特定區域所屬的MSC/VLR到周邊的所有信令鏈路(即下面的拓撲圖中雙向箭頭所對應的物理鏈路)。本項目使用的信令數據由信令監測系統定時提供。
移動通信網絡部分拓撲圖如下所示:
4.1.3.2.平臺總體設計
1.平臺總體結構
總體架構圖
系統主要由信令處理子系統、短信發送子系統、管理子系統、大數據管理平臺四部分組成。
1)信令處理子系統
本子系統經過復雜的信令分析和匹配,最終得到用戶的手機號和當前位置信息,并將這些信息保存在內存數據庫中,并同步到關系數據庫中。
2)短信發送子系統
本子系統經過對用戶手機號和位置信息的分析,以及與業務條件是否匹配,得到是否要給用戶下發短信。如果要下發短信,短信業務應用系統將要下發的短信和用戶手機號寫入運營商的10086短信下發系統,由10086短信下發系統為用戶下發信息。
3)大數據管理系統
存儲與用戶、位置相關的數據,供短信業務應用系統判斷時使用。使系統的并行效率提升顯著、硬件資源被充分用于大數據處理,縮短處理時間、節約硬件成本。
4)系統管理子系統
本服務提供人性化的遠程登陸界面服務,為客戶提供了用戶管理、權限管理、日志管理、統計分析、數據配置等豐富功能。
氣象災害應急短信發布平臺采用信令數據接入、數據處理整合、頁面展示三層架構的方式實現。
信令數據接入主要獲取信令數據,并對數據進行預處理。由信令監測平臺對外提供信令數據,氣象災害應急短信發布平臺中的信令處理子系統通過網管DCN網絡與信令監測系統對接,從而實現氣象災害應急短信發布平臺周期性地從信令監測系統批量采集信令數據的功能,并對原始性數據進行預處理。
數據處理采用專用數據統計算法和數據發掘分析技術,根據實時采集到的信令接口數據,及定期更新的基站、小區、場所及號碼段數據,綜合分析各個視角的數據。
頁面展現層具備將各種統計分析結果進行圖表化、圖形化的展示,并可以多種格式導出。
4.1.3.3.平臺技術思路
平臺本著可靠穩定的宗旨進行整個系統的技術構建,主要遵循以下技術思路:
擴展性原則:平臺具有高可擴展性,既能適應移動通信網絡結構、通信協議的擴展變更,也能適應不斷變化的應用需求;
模塊化設計:平臺采用模塊化設計,并構建業務生成平臺;
可移植性原則:平臺采用Java開發體系,與系統平臺無關,確保應用系統的可移植性。
先進性原則:平臺采用電信級設計標準,在設計思想、系統架構、采用技術、選用平臺上均需要具有一定的先進性、前瞻性,考慮一定時期內業務的增長。
易用性原則:提供友好的用戶操作界面,具備直觀易用的人機界面,簡化復雜操作步驟。
穩定性原則:具備高可靠性和高穩定性,能夠適應海量信令數據處理。在系統設計、開發和應用時,從系統結構、技術措施、軟硬件平臺、技術服務和維護響應能力等方面綜合考慮,確保系統較高的性能和較少的故障率。
4.2.旅游客源分析
4.2.1.整體方案
4.2.1.1.方案思路
移動運營商側擁有豐富的網絡信令數據,用戶在每一個業務應用和操作時,包括語音通話、收發短信等業務時,都會在網絡側記錄用戶相關的基站位置信息,除此之外還有用戶的主動位置更新(更新LAI)和定期的位置更新(一般為2小時以內),也會記錄用戶的位置信息,通過這些信令數據上下文,我們可以通過基站描點勾勒出用戶的活動軌跡。在利用運營商在旅游景區的基站信息同景區進行有效的結合,可以實時分析各景區的移動本網當前用戶人數及本網當前旅游到達總數。
通過對用戶進一步分析其來源的等相關情況;
通過對用戶進一步分析駐留時長情況;
通過分析各個旅游景區的人流密度等相關情況;
有了這部分本網旅游用戶的數據就可以進一步分析有個旅游用戶相關如來源地等,以及景區相關的如景區熱度排名等相關數據,同時可以通過全省進一步歸納熱點旅游線路等,下面章節會詳細的介紹。
統計出移動本網用戶數據后,可以根據移動用戶占比情況即比例系數反推旅游景區的用戶總數,占比情況如下圖,中移動占比在72%。
4.2.1.2.系統架構
旅游客源分析應用平臺采用信令數據采集接入、數據分析整合、頁面展示三層架構的方式實現。
信令數據采集接入層主要獲取信令數據,并對數據進行預處理。本層與中興信令監測平臺接口。
數據處理層采用專用數據統計算法和數據發掘分析技術,根據實時采集到的信令接口數據,及定期更新的基站、小區、場所及號碼段數據,綜合分析各個視角的數據,包括統計區域實時流量數據、流量總量數據、流量密度數據、流量駐留數據、景點流量告警等。
頁面展現層具備將各種統計分析結果進行圖表化、圖形化、地圖化的展示,并可以多種格式導出。同時通過界面建立同接觸渠道的接口,包括短彩信、12580接口,可以通過接口推送給商家及用戶相關的實時信息。
特別推薦:
【智慧城市圈子邱文斌】 訂閱號:qwb_2014
智慧城市圈子:專注行業概念普及、報告分析及趨勢等的分享。眾智庫是圈子的運營機構,是在民政局備案的非營利性社會組織,主要目的是凝聚智慧城市專家和企業資源,為智慧城市規劃、建設、運營和產業發展提供智力支持,倡導大小公司優勢互補,攜手共贏。
?
產品推薦1:智慧消防:水源采集系統方案
產品推薦2:激光投影:最佳的大屏解決方案
產品推薦3:智慧展廳:綜合應用解決方案
投稿/合作郵箱:3107232748@qq.com
管理員微信號:3107232748
方案價值網: www.fangan100.com