大數據個相對概念,并不是全新的東西。“就像福特當年通過量產將汽車大眾化一樣,Teradata想做到的是怎么把現在炙手可熱的大數據從谷歌、雅虎、阿里這些技術性公司帶出來,讓它更易用,將數據的價值更大化、更普遍地利用。”近日,Teradata天睿公司大中華區Aster事業部總監孔宇華在到中國計算機報社就大數據做交流時如此表述。
在孔宇華看來,現如今的“大”數據與過去有一樣的地方,也有不一樣的地方。“一樣的是,大數據并沒有清晰的界定,它的范圍會隨著技術進步不斷變化:歷史上的某些大數據今天已經不再是大數據了,比如通話話單、交易流水等,而現在我們所認為的某些大數據在未來看可能都只是小菜一碟。不一樣的是,大部分企業要分析的數據已經不能在一個服務器上存儲,而競爭的壓力迫使他們要開始在大數據平臺之上分析這些數據。”
“不一樣的是數據來源更多了,如傳感器、社交網絡等,數據種類(非結構化數據)也更多了;但一樣的是,幾乎沒有方法可以直接分析非結構化的數據,都是得通過特定的提煉處理方法,將數據轉換為結構化數據來分析。無論是圖像的識別與比較還是自然語言的處理,前者是通過指定位置像素信息的采集將圖形轉換為結構化的數據,進而進行比較分析,后者是利用語料庫生成詞匯組合,統計不同詞匯組合在文本中的出現頻率與位置,將大段文本轉換為可分析的結構化數據,它們都是一樣的,都需要將非結構化、半結構化數據轉換為結構化數據才能進行分析。”
“我以前也分析過文字文本,做過統計,用過SAS,只不過我沒把它叫大數據而已。不一樣的是,以前只是做文字文本或者統計分析,而在大數據時代,我們需要混搭分析方法,做時間序列分析、地理分析、時空分析、社交網絡分析、日志分析、事件分析等。混搭分析方法可以從數據里提煉出更多的價值。但即便是這樣,其實Google、 Amazon、Yahoo等在多年前就開始做大數據了,只不過我們現在要做的是將大數據大眾化、普世化、易用化,讓它發揮更大的價值。”
統一數據架構 高效靈活分析
企業用戶雖然過去也在做大量的數據分析,但分析人員大多是用SQL語言實現。SQL是一種高層級語言,易用,寫一次可以重復使用。當我們有新的分析需求時,SQL不一定是最好的分析工具,于是,MapReduce進入人們視野。
MapReduce有較好的編程模式,編程靈活,擴展性強,可支撐實現真正大容量數據的處理。但MapReduce要求操作人有很好的編程背景,需要編程人員寫源代碼,很難做到重復利用代碼,且像連接、分組、排序等SQL具有的一些算法,用MapReduce實現很慢。
“我們研發了SQL-MapReduce專利技術,將兩個框架結合在一起,實現一個可以重復使用、易用、靈活的,也可以處理大量數據的分析工具。SQL-MapReduce是一個并行的平臺,可以處理大容量的數據。”孔宇華介紹,2011年Teradata收購Aster時,他正負責Aster的咨詢團隊、客戶服務團隊和培訓團隊。孔宇華介紹, Teradata Aster大數據綜合分析平臺整合了Aster和Apache Hadoop,嵌入SQL-MapReduce專利技術,能對新數據源和多結構數據類型進行更深入的分析處理,借助Teradata Aster統一數據架構及SQL-H等高速連接器帶來高可擴展性的分析能力。它預先封裝了多項開啟即用的分析功能,能夠快速實現數字營銷優化、社交網絡分析、欺詐偵測等。
究竟如何打通SQL與MapReduce?孔華宇如此總結:“Teradata并行數據庫注重在操作系統和數據庫上的研發和優化,而Aster不僅僅支持并行平臺上的數據庫,更支持包括MapReduce引擎、文件文本分析引擎在內的其他引擎的綜合應用。我們在統一數據架構下,通過與開源廠商Hortonwoks合作,通過SQL-H等高速連接器,Aster對外界面可以用SQL交流,對內可做靈活分析。用SQL的時候,是運行在數據庫里,而需要用到MapReduce的時候,我們會把數據引導到同一臺服務器的MapReduce引擎里面去運行,然后再把輸出的數據返回數據庫,不需要把數據在不同平臺和服務器間搬移,等于給分析人員提供了一個瑞士軍刀,他們可以用最合適的工具來完成他們的工作。”
孔宇華還強調, 上不上大數據要從用戶的實際情況和具體需求入手,從技術平臺、流程制度、人員技能三個方面保障獲取數據價值,要選擇成熟的大數據平臺,且要和數據倉庫有高性能連接,易于讓不同人員應用,找到并了解國內外不同行業的大數據應用,靈活借鑒案例和經驗,結合大數據需求的敏捷項目管理方法,根據業務需求快速讓技術人員利用平臺去提升數據的價值。最終目的就是讓大數據這個“舊時王謝堂前燕,飛入尋常百姓家”。孔宇華感慨地說。
案例分享
從4天到1個小時 大型在線撲克公司的反欺詐術
歐洲的一家大型在線撲克公司的員工在愛爾蘭,機房建在加拿大。在這家公司的網站上有虛擬牌桌,6~10個人一桌在線玩德州撲克。該公司的盈利模式很簡單,就是從贏者那兒以0.5%的比例提成。所以在線玩游戲的人越多、玩得次數越多,該公司的盈利就更有保障。
除了吸引更多人來玩在線撲克,公司更重要的是做好反欺詐工作。玩這種在線撲克時的欺詐行為一般有三種類型:第一,不同玩家線下串謀,線上打配合以增加玩家自己獲勝概率;第二,洗錢,通過信用卡故意將錢輸給下家;第三,外掛,有的研究算法比較好的人會自己寫程序然后掛到網站上,比如同時玩100桌獲得盈利。
該公司需要將這些欺詐行為全部找出來,識別不同模式。例如,他們通過分析玩家每一輪下了多少注、不同玩家之間下注的時間間隔以及非常規打法的記錄等大量數據,就可以判斷這些玩家背后是真人在玩還是機器外掛在玩、是否有線下串謀等欺詐行為。
為了識別欺詐,該公司請來了三位畢業于加拿大某學校的撲克牌專業的博士通過算法識別欺詐行為,并開發反欺詐程序。過去,他們是將這些記錄的結構化數據壓縮成一個文檔放到數據庫里,需要分析時將文檔調出,用他們花費一年半開發的Java軟件運行分析,需要4天結果才能出來,也就是如果禮拜一有人做了欺詐行為,事后到禮拜五才能找出來。
現在,該公司用兩天時間將算法移植到Teradata Aster平臺之上,通過一個開源的解壓代碼把壓縮的資料在庫內做解壓,然后在數據庫系統內運行欺詐分析。這種做法的好處是大批量的數據不再用傳來傳去,再加上算法優化之后,原本需要4天的欺詐行為分析只要60分鐘就可以完成了。
這對于該公司來說不僅是性能的提升,他們還可以有更多的時間來開發新的防欺詐的商業模式。道高一尺,魔高一丈。該公司在欺詐與反欺詐的較量中,必須跟上甚至超前才能更好地解決問題。
案例點評
該在線撲克公司需要更及時、更頻繁地進行欺詐分析,及時發現欺詐行為。這是一個非常典型的大數據案例,在線玩家產生大量并發數據,記錄玩家行為的數據量非常大;它是在多種數據(壓縮文檔中的非結構化數據+玩家信息等結構化數據)之上執行復雜的分析;庫內就地分析加快了分析的速度。Teradata Aster平臺帶來更高的性能,讓該公司的分析師有時間來運行更復雜的算法,更快地識別騙子;而能更快開發的環境,更讓分析師可以按照他們的思路,持續更新調整他們的分析算法,比騙子快一步,達到未雨綢繆、防患于未然的目的。