構建大數據生態需要哪些核心技術?
本文內容主要梳理了“大數據生態構建”廠商共建專場的重點內容,絕對的飽滿干貨。
參與大數據技術實踐分享的廠商有:通聯數據、明略數據、FreeWheel、七牛云、百度開放云、易觀和鏈家網。演講話題點包含機器學習、數據存儲、用戶畫像、數據查詢、數據遷移和數據分析等關鍵技術點,完整的詮釋了構建大數據生態必備的技能和構建生態最終的目的。具體內容往下看!
機器學習 & 金融投資
作為金融投資領域的實踐者,通聯數據在投研管理業務場景中有較多的經驗可以分享,尤其是在信息搜集、分析判斷、投資決策和后續跟蹤方面,將大數據吸收并用于投資活動的“小數據”。
而完成這一系列動作就需要一個分析能力特別強的平臺,平臺架構底層聚合多行業的數據,包括財務數據和社交數據等等,但是我們更為關注的是這個投研平臺的機器學習技術框架,因為這樣一個框架基本上展現出了其技術的組成部分和核心技術點。(如下圖)
圖1 機器學習技術框架
從圖上可以簡單的看出,平臺底層有海量的數據不斷積累、不斷增長,包括宏觀數據、行業的數據、場合數據,官方數據,也包括各種通過爬蟲爬來的各種數據。接下來會通過數據生產、數據清洗、數據上線等過程,將這些表面上看似沒什么關聯的數據通過自然語言處理和算法建立起一個知識圖譜和關系。通過設定某些規則來檢測不斷流動的數據流或者文本流信息,關注不斷出現的事件,對帶有關鍵詞或帶監控的主題進行監控,可以實時監控大事件。通過包括神經網絡在內的算法方式,對數據進行建模和歸類,把大量的信息進行過濾,過濾成有用的“小數據”。
除此之外,蔡弘博士還提到了通過機器學習向用戶推薦準確的新聞資訊;通過智能搜索,對關鍵詞的分詞、同義詞、精密度和重要度進行數據清洗和建模,完成用戶的精準信息搜索需求。
社會化數據 & 混合存儲
在講到社會化數據這一塊內容的時候,來自明略數據的任鑫琦解釋說,社會化數據的特點就是:收集更困難,質量難保證,數據非結構化,數據處理性能差。所以說,要把這樣的社會化數據存儲起來是有難度的。接下來看看社會化關系網絡的存儲架構,基于Hadoop分析框架和流式計算框架形成一整套數據處理框架,主要用于數據查詢。
圖2 社會化關系網絡的存儲架構
查詢完數據該如何存儲下來呢?當然是用混合存儲體系,(如上圖)這個存儲實現框架的底層都是基于一些開源的技術,最底層是基于HDFS,數據庫存儲用的是HBase,數據倉庫用的是Hive,圖形數據庫用的是開源的Titan。之所以用開源的Titan,原因在于其索引分析系統是Elastic Search,除了需要較多的業務應用之外,還有一些批量或者是離線、在線任務的計算,還要提供上層應用的服務層,能提供整體的一個接口。
此外,任老師還講了一些他所遇到的坑,包括邊爆炸問題,Super Node問題,多點查詢效率,索引性能和靈活度,導入數據性能等問題。
用戶畫像 & 標注噪聲處理
說起用戶畫像,這是計算廣告領域一個非常經典的問題。FreeWheel的童有軍老師在開講時介紹了用戶畫像在廣告投放平臺的重要地位。廣告的受眾定向和測量都會涉及到用戶畫像的相關工作。而受眾定向則是根據用戶畫像生成的用戶興趣細分標簽對廣告進行精準定向。
但是童老師也說到,在用戶畫像上,缺乏質量較高的標注來源,而FreeWheel選擇了一種基于貝葉斯的方法來近似的標注用戶。這種方法的基本思路就是通過用戶觀看過的視頻在各個分類上的分布來推測這個用戶的類別。對標注集合的噪聲處理方法主要是Boosting方法、Bagging方法和半監督方法。
Bagging方法中又分別嘗試了CV方法和有放回的Bagging方法。
圖3 用戶畫像與噪聲處理
最后,童老師也介紹了用戶畫像和標注噪聲的系統架構,(如上圖)從HDFS開始,到MR,SPARK,然后同時做特征工程,和貝葉斯算法。將算出后的數據,dump到server上,做Lable Noise,然后把數據插入到Aerospike中,用來做測試和使用。
百度 & 即席查詢
在大數據即席查詢技術的演講中,百度大數據架構師孫垚光分別講了BigSQL的定位和特點,BigSQL的架構和關鍵技術、以及在百度內部應用的案例。
首先BigSQL的定位是一個即席查詢服務平臺,是PaaS形態的產品,它的特點是支持半結構化數據格式,使用多樣化接口,兼容開源SparkSQL/HQL語法集,同時還有靈活的權限管理,支持不同用戶之間共享、協同工作。
下圖是BigSQL的整體架構圖,分成接入層和引擎層兩部分,最上面是用戶可以接觸到的各種API,中間是提供RestAPI的server,還有負責session管理和調度的master,監控job運行的worker等,下面是真正的計算引擎和存儲引擎。
圖4 BigSQL整體架構圖
接下來簡單說一下BigSQL的關鍵技術:高性能Shuffle。關鍵技術:高性能Shuffle。(如下圖)
圖5 高性能Shuffle
將基于磁盤的pull模式,改變成基于內存的push模式,因為很多復雜的項目對工程質量要求很高,所以這個改變并不容易。它的好處就是數據在map端全內存,到一個專用的Shuffle模塊上去聚合,聚合多個map的Shuffle模塊,產出的數據極大減少了磁盤IO和隨機讀,并且對于只需要分組不需要排序的Query,甚至可以做到流式處理,提高了時效性。
在最后的BigSQL后續規劃上,孫老師說到,在性能方面還會持續提升,包括存儲、計算、Query翻譯優化等各個層面的工作,比如更智能/細粒度的數據緩存層,數據的實時更新,向量執行,有效的提高CPU cache命中率,還有利用一些統計信息做cost based Optimizer等等。
大數據分析技術 & 房產領域
最后的一場演講是來自房產領域的鏈家網,其大數據架構師蔡白銀為大家分享了鏈家網是如何使用分析技術來價值最大化海量用戶數據的。蔡白銀在開頭就講到了,現在房產O2O領域存在很多痛點,包括精準數據收集以及辨別虛假信息等方面。
那么鏈家網是怎么解決這些痛點的呢?結合(下圖)大數據方面的技術架構圖一起來看一下。
圖6 鏈家網大數據技術架構
從下往上看,其黃色部分是數據采集層,HDFS是鏈家網內部業務數據存儲層,采集到的數據通過ETL傳輸到HDFS。同樣日志流經過Kafka進入HDFS,基于Yam提供計算的服務,計算完之后放入Hive進行分析,分析結果再存儲到Hbase,供其他業務方獲取。最上面的一層是應用挖掘層,鏈家網目前基于這些數據做了比如市場解讀報告,后續的市場情況,客源解讀等方面的服務提供。
在應用挖掘層,蔡老師挑出兩個案例做了進一步解釋。用戶畫像應用主要是對用戶畫像進行選型,HBase和Spark是整個選型過程中最關鍵的技術。放入Elastic Search的熱數據會被放入磁盤,HBase可以存儲線上所有用戶數據。在技術選型上,從左到右基于Hive、HDFS,到了Spark,將數據處理完之后會把結果批量放到Elastic Search。另外,通過Kafka傳過來的日志流在進入到Spark之后會建立索引,這些索引會全量放入Elastic Search,數據最終會放在HBase。但是為了應對與日劇增的龐大日志量,會把熱數據放在Elastic Search,將冷數據移出。
說在最后
大數據之所以能引領一場革命,原因并不在于“大”,而在于“有用”,它能夠將數據與現實社會有機融合,能真正意義上產生對社會有價值的變革。這也正應了業界流傳的那句話:三分技術,七分數據,得數據者得天下。大數據公司在爭搶數據源的同時,對數據處理的技術也在不斷的升級和多功能化。
從全天的演講內容來看,幾乎涵蓋了所有對大數據生態構建起作用的關鍵技術,以技術加實踐經驗的方式來輸出技術干貨,確實是一件對大數據技術交流有幫助的事情,整體的將數據分布式處理技術、存儲技術、感知技術、數據挖掘等技術統一到一起,建設良性增益的大數據閉環生態,也是所有開發者或架構師等技術人員所關心的問題。
作者:不詳;上傳用戶:minghao;上傳時間:2016-5-9;來源:raincent