search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

一文讀懂大數據:Hadoop,大數據技術、案例及相關應用

在傳統數據倉庫中,數據倉庫管理員創建計劃,定期計算倉庫中的標準化數據,並將產生的報告分配到各業務部門。他們還為管理人員創建儀錶板和其他功能有限的可視化工具。

同時,業務分析師利用數據分析工具在數據倉庫進行高級分析,或者通常情況下,由於數據量的限制,將樣本數據導入到本地資料庫中。非專業用戶通過前端的BI/' target='_blank'>商業智能工具(SAP的BusinessObjects和IBM的Cognos)對數據倉庫進行基礎的數據可視化和有限的分析。傳統數據倉庫的數據量很少超過幾TB,因為大容量的數據會佔用數據倉庫資源並且降低性能。

大數據性質的變化

Web、移動設備和其他技術的出現導致數據性質的根本性變化。大數據具有重要而獨特的特性,這種特性使得它與「傳統」企業數據區分開來。不再集中化、高度結構化並且易於管理,與以往任何時候相比,現在的數據都是高度分散的、結構鬆散(如果存在結構的話)並且體積越來越大。

具體來說:

·體積-通過Web、移動設備、IT基礎設施和其他來源產生的企業內部和防火牆外的數據量每年都在成倍增加。

·類型-數據類型的多樣性增加,包括非結構化文本數據以及半結構化數據(如社交媒體數據,基於位置的數據和日誌文件數據)。

·速度-得益於數字化交易、移動計算以及互聯網和移動設備的高用戶量,新數據被創建的速度以及實時分析的需求正在增加。

廣義地說,大數據由多個來源產生,包括:

·社交網路和媒體:目前有超過7億Facebook用戶,2.5億Twitter用戶和1.56億面向公眾開放的博客。Facebook上的每個更新、Tweet和博客上文章的發布及評論都會創建多個新的數據點(包含結構化、半結構化和非結構化的),這些數據點有時被稱為「數據廢氣」。

·移動設備:全球有超過50億正在使用中的行動電話。每次呼叫、簡訊和即時消息都被記錄為數據。移動設備(尤其是智能手機和平板電腦)讓使用社交媒體等應用程序更容易,而社會媒體的使用會產生大量數據。移動設備也收集和傳送位置數據。

·網上交易:數十億的網上購物、股票交易等每天都在發生,包括無數的自動交易。每次交易都產生了大量數據點,這些數據點會被零售商、銀行、信用卡、信貸機構和其他機構收集。

·網路設備和感測器:各種類型的電子設備(包括伺服器和其他IT硬體、智能電錶溫度感測器)都會創建半結構化的日誌數據記錄每一個動作。

圖2–傳統數據v.大數據資料來源:Wikibon2011

從時間或成本效益上看,傳統的數據倉庫等數據管理工具都無法實現大數據的處理和分析工作。也就是說,必須將數據組織成關係表(整齊的行和列數據),傳統的企業級數據倉庫才可以處理。由於需要的時間和人力成本,對海量的非結構化數據應用這種結構是不切實際的。此外,擴展傳統的企業級數據倉庫使其適應潛在的PB級數據需要在新的專用硬體上投資巨額資金。而由於數據載入這一個瓶頸,傳統數據倉庫性能也會受到影響。

因此,需要處理和分析大數據的新方法。

大數據處理和分析的新方法

存在多種方法處理和分析大數據,但多數都有一些共同的特點。即他們利用硬體的優勢,使用擴展的、并行的處理技術,採用非關係型數據存儲處理非結構化和半結構化數據,並對大數據運用高級分析和數據可視化技術,向終端用戶傳達見解。

Wikibon已經確定了三種將會改變業務分析和數據管理市場的大數據方法。

Hadoop

Hadoop是一個處理、存儲和分析海量的分散式、非結構化數據的開源框架。最初由雅虎的Doug Cutting創建,Hadoop的靈感來自於 MapReduce ,MapReduce是谷歌在2000年代初期開發的用於網頁索引的用戶定義函數。它被設計用來處理分佈在多個并行節點的PB級和EB級數據。

Hadoop集群運行在廉價的商用硬體上,這樣硬體擴展就不存在資金壓力。Hadoop現在是Apache軟體聯盟(The Apache Software Foundation)的一個項目,數百名貢獻者不斷改進其核心技術。基本概念:與將海量數據限定在一台機器運行的方式不同,Hadoop將大數據分成多個部分,這樣每個部分都可以被同時處理和分析。

Hadoop如何工作

客戶從日誌文件、社交媒體供稿和內部數據存儲等來源獲得非結構化和半結構化數據。它將數據打碎成「部分」,這些「部分」被載入到商用硬體的多個節點組成的文件系統。Hadoop的默認文件存儲系統是Hadoop分散式文件系統。文件系統(如HDFS)善於存儲大量非結構化和半結構化數據,因為它們不需要將數據組織成關係型的行和列。

各「部分」被複制多次,並載入到文件系統。這樣,如果一個節點失效,另一個節點包含失效節點數據的副本。名稱節點充當調解人,負責溝通信息:如哪些節點是可用的,某些數據存儲在集群的什麼地方,以及哪些節點失效。

一旦數據被載入到集群中,它就準備好通過MapReduce 框架進行分析。客戶提交一個「匹配」的任務( 通常是用Java編寫的查詢語句)給到一個被稱為作業跟蹤器的節點。該作業跟蹤器引用名稱節點,以確定完成工作需要訪問哪些數據,以及所需的數據在集群的存儲位置。一旦確定,作業跟蹤器向相關節點提交查詢。每個節點同時、并行處理,而非將所有數據集中到一個位置處理。這是Hadoop的一個本質特徵。

當每個節點處理完指定的作業,它會存儲結果。客戶通過任務追蹤器啟動「Reduce」任務。匯總map階段存儲在各個節點上的結果數據,獲得原始查詢的「答案」,然後將「答案」載入到集群的另一個節點中。客戶就可以訪問這些可以載入多種分析環境進行分析的結果了。MapReduce 的工作就完成了。

一旦MapReduce 階段完成,數據科學家和其他人就可以使用高級數據分析技巧對處理后的數據進一步分析。也可以對這些數據建模,將數據從Hadoop集群轉移到現有的關係型資料庫、數據倉庫等傳統IT系統進行進一步的分析。

Hadoop的技術組件

Hadoop 「棧」由多個組件組成。包括:

· Hadoop分散式文件系統(HDFS):所有Hadoop集群的默認存儲層;

· 名稱節點:在Hadoop集群中,提供數據存儲位置以及節點失效信息的節點。

· 二級節點:名稱節點的備份,它會定期複製和存儲名稱節點的數據,以防名稱節點失效。

· 作業跟蹤器:Hadoop集群中發起和協調MapReduce作業或數據處理任務的節點。

· 從節點:Hadoop集群的普通節點,從節點存儲數據並且從作業跟蹤器那裡獲取數據處理指令。

除了上述以外,Hadoop生態系統還包括許多免費子項目。NoSQL數據存儲系統(如Cassandra和HBase)也被用於存儲Hadoop的MapReduce作業結果。除了​​Java,很多 MapReduce 作業及其他Hadoop的功能都是用Pig語言寫的,Pig是專門針對Hadoop設計的開源語言。Hive最初是由Facebook開發的開源數據倉庫,可以在Hadoop中建立分析模型。

請參閱文章:Hadoop組件和子項目指導手冊:HBase,Sqoop,Flume等:Apache Hadoop定義(,_Sqoop,_Flume_and_More:_Apache_Hadoop_Defined)

Hadoop:優點和缺點

Hadoop的主要好處是,它可以讓企業以節省成本並高效的方式處理和分析大量的非結構化和半結構化數據,而這類數據迄今還沒有其他處理方式。因為Hadoop集群可以擴展到PB級甚至EB級數據,企業不再必須依賴於樣本數據集,而可以處理和分析所有相關數據。數據科學家可以採用迭代的方法進行分析,不斷改進和測試查詢語句,從而發現以前未知的見解。使用Hadoop的成本也很廉價。開發者可以免費下載Apache的Hadoop 分散式平台,並且在不到一天的時間內開始體驗Hadoop。

Hadoop及其無數組件的不足之處是,他們還不成熟,仍處於發展階段。就像所有新的、原始的技術一樣,實施和管理Hadoop集群,對大量非結構化數據進行高級分析,都需要大量的專業知識、技能和培訓。不幸的是,目前Hadoop開發者和數據科學家的缺乏,使得眾多企業維持複雜的Hadoop集群並利用其優勢變得很不現實。此外,由於Hadoop的眾多組件都是通過技術社區得到改善,並且新的組件不斷被創建,因此作為不成熟的開源技術,也存在失敗的風險。最後,Hadoop是一個面向批處理的框架,這意味著它不支持實時的數據處理和分析。

好消息是,一些聰明的IT人士不斷對Apache Hadoop項目做出貢獻,新一代的Hadoop開發者和數據科學家們正在走向成熟。因此,該技術的發展日新月異,逐漸變得更加強大而且更易於實施和管理。供應商(包括Hadoop的初創企業Cloudera和Hortonworks)以及成熟的IT中堅企業(如IBM和微軟)正在努力開發企業可用的商業Hadoop分散式平台、工具和服務,讓部署和管理這項技術成為傳統企業可用的實際現實。其他初創企業正在努力完善NoSQL(不僅僅是SQL)數據系統,結合Hadoop提供近實時的分析解決方案。

NoSQL

一種稱為NoSQL的新形式的資料庫(Not Only SQL)已經出現,像Hadoop一樣,可以處理大量的多結構化數據。但是,如果說Hadoop擅長支持大規模、批量式的歷史分析,在大多數情況下(雖然也有一些例外),NoSQL 資料庫的目的是為最終用戶和自動化的大數據應用程序提供大量存儲在多結構化數據中的離散數據。這種能力是關係型資料庫欠缺的,它根本無法在大數據規模維持基本的性能水平。

在某些情況下,NoSQL和Hadoop協同工作。例如,HBase是流行的NoSQL資料庫,它仿照谷歌的BigTable,通常部署在HDFS(Hadoop分散式文件系統)之上,為Hadoop提供低延遲的快速查找功能。

目前可用的NoSQL資料庫包括:

· HBase

· Cassandra

· MarkLogic

· Aerospike

· MongoDB

· Accumulo

· Riak

· CouchDB

· DynamoDB

目前大多數NoSQL資料庫的缺點是,為了性能和可擴展性,他們遵從ACID(原子性,一致性,隔離性,持久性)原則。許多NoSQL資料庫還缺乏成熟的管理和監控工具。這些缺點在開源的NoSQL社區和少數廠商的努力下都在克服過程中,這些廠商包括DataStax,Sqrrl,10gen,Aerospike和Couchbase,他們正在嘗試商業化各種NoSQL資料庫。

大規模并行分析資料庫

不同於傳統的數據倉庫,大規模并行分析資料庫能夠以必需的最小的數據建模,快速獲取大量的結構化數據,可以向外擴展以容納TB甚至PB級數據。

對最終用戶而言最重要的是,大規模并行分析資料庫支持近乎實時的複雜SQL查詢結果,也叫互動式查詢功能 ,而這正是Hadoop顯著缺失的能力。大規模并行分析資料庫在某些情況下支持近實時的大數據應用。大規模并行分析資料庫的基本特性包括:

大規模并行處理的能力: 就像其名字表明的一樣,大規模并行分析資料庫採用大規模并行處理同時支持多台機器上的數據採集、處理和查詢。相對傳統的數據倉庫具有更快的性能,傳統數據倉庫運行在單一機器上,會受到數據採集這個單一瓶頸點的限制。

無共享架構: 無共享架構可確保分析資料庫環境中沒有單點故障。在這種架構下,每個節點獨立於其他節點,所以如果一台機器出現故障,其他機器可以繼續運行。對大規模并行處理環境而言,這點尤其重要,數百台計算機并行處理數據,偶爾出現一台或多台機器失敗是不可避免的。

列存儲結構: 大多數大規模并行分析資料庫採用列存儲結構,而大多數關係型資料庫以行結構存儲和處理數據。在列存儲環境中,由包含必要數據的列決定查詢語句的「答案」,而不是由整行的數據決定,從而導致查詢結果瞬間可以得出。這也意味著數據不需要像傳統的關係資料庫那樣構造成整齊的表格。

強大的數據壓縮功能: 它們允許分析資料庫收集和存儲更大量的數據,而且與傳統資料庫相比佔用更少的硬體資源。例如,具有10比1的壓縮功能的資料庫,可以將10 TB位元組的數據壓縮到1 TB。數據編碼(包括數據壓縮以及相關的技術)是有效的擴展到海量數據的關鍵。

商用硬體: 像Hadoop集群一樣,大多數(肯定不是全部)大規模并行分析資料庫運行在戴爾、IBM等廠商現成的商用硬體上,這使他們能夠以具有成本效益的方式向外擴展。

在內存中進行數據處理: 有些(肯定不是全部)大規模并行分析資料庫使用動態RAM或快閃記憶體進行實時數據處理。有些(如SAP HANA和 Aerospike)完全在內存中運行數據,而其他則採用混合的方式,即用較便宜但低性能的磁碟內存處理「冷」數據,用動態RAM或快閃記憶體處理「熱」數據。

然而,大規模并行分析資料庫確實有一些盲點。最值得注意的是,他們並非被設計用來存儲、處理和分析大量的半結構化和非結構化數據。

大數據方法的互補

Hadoop,NoSQL 和大規模并行分析資料庫不是相互排斥的。相反的,Wikibon 認為這三種方法是互補的,彼此可以而且應該共存於許多企業。Hadoop擅長處理和分析大量分散式的非結構化數據,以分批的方式進行歷史分析。NoSQL 資料庫擅長為基於Web的大數據應用程序提供近實時地多結構化數據存儲和處理。而大規模并行分析資料庫最擅長對大容量的主流結構化數據提供接近實時的分析。

例如,Hadoop完成的歷史分析可以移植到分析資料庫供進一步分析,或者與傳統的企業數據倉庫的結構化數據進行集成。從大數據分析得到的見解可以而且應該通過大數據應用實現產品化。企業的目標應該是實現一個靈活的大數據架構,在該架構中,三種技術可以儘可能無縫地共享數據和見解。

很多預建的連接器可以幫助Hadoop開發者和管理員實現這種數據集成,同時也有很多廠商(包括Pivotal Initiative-原EMC的Greenplum,CETAS-和Teradata Aster)提供大數據應用。這些大數據應用將Hadoop、分析資料庫和預配置的硬體進行捆綁,可以達到以最小的調整實現快速部署的目的。另外一種情況,Hadapt提供了一個單一平台,這個平台在相同的集群上同時提供SQL和Hadoop/MapReduce的處理功能。Cloudera也在Impala和Hortonworks項目上通過開源倡議推行這一策略。

但是,為了充分利用大數據,企業必須採取進一步措施。也就是說,他們必須使用高級分析技術處理數據,並以此得出有意義的見解。數據科學家通過屈指可數的語言或方法(包括SAS和R)執行這項複雜的工作。分析的結果可以通過Tableau這樣的工具可視化,也可以通過大數據應用程序進行操作,這些大數據應用程序包括自己開發的應用程序和現成的應用程序。其他廠商(包括 Platfora和Datameer)正在開發商業智能型的應用程序,這種應用程序允許非核心用戶與大數據直接交互。

圖3 – 現代數據架構 資料來源:Wikibon 2013

底層的大數據方法(如Hadoop,NoSQL和大規模并行分析資料庫)不僅本身是互補的,而且與大部分大型企業現有的數據管理技術互補。Wikibon並不建議企業CIO們為了大數據方法而「淘汰並更換」企業現有的全部的數據倉庫、數據集成和其他數據管理技術。

相反,Wikibon認為首席信息官必須像投資組合經理那樣思考,重新權衡優先順序,為企業走向創新和發展奠定基礎,同時採取必要的措施減輕風險因素。用大數據方法替換現有的數據管理技術,只有當它的商業意義和發展計劃與現有的數據管理基礎設施儘可能無縫地整合時才有意義。最終目標應該是轉型為現代數據架構(見圖3和文章鏈接)。

大數據供應商發展狀況

大數據供應商正在迅速發展。參見圖4對一個細分市場的概述,對於大數據市場的詳細分析,包括市場規模(現狀及到2017年的五年預測)和供應商之間的大數據收入數字,詳情參考 大數據供應商收入和市場預測2012-2017。

圖4 – 大數據供應商發展狀況 資料來源:Wikibon 2012

大數據:實際使用案例

讓Hadoop和其他大數據技術如此引人注目的部分原因是,他們讓企業找到問題的答案,而在此之前他們甚至不知道問題是什麼。這可能會產生引出新產品的想法,或者幫助確定改善運營效率的方法。不過,也有一些已經明確的大數據用例,無論是互聯網巨頭如谷歌,Facebook和LinkedIn還是更多的傳統企業。它們包括:

推薦引擎:網路資源和在線零售商使用Hadoop根據用戶的個人資料和行為數據匹配和推薦用戶、產品和服務。LinkedIn使用此方法增強其「你可能認識的人」這一功能,而亞馬遜利用該方法為網上消費者推薦相關產品。

情感分析: Hadoop與先進的文本分析工具結合,分析社會化媒體和社交網路發布的非結構化的文本,包括Tweets和Facebook,以確定用戶對特定公司,品牌或產品的情緒。分析既可以專註於宏觀層面的情緒,也可以細分到個人用戶的情緒。

風險建模: 財務公司、銀行等公司使用Hadoop和下一代數據倉庫分析大量交易數據,以確定金融資產的風險,模擬市場行為為潛在的「假設」方案做準備,並根據風險為潛在客戶打分。

欺詐檢測: 金融公司、零售商等使用大數據技術將客戶行為與歷史交易數據結合來檢測欺詐行為。例如,信用卡公司使用大數據技術識別可能的被盜卡的交易行為。

營銷活動分析:各行業的營銷部門長期使用技術手段監測和確定營銷活動的有效性。大數據讓營銷團隊擁有更大量的越來越精細的數據,如點擊流數據和呼叫詳情記錄數據,以提高分析的準確性。

客戶流失分析: 企業使用Hadoop和大數據技術分析客戶行為數據並確定分析模型,該模型指出哪些客戶最有可能流向存在競爭關係的供應商或服務商。企業就能採取最有效的措施挽留欲流失客戶。

社交圖譜分析: Hadoop和下一代數據倉庫相結合,通過挖掘社交網路數據,可以確定社交網路中哪些客戶對其他客戶產生最大的影響力。這有助於企業確定其「最重要」的客戶,不總是那些購買最多產品或花最多錢的,而是那些最能夠影響他人購買行為的客戶。

用戶體驗分析: 面向消費者的企業使用Hadoop和其他大數據技術將之前單一 客戶互動渠道(如呼叫中心,網上聊天,微博等)數據整合在一起, ,以獲得對客戶體驗的完整視圖。這使企業能夠了解客戶交互渠道之間的相互影響,從而優化整個客戶生命周期的用戶體驗。

網路監控:Hadoop 和其他大數據技術被用來獲取,分析和顯示來自伺服器,存儲設備和其他IT硬體的數據,使管理員能夠監視網路活動,診斷瓶頸等問題。這種類型的分析,也可應用到交通網路,以提高燃料效率,當然也可以應用到其他網路。

研究與發展: 有些企業(如製藥商)使用Hadoop技術進行大量文本及歷史數據的研究,以協助新產品的開發。

當然,上述這些都只是大數據用例的舉例。事實上,在所有企業中大數據最引人注目的用例可能尚未被發現。這就是大數據的希望。

大數據技能差距

企業運用大數據的最大障礙是缺乏相關的技能,如Hadoop管理技能、大數據分析技能或數據科學。為了讓大數據真正被大量採用,並且實現其全部潛力,縮小技能上的差距就至關重要了。這需要從兩條戰線進行攻擊:

首先,這意味著開源社區和商業大數據廠商必須開發易於使用的大數據管理和分析工具和技術,為傳統的IT和商業智能專業人士降低進入的門檻。這些工具和技術,必須從底層數據處理框架抽象掉儘可能多的複雜性。可以通過圖形用戶界面,類似於嚮導的安裝功能和日常任務自動化的組合方式實現。

其次,社會必須開發更多的教育資源,培養現有的IT和商業智能專業人士以及高中生和大學生成為我們未來所需要的大數據從業者。

據麥肯錫公司研究,到2018年僅美國就有可能面臨14萬〜19萬具備專業分析技能的人才,以及懂得使用大數據分析做出有效決策的150萬經理和分析師的短缺。造成短缺的部分原因是數據科學本身的規律導致的,因為數據科學要求各種綜合技能。

具體來說,數據科學家必須具備的技術技能側重於統計、計算機科學和數學。但他們還必須具有商業頭腦,即了解現有業務,並且能找到大數據可以業務提供最大價值的方向。或許同樣重要的是,數據科學家必須具備專業的溝通技巧,以及通過大數據的可視化,向業務同事講故事的能力。

正如本報告中提到的,一些大數據廠商開始提供大數據培訓課程。IT從業者具有極好的機會,利用這些培訓和教育活動的優勢磨練自己的數據分析技能,並可以在企業內部確定新的職業道路。同樣,在南加州大學、北卡羅來納州立大學、紐約大學和其他地方,幾門關於大數據和高級分析技術的大學級別的課程也應運而生。但大數據的發展和普及還是需要更多的課程。

只有通過兩條戰線-更好的工具和技術,更好的教育和培訓-才能克服大數據技術差距。

大數據:企業和供應商的後續動作

對企業和為他們服務的供應商雙方而言,大數據都具有很大的潛力,但首先必須先採取行動。Wikibon的建議如下。

行動項目:各個行業的企業應評估現有和潛在的大數據用例,參與大數據社區了解最新的技術發展。與大數據社區里志趣相投的企業和供應商一起識別大數據能夠提供商業價值的領域。接下來,考慮企業內部的大數據技術水平,確定是否開始大數據方法,如Hadoop的試驗。如果是這樣,與IT部門和業務部門一起制定計劃,將大數據工具、技術和方法整合到企業現有的IT基礎架構。

最重要的是,首先要在所有工作人員中培養數據驅動的文化,鼓勵數據實驗。當這個基礎已經奠定,開始使用大數據的技術和方法提供最大的業務價值,並不斷地重新評估新成熟的大數據方法。

IT供應商應該幫助企業找出最有利可圖、最實用的大數據用例,開發使大數據技術更易於部署、管理和使用的產品和服務。擁有開放而不專有的心態,給予客戶嘗試新的大數據技術和工具所需要的靈活性。同樣地,開始建立大數據服務,幫助企業發展部署和管理大數據方法(如Hadoop)所需要的技能。最重要的是,隨著大數據部署方案的成熟和成長,及時傾聽和回應客戶的反饋。

via:大數據觀察

二維碼,隨時了解大數據最新動向,添加36大數據官方微信公共帳號dashuju36:



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦