一文讀懂大資料:Hadoop,大資料技術及相關應用

來源:互聯網
上載者:User
關鍵字 大資料 可以 資料倉儲 傳統

這是一本小書而不是一篇文章,因為它詳實細緻的讓你從一個完全不了解大資料技術及相關應用的門外漢,變成一個熟知其概念和意義的「內行人」,所以它很棒!

為公司提供有效的業務分析工具和技術是首席資訊官的首要任務。 有效的業務分析(從基本報告到高級的資料採礦和預測分析)使得資料分析人員和業務人員都可以從資料中獲得見解,當這些見解轉化為行動,會給公司帶來更高的效率和盈利能力。

所有業務分析都是基於資料的。 傳統意義上,這意味著企業自己創建和存儲的結構化資料,如CRM系統中的客戶資料,ERP系統中的運營資料,以及會計資料庫中的財務資料。 得益于社交媒體和網路服務(如Facebook,Twitter),資料感應器以及網路設備,機器和人類產生的網上交易,以及其他來源的非結構化和半結構化的資料的普及, 企業現有資料的體積和類型以及為追求最大商業價值而產生的近即時分析的需求正在迅速增加。 我們稱這些為大資料。

傳統的資料管理和業務分析工具及技術都面臨大資料的壓力,與此同時説明企業獲得來自大資料分析見解的新方法不斷湧現。 這些新方法採取一種完全不同于傳統工具和技術的方式進行資料處理、分析和應用。 這些新方法包括開源框架Hadoop,NoSQL資料庫(如Cassandra和Accumulo)以及大規模並行分析資料庫(如EMC的Greenplum,惠普的Vertica和TeradataASTERData)。 這意味著,企業也需要從技術和文化兩個角度重新思考他們對待業務分析的方式。

對於大多數企業而言,這種轉變並不容易,但對於接受轉變並將大資料作為業務分析實踐基石的企業來說,他們會擁有遠遠超過膽小對手的顯著競爭優勢。 大資料助力複雜的業務分析可能為企業帶來前所未有的關於客戶行為以及動盪的市場環境的深入洞察,使得他們能夠更快速的做出資料驅動業務的決策,從而比競爭對手更有效率。

從存儲及支援大資料處理的伺服器端技術到為終端使用者帶來鮮活的新見解的前端資料視覺化檢視,大資料的出現也為硬體、軟體和服務供應商提供了顯著的機會。 這些説明企業過渡到大資料實踐者的供應商,無論是提供增加商業價值的大資料用例,還是發展讓大資料變為現實的技術和服務,都將得到茁壯成長。

大資料是所有行業新的權威的競爭優勢。 認為大資料是曇花一現的企業和技術供應商很快就會發現自己需要很辛苦才能跟上那些提前思考的競爭對手的步伐。 在我們看來,他們是非常危險的。 對於那些理解並擁抱大資料現實的企業,新創新,高靈活性,以及高盈利能力的可能性幾乎是無止境的。

資料處理和分析:傳統方式

傳統上,為了特定分析目的進行的資料處理都是基於相當靜態的藍圖。 通過常規的業務流程,企業通過CRM、ERP和財務系統等應用程式,創建基於穩定資料模型的結構化資料。 資料整合工具用於從企業應用程式和事務型資料庫中擷取、轉換和下載資料到一個臨時區域,在這個臨時區域進行資料品質檢查和資料標準化,資料最終被模式化到整齊的行和表。 這種模型化和清洗過的資料被載入到企業級資料倉儲。 這個過程會週期性發生,如每天或每週,有時會更頻繁。

在傳統資料倉儲中,資料倉儲管理員創建計畫,定期計算倉庫中的標準化資料,並將產生的報告分配到各營業單位。 他們還為管理人員創建儀表板和其他功能有限的視覺化檢視。

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

大資料性質的變化

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

從時間或成本效益上看,傳統的資料倉儲等資料管理工具都無法實現大資料的處理和分析工作。 也就是說,必須將資料組織成關係表(整齊的行和列資料),傳統的企業級資料倉儲才可以處理。 由於需要的時間和人力成本,對海量的非結構化資料應用這種結構是不切實際的。 此外,擴展傳統的企業級資料倉儲使其適應潛在的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生態系統還包括許多免費子專案。 NoSQL資料存儲系統(如Cassandra和HBase)也被用於存儲Hadoop的MapReduce作業結果。 除了JAVA,很多 MapReduce 作業及其他Hadoop的功能都是用Pig語言寫的,Pig是專門針對Hadoop設計的開來源語言。 Hive最初是由Facebook開發的開源資料倉儲,可以在Hadoop中建立分析模型。

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資料庫包括:

目前大多數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)正在開發商業智慧型的應用程式,這種應用程式允許非核心使用者與大資料直接交互。

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

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

大資料供應商發展狀況

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

大資料:實際使用案例

讓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)所需要的技能。 最重要的是,隨著大資料部署方案的成熟和成長,及時傾聽和回應客戶的回饋

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.