?

市場研究相關的大數據技術與資源介紹

2015-04-04 17:33馬亮
數字通信世界 2015年4期
關鍵詞:分布式計算機器可視化

馬亮

(慧辰資訊,北京 100016)

市場研究相關的大數據技術與資源介紹

馬亮

(慧辰資訊,北京100016)

在筆者前兩篇討論產品方法論和業務模式變化的文章中,可以發現,IT技術成為大數據業務生態下的重要競爭力。本文中筆者將結合自身工作,針對市場研究所需的大數據IT技術及可用資源進行簡要介紹。內容主要面向非技術性的研究人員,不涉及技術細節。

大數據;IT技術;可用資源

1 研究業務的技術特性要求

大數據相關技術和資源眾多,先從市場研究的業務特點來分析其對技術性的一些要求:一是數據規模而言,因為客戶主要偏傳統企業客戶(非互聯網類),受其業務限制,可分析的大數據規模不會超過百億/TB級,不像互聯網企業達到千億/PB級。二是數據格式還是以結構化數據為主,部分非結構化文本(如互聯網/社交方面為主)。三是處理模式上,因為分析過程是多次迭代和不斷深入,不需要實時出結論,所以離線非實時、批量化/Ad Hoc結合的OLAP分析是主要模式。這個和很多互聯網企業的實時大數據業務要求不同。四是分析的屬性維度多樣,經常變化,關注整體特性。所以對數據管理中的多字段檢索和匯總統計的能力要求較高?;谝陨系募夹g要求,我們來討論研究業務適合的技術理論與資源。

2 主要技術理論

在整個大數據相關技術體系中,研究公司大數據業務涉及的技術領域主要如下:

2.1分布式計算

在大數據領域,大部分數據存儲和高速計算都離不開分布式計算(Distributed computing)。日常生活中,我們一臺電腦可完成所有計算和數據存儲,當覺得不夠用時,通常是更換更快的CPU和更大硬盤來解決。但當計算速度和存儲要求越來越高時(如大數據環境下對TB甚至PB級數據管理計算),這種通過提升單臺服務器性能的集中模式會導致服務器(如使用在運營商話單計費、銀行交易系統的小型機)成本極為昂貴,且最終可能仍然無法滿足要求。另外一種思路,則是將大的計算需求分攤到多臺計算機一起來完成(如同一個大卡車的載貨被分到很多臺小卡車來運輸一樣)。相應的分布式計算(包括存儲)就是通過多臺(成千上萬甚至百萬)廉價、低性能服務器來實現超高的計算存儲能力。在分布式計算系統中,任何計算和存儲請求,被自動分為多個小的任務,分攤到各服務器上并行完成。同時,數據分布在多個服務器節點并有備份,這樣即使部分服務器損壞并不影響系統運行。

相比集中模式,分布式計算成本和門檻更低,易擴展并具高可靠性。成為近10年來IT體系架構最重要的技術,支撐起了整個互聯網的數據和業務,也是云計算和大數據的支撐技術之一。

2.2機器學習

如果說分布式計算是IT體系架構的明星,那機器學習(Machine Learning)就是智能數據分析的利器了。作為人工智能的核心研究領域之一,機器學習是為了讓計算機通過經驗(先驗知識數據)來模仿人類的學習能力,從而獲得計算機系統能力的提升。20世紀末,隨著統計學習理論出現和發展,機器學習從IT技術逐步擴展為一種交叉學科,在很多非IT領域也得到廣泛應用。雖然相關算法在理論上需要較多的知識背景,但不要覺得它是多么高大上,比如研究行業常用到的決策樹、分類(有監督學習)和聚類(無監督學習),實際都是機器學習的算法子集(其他常用的還有Bayes網絡、支持向量機和神經元網絡等)?;谟柧?建模-分類-優化的迭代生成模式,使得機器學習在實際的分析性能和模型適用性方面,具有較大的優勢。近兩年來,基于多層神經網絡的深度學習(Deep Learning)理論在一些領域(自然語言、音視頻識別)具有突出的表現,有望進一步推動機器學習的深入分析能力。

大數據領域,機器學習由于其在數據分析方面的先天優勢能力,當仁不讓的成為相關數據分析的核心技術。該方面的技術水平成為當前衡量大數據分析能力的重要標志。

2.3自然語言處理

大數據的多種數據中,非結構化數據日趨龐雜和重要,其代表就是自然語言形式的語義內容(搜索、新聞、社交媒體、電商評論等),而對其內容的分析(如文本挖掘)離不開自然語言處理技術。相關學術學科叫計算語言學,作為計算機與語言的交叉學科,它以統計性、量化的方式來研究語言的規律。自然語言處理(Natural Language Process)涉及分詞、詞法、句法、語法、語義分析等多個層面,相當復雜。而當前商業性應用,中文的主要集中在分詞、詞頻統計、關鍵特征抽取等淺層分析、情感傾向與主題模型(如LDA/PLSA等)和機器翻譯等方面。傳統研究業務中,也可用于開放題/討論文本的自動分析編碼。實際上,NLP的應用領域應該可以更大。舉一個有趣的例子,曹雪芹的《紅樓夢》最后40章常被認為是高鶚續作,但相關觀點的紅學家/語言學家并不能有效證明。借助計算語言學,可對前80章和后40章的內容進行分析(包括用詞習慣、句法、文法等),可得到兩部分文章在行文風格的多種量化指標,通過其差異就能判斷是否為不同的作者。計算語言學的理論基礎感覺近年來進展不大,但深度學習近年來的表現,有望幫助其在應用性能方面有所提升。

2.4數據挖掘

數據挖掘(Data Mining)在非大數據時代(海量數據)就已經廣泛使用(如CRM的用戶分析、產品關聯分析)。嚴格的說,其并不算是一種技術,而是一種分析模式:綜合利用機器學習、數據庫技術和自然語言處理等多種技術方法,從數據中獲得相關的結果。在大數據時代,雖然數據的挖掘往往意味著數據金礦,但筆者認為,挖掘技術必須與業務分析思路緊密結合,才會發揮出較大的價值。

2.5其他關鍵技術

在大數據時代,互聯網社交媒體數據(尤其是用戶間的關系數據)體現出了前所未有的價值。對上億用戶錯綜復雜的關系網絡的快速分析,正是圖計算理論擅長之處。圖計算作為新興的技術理論,主要聚焦節點之間關系的深度研究,其不僅在社交用戶分析上價值很大,在惡意欺詐檢測、生命科學等領域都有著巨大應用前景。

而隨著音視頻數據的日益普及和傳播,針對此類大數據的處理(比如語音識別/圖像、視頻識別分析)技術,也在大數據業務中逐步開始使用。這些其實都是模式識別(Pattern Recognition)技術的應用,核心問題是特征(維度較高)的抽取和相似/匹配性比較。

3 主要技術資源與工具

在前面了解的技術理論之上,我們進一步介紹大數據業務中可使用的技術資源和工具。相關說明按業務流程順序展開,以主流、免費的開源資源為主。

3.1分布式計算框架

分布式計算框架用于完成分布式計算所需的底層任務管理和調度等核心工作,是大數據計算體系結構的基石。當前主流的開源框架包括:

⊙Hadoop和Map/Reduce,借鑒Google的分布式系統發展而來。2009年筆者使用其早期版本時問題頗多,但幾年后其已經成為事實的行業標準,并衍生出龐大的上層生態圈。其Map/Reduce計算范式解決分布式調度和結果歸并的問題,大大降低了分布式程序開發的難度。Hadoop擅長的離線批量式處理適合研究公司的基礎數據計算(如匯總和統計),缺點是響應遲滯、速度慢、維護和編程也相對麻煩。

⊙Spark新的分布式開源框架,在迭代計算(如機器學習)場景下,比Hadoop快幾十倍,同時提供了MLLib機器學習、Spark Sql查詢和GraphX圖計算眾多大數據工具包,也更易于維護和編程。眾多優點使得其近一年發展極快,受到了廣泛的支持,預計將代替Hadoop成為新的數據計算標準。Spark 比Hadoop更加適合研究公司,在HCR(慧辰資訊)大數據平臺中,其作為大數據分析計算的核心,完成機器學習的相關處理。

⊙Strom,Hadoop,Spark都適合非實時處理,對于需要實時響應的業務(比如DSP/RTB廣告實時競價,電商平臺實時購物推薦)場景,則是Storm流式計算框架的天下,高速和高容錯使得它已經在此類業務環境中成為基本配置,如果研究公司存在類似實時處理特性的業務也可以考慮使用。

3.2數據管理

數據管理主要包括存儲和快速檢索。大數據環境中,研究業務相關的數據更多以數據庫而不是文件方式存儲,所以這里主要介紹幾類數據庫的選擇:

⊙關系數據庫(Mysql/Oracle)。傳統的關系數據庫雖然對大數據的支持能力有些不足,但就研究公司而言,億級以下的結構化數據分析仍然是未來分析的重要場景,此時使用關系數據庫(無論免費的Mysql,還是商業的Oracle)完全沒有問題。其便于管理,工具成熟,適合研究中各種多維度的統計分析。同時,也適合在大數據業務中作為數據倉庫存儲大數據的中間分析結果,便于后續更上層分析。

⊙鍵值數據庫(HBase/Cassandra)。真正意義上的大數據數據庫,基于分布式計算體系和鍵值模式可輕松支持百億規模以上的記錄管理。但其最適合針對特定單一條件(如某用戶的相關信息)的快速查詢,不支持多級索引,所以研究中常用的多維分析(多字段條件)會很麻煩(方便性遠不如關系數據庫),對單用戶的檢索分析則很快。在HCR(慧辰資訊)平臺中,HBase主要作為基礎大數據的存儲和單用戶行為標簽的離線批量計算。

⊙文檔數據庫(MongoDB)。另一基于文檔的

大數據數據庫,使用上最大特點是可隨意增刪記錄的字段,尤其適合某些研究分析中隨時自定義分析屬性維度。如果有涉及地理空間的分析,其也比較方便。就實際應用而言,建議在小于10億級別的動態數據比較合適(否則對內存和硬盤空間需求太大)。

3.3處理與計算

市場研究行業大數據業務中,分析相關的數據計算技術是最重要的技術內容,主要集中在以下幾個領域:

⊙并行機器學習(Mahout /Spark MLLib)。機器學習本已是數據計算利器,而基于分布式的并行機器學習框架則將其能力又大大增強。Mahout中實現了大量的機器學習算法(包括推薦算法)的并行版本(甚至有并行SVD這種高大上),是當前大數據機器學習的主要工具包。MLib基于Spark框架,在性能上有優勢,也開始受到廣泛的關注。

⊙自然語言處理。在中文自然語言處理領域,當前可用的免費開放資源并不多(分詞資源較多),一些開放資源主要來自學術院校,但在效果上面向工業應用尚有不足。當前常見方式是借助專業技術企業/院校合作獲得深入分析能力。

⊙圖計算(GraphLab/Spark GraphX)。如果有圖計算相關的需求可考慮采用這些開源資源。前者是當前最主流的圖計算框架,實現了圖數據的存儲和基礎計算邏輯;后者GraphX是Spark體系下的圖計算新貴。

⊙R語言。R語言作為統計性功能強大的計算語言,在傳統研究行業具有較大應用前景,同時其在可視化和開源支持方面也有一定優勢,如今R對Hadoop的支持也比較完善。對于熟悉R語言的研究公司,可從R語言更快切入大數據的計算領域。

3.4研究分析

在分析階段,考慮研究分析人員將成為重要的角色,此時資源聚焦在研究分析人員可以使用的各種工具上。以下是相關的一些內容:

⊙Hive/Impala/Spark Sql。分布式的大數據(數據倉庫)的分析工具,支持以傳統關系數據庫Sql語句進行大數據內容的檢索,大大降低了研究分析人員的大數據分析門檻,是適合數據分析/研究人員的最佳工具。Hive最早由Facebook開源,應用最廣,但性能最差。Impala在性能與穩定性的平衡較好,但限制較多。Spark Sql作為最新的工具,性能最強,但穩定性尚待完善。

⊙TableAU。企業級大數據分析工具,多應用于世界500強企業內部業務分析,不過其是商業付費軟件。其優點是大數據下的可視化和方便性,研究人員使用比較容易。就實際應用體會上,感覺更適合企業級內部數據、億級以下的結構化大數據的場景。分析維度主要是統計性維度,可分析深度相對不足。

⊙SPSS Modeler。IBM的商用數據挖掘工具,對大數據支持能力不如TableAU(與其計算復雜度相關),其特點是提供專業的數據挖掘算法,研究中適合做深度/非統計性研究。

⊙Gephi??梢暬治?如果要做一些傳播關系的圖形化分析,那不妨考慮Gephi,其支持多種可視化分析圖生成,不過在較大數據量(比如2萬節點以上)時性能下降較快,所以最好對數據預先做相關平滑和剪枝。

⊙可視化開發框架。數據可視化是大數據的一個特色,但這里放到研究分析來說明,是因為可視化技術的價值是幫助更有效的分析,不是花哨的展示。當前國內百度EChart(2.0以上版本)的易用性和功能相對不錯(就是感覺樣式配色不夠專業);國外基于D3框架的應用更能體現可視化的價值(效果強大,但開發比較麻煩);桌面辦公軟件中,微軟GeoFlow支持Excel的Bing地圖可視化;其他還有很多各有特色的可視化框架,不再一一介紹了。

HCR(慧辰資訊)認為,經過以上內容,想必研究同行們對大數據相關技術已經有了基本的認識。如果要想在大數據業務服務中發揮自身價值,研究人員除了轉變方法論思路外,還要注意提升自身的技術能力。

傳統研究業務中,研究人員太依賴DP和其他IT人員進行數據計算處理,自身沒有任何技術能力。大數據業態下,技術性分析與傳統研究將緊密結合,技術手段的使用程度深入影響數據洞察的深度。研究人員如果熟悉相關技術手段(至少分析工具的使用),將會極大擴展自身的分析能力。既熟悉大數據處理技術,又懂得研究業務思路的復合人才—數據科學家,將是未來數據分析業務的王者。

Introduction to Big Data Technologies and Resources Related to Market Research

Ma Liang
(HCR Co.,Ltd,Beijing,100016)

It is obvious to find that IT technology is the crucial competition of the Big data in the early two articles that I put forward the ideas on the method and business mode about the Big Data. Based on my own working experience,I will make an introduction about the IT technology and available resources of Big Data in this article. It aims at laymen and omits the details.

Big Data; IT technology; Available Resources

10.3969/J.ISSN.1672-7274.2015.04.014

TP3

B

1672-7274(2015)04-0054-04

猜你喜歡
分布式計算機器可視化
基于CiteSpace的足三里穴研究可視化分析
機器狗
機器狗
思維可視化
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
未來機器城
基于云計算的移動學習平臺設計與實現
云計算中MapReduce分布式并行處理框架的研究與搭建
面向異構分布式計算環境的并行任務調度優化方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合