如果你正在嘗試構(gòu)建大數(shù)據(jù)應(yīng)用或分析系統(tǒng),你可能會(huì)清楚的意識(shí)到該領(lǐng)域缺少哪些功能。筆者將人們對大數(shù)據(jù)的愿景歸納為五大需求,分別是SQL(或SQL-like)分析、快速部署、高級(jí)分析、實(shí)時(shí)分析和網(wǎng)絡(luò)分析選件。
好消息是人們正在努力應(yīng)對這些問題,SQL分析選件就是其中之一。大批數(shù)據(jù)管理和數(shù)據(jù)分析專家們對SQL非常熟悉,自然想要利用SQL知識(shí)搞清楚Hadoop集群和NoSQL數(shù)據(jù)庫中的數(shù)據(jù)。Apache Hadoop軟件的發(fā)行商都在規(guī)劃、測試,甚至已經(jīng)發(fā)布了SQL(或SQL-like)分析選件,用于分析存在于Hadoop集群里的數(shù)據(jù)。這些發(fā)行商包括Cloudera、EMC、Hortonworks、IBM、MapR和Teradata等。在NoSQL陣營中,10gen公司已經(jīng)對MongoDB的分析能力進(jìn)行了改進(jìn),大數(shù)據(jù)廠商Acunu對Cassandra也做了同樣的改進(jìn)。
部署和管理Hadoop集群和NoSQL數(shù)據(jù)庫對于大多數(shù)IT組織而言是一種全新的體驗(yàn),但似乎每個(gè)軟件更新帶來的部署和管理新特性都能夠讓生活變得更輕松。與此同時(shí),EMC、HP、IBM、Oracle和Teradata等廠商計(jì)劃或已經(jīng)提供了一些工具,旨在幫助企業(yè)進(jìn)行Hadoop快速部署。其他廠商將重點(diǎn)放在Hadoop框架組件的使用,如WibiData,提供簡化HBase的開源庫、模型和工具。
收集和利用大數(shù)據(jù)的重點(diǎn)是進(jìn)行預(yù)測分析和其他高級(jí)分析,進(jìn)而得到更明智的商業(yè)決策。但是在數(shù)據(jù)人才短缺的今天,企業(yè)正在尋求一種更簡便的方式支持復(fù)雜的分析過程。很多廠商和企業(yè)都在研究機(jī)器學(xué)習(xí),這是因?yàn)樗灰蕾囉趯<遥且蕾嚁?shù)據(jù)和計(jì)算能力收集客戶行為數(shù)據(jù),并挖掘數(shù)據(jù)背后的商業(yè)模式。
大數(shù)據(jù)的3V原理的其中一個(gè)V是velocity(速度),但是很難用“實(shí)時(shí)”一詞來形容Hadoop,其弊端在于MapReduce的分析方法。MapR和HStreaming等廠商開始為Hadoop增加實(shí)時(shí)分析功能,其他廠商可能會(huì)效仿,尤其是那些事件流處理廠商。
排在第五位的大數(shù)據(jù)愿景是更簡便的網(wǎng)絡(luò)分析。目前,企業(yè)友好型圖形分析數(shù)據(jù)庫和工具不斷涌現(xiàn),它們采用了很多與Facebook相同的真正大規(guī)模的技術(shù)。這里提到的工具和技術(shù)很少有30年以上的歷史,不會(huì)像關(guān)系型數(shù)據(jù)庫和SQL查詢工具那樣成熟。但是有明確的跡象表明,大數(shù)據(jù)管理和分析的痛點(diǎn)正在迅速緩解。
愿景一:大數(shù)據(jù)規(guī)模的SQL分析
通過很多關(guān)于大數(shù)據(jù)人才短缺的故事和報(bào)告,就可以得到這樣一個(gè)結(jié)論:大數(shù)據(jù)領(lǐng)域最迫切的需求是了解數(shù)據(jù)類型的數(shù)據(jù)科學(xué)家,他們也知道如何通過編寫自定義代碼、MapReduce作業(yè)和算法在大數(shù)據(jù)中獲取洞察力。但是,為何不讓擅長關(guān)系型數(shù)據(jù)庫、商業(yè)智能(BI)和分析工具的SQL專家處理更多繁重的工作呢?SQL專家的數(shù)量遠(yuǎn)遠(yuǎn)大于數(shù)據(jù)科學(xué)家,并且大多數(shù)SQL專家更急于擴(kuò)大自己的職業(yè)潛力。
推動(dòng)在Hadoop之上提供SQL分析能力,大數(shù)據(jù)的人才短缺只是其中一個(gè)原因。另一個(gè)原因是Apache Hive——Hadoop中的數(shù)據(jù)倉庫,它提供SQL-like查詢功能的有限子集,但是Hive是將SQL查詢轉(zhuǎn)化成MapReduce任務(wù),這導(dǎo)致Hive的性能緩慢。
為了應(yīng)對Hadoop之上SQL查詢范圍更廣、速度更快的需求,很多相關(guān)項(xiàng)目和方案陸續(xù)發(fā)布,如Cloudera Impala、EMC Pivotal HD中的HAWQ查詢特性、Hortonworks Stinger、IBM Big SQL、MapR支持的Apache Drill、Teradata SQL-H等。
即使是NoSQL陣營也在為更好的SQL-like查詢功能而努力。去年10gen公司為其MongoDB NoSQL數(shù)據(jù)庫新增了一個(gè)實(shí)時(shí)數(shù)據(jù)統(tǒng)計(jì)框架,該框架讓用戶直接在MongoDB中查詢數(shù)據(jù),而不需要編寫或者運(yùn)行編譯的、面向批處理的MapReduce作業(yè)。Acunu公司也在做類似的工作,它已開發(fā)出一種SQL-like的AQL(Annotator Query Language)語言支持Cassandra查詢。
SQL查詢功能的發(fā)展僅僅是個(gè)開端。BI、分析工具和大數(shù)據(jù)平臺(tái)自身分析系統(tǒng)的脫穎而出,如Datameer、Hadapt、Karmasphere和Platfora等,它們提供了Hadoop之上的分區(qū)查詢、分析、數(shù)據(jù)可視化和監(jiān)控能力。
愿景二:簡化的部署和管理
包含Hadoop和NoSQL數(shù)據(jù)庫在內(nèi)的大數(shù)據(jù)平臺(tái)一直在努力簡化其部署和管理功能,每次軟件升級(jí)都會(huì)帶來新的管理特性和新的內(nèi)置功能,例如10gen公司在最新發(fā)布的MongoDB中新增了內(nèi)置文本搜索功能和預(yù)置監(jiān)控功能。Hortonwork Hadoop發(fā)行版針對微軟Windows的版本嵌入Active Directory(活動(dòng)目錄)、System Center和虛擬化技術(shù),用以簡化大數(shù)據(jù)的部署和管理。
在構(gòu)建Hadoop集群的過程中,雖然沒有太多硬件方面的抱怨,但是EMC、IBM、Oracle和Teradata等硬件廠商推出Hadoop一體機(jī),使Hadoop的部署更快速、更便捷。商用硬件的成本很高,但是Oracle稱如果算上每個(gè)組件的價(jià)格、配置和調(diào)整的時(shí)間、維護(hù)和升級(jí)工作、可以直接運(yùn)行的Cloudera軟件,以及Oracle NoSQL數(shù)據(jù)庫,一體機(jī)的成本比自己部署價(jià)格更低。
真正復(fù)雜的Hadoop管理常常出現(xiàn)在軟件層面,而非硬件配置。例如HBase——Hadoop架構(gòu)中日益重要的NoSQL數(shù)據(jù)庫,很多開發(fā)者認(rèn)為很難在HBase中建模和分析數(shù)據(jù)。WibiData公司提供開源庫、模型和工具,使HBase中的數(shù)據(jù)更容易存儲(chǔ)、提取和分析。該理念是將HBase運(yùn)行中的技術(shù)難點(diǎn)可重復(fù)化,因此在解決商業(yè)問題時(shí)節(jié)省大量工程師和數(shù)據(jù)科學(xué)家等人力資源,這一準(zhǔn)則也可以應(yīng)用于其他大數(shù)據(jù)平臺(tái)。
愿景三:更簡單的高級(jí)分析方法
開發(fā)算法和預(yù)測模型是專業(yè)數(shù)據(jù)科學(xué)家的工作,但是他們既數(shù)量稀少,又需要支付高額報(bào)酬。因此,人才短缺是大數(shù)據(jù)、分析和商業(yè)智能廠商開發(fā)機(jī)器學(xué)習(xí)方法的原因之一。在光學(xué)字符識(shí)別、垃圾郵件過濾和計(jì)算機(jī)安全威脅檢測等應(yīng)用程序中證實(shí),機(jī)器學(xué)習(xí)使用的學(xué)習(xí)算法是數(shù)據(jù)本身訓(xùn)練而來的。如果展示該算法掃描成千上萬個(gè)文本字符、未經(jīng)請求的電子郵件消息、病毒程序和惡意軟件等,的確能夠找到更多實(shí)例。
隨著機(jī)器學(xué)習(xí)的發(fā)展,訓(xùn)練模型還能繼續(xù)在新的數(shù)據(jù)中學(xué)習(xí)。例如Amazon.com和Netflix公司利用算法發(fā)現(xiàn)顧客交易規(guī)律,并向他們推薦感興趣的書或電影。每當(dāng)新書或者電影發(fā)行時(shí),這些公司可以利用算法洞察數(shù)據(jù)中的偏好模式,推薦給相關(guān)顧客。
Apache Mahout是全球領(lǐng)先的部署機(jī)器學(xué)習(xí)基礎(chǔ)集群、分類、Hadoop協(xié)同過濾算法的項(xiàng)目,該技術(shù)同樣是由R統(tǒng)計(jì)編程語言支持的。支持或嵌入機(jī)器學(xué)習(xí)技術(shù)的廠商還包括Alpine數(shù)據(jù)實(shí)驗(yàn)室、Birst、Causata、Lionsolver、Revolution Analytics等。
[page]
愿景四:實(shí)時(shí)分析
大數(shù)據(jù)分析上的另一個(gè)需求是實(shí)時(shí)性能。兩家初創(chuàng)廠商正試圖抓住這一機(jī)遇,分別是市場分析廠商Causata和實(shí)時(shí)Hadoop分析廠商HStreaming。
對于Causata而言,“實(shí)時(shí)”意味著在50毫秒以內(nèi)作出決策。當(dāng)你的顧客仍然在訪問網(wǎng)站和手機(jī)客戶端時(shí),需要以這種速度更改內(nèi)容、橫幅廣告和市場報(bào)價(jià)。Causata利用Hadoop的HBase NoSQL數(shù)據(jù)庫進(jìn)行存儲(chǔ),包括點(diǎn)擊流、活動(dòng)響應(yīng)數(shù)據(jù)和CRM記錄等與市場相關(guān)的數(shù)據(jù)。HBase并不擅長實(shí)時(shí)查詢,因此Causata在專有查詢引擎上運(yùn)行基于Java的算法用以提升性能。
HStreaming所用的流處理技術(shù)類似于金融交易系統(tǒng)中的事件處理引擎,以及IBM(InfoSphere Streams)、Progress Software (Apama)、SAP (Sybase Aleri)、Tibco (Complex Event Processing)等技術(shù)。HStreaming能夠直接從不間斷數(shù)據(jù)源中提取數(shù)據(jù),如視頻監(jiān)控?cái)z像頭、發(fā)射塔、傳感器等。該技術(shù)還提供了一種提取、轉(zhuǎn)換、加載(ETL)的形式,將數(shù)據(jù)存儲(chǔ)在Hadoop中,用于隨后的分析。HStreaming在視頻監(jiān)控、網(wǎng)絡(luò)優(yōu)化和移動(dòng)廣告領(lǐng)域擁有最多應(yīng)用,在這三種場景下,實(shí)時(shí)洞察力和行動(dòng)力是必須的。
與HStreaming采取不同的策略,Hadoop軟件和服務(wù)提供商MapR宣布與Informatica成為合作伙伴,并將成為第一個(gè)也是唯一一個(gè)擁有實(shí)時(shí)能力的Hadoop軟件發(fā)行商,能夠在大數(shù)據(jù)平臺(tái)中以接近實(shí)時(shí)的速度傳送數(shù)據(jù)。MapR的Hadoop發(fā)行版的特色是無鎖存儲(chǔ)服務(wù)層,能夠與Informatica消息傳遞軟件共同運(yùn)行,不斷將大規(guī)模數(shù)據(jù)傳送至Hadoop。結(jié)合即將推出的SQL-on-Hadoop選件,如MapR-favored Drill,大數(shù)據(jù)又將增加一個(gè)快速分析的選擇。
愿景五:網(wǎng)絡(luò)洞察力
社交網(wǎng)絡(luò)為大數(shù)據(jù)貢獻(xiàn)了規(guī)模性和多樣性的數(shù)據(jù),社交網(wǎng)絡(luò)本身使用圖形數(shù)據(jù)庫和分析工具,通過研究“節(jié)點(diǎn)(nodes)”發(fā)現(xiàn)用戶關(guān)系網(wǎng)。這些節(jié)點(diǎn)代表人、公司、地點(diǎn)等,而邊緣(edges)代表各個(gè)節(jié)點(diǎn)中復(fù)雜的關(guān)系。
美國世紀(jì)投資公司利用圖形分析預(yù)測公司基金投資的業(yè)績,該公司使用的開源R統(tǒng)計(jì)編程語言和iGraph包由Revolution Analytics(分析力革命公司)提供軟件和支持,由此創(chuàng)建的圖形分析應(yīng)用能夠跟蹤制造商和供應(yīng)商之間的資金流。
如同蘋果公司與其芯片和屏幕的供應(yīng)商或者汽車制造商與其零部件供應(yīng)商之間的關(guān)系。美國世紀(jì)投資公司結(jié)合這些采購關(guān)系的公共和私有數(shù)據(jù),運(yùn)用圖形分析獲得對供應(yīng)商更清晰的認(rèn)識(shí),這些預(yù)測比基于公共財(cái)政報(bào)告數(shù)據(jù)的預(yù)測更準(zhǔn)確。
其他支持圖形分析的開源技術(shù)還有Neo4j,這是Neo Technologies公司開發(fā)和支持的一款圖形數(shù)據(jù)庫。Neo4j適用于IT和電信網(wǎng)絡(luò)場景應(yīng)對安全接入挑戰(zhàn)、在主數(shù)據(jù)管理應(yīng)用中觀察數(shù)據(jù)之間關(guān)系的變化,以及在推薦引擎應(yīng)用中根據(jù)好友的行為和關(guān)系計(jì)算客戶的需求。除此之外,開源圖形分析項(xiàng)目還包括Google Pregel和Apache Giraph,人們對圖形分析的興趣與日俱增。