WOT2016盧學裕:小團隊如何玩轉(zhuǎn)大數(shù)據(jù)
原創(chuàng)大數(shù)據(jù)之所以能稱得上一個時代,來自于整個社會的集體狂歡。數(shù)據(jù)源于各行各業(yè),這場變革帶來的機遇自然蘊藏于各行各業(yè)之中。緊盯這個市場等待機遇的,無所謂IT巨頭或是初創(chuàng)企業(yè),無所謂團隊規(guī)模是大是小。
大數(shù)據(jù)能為企業(yè)帶來什么?更多的訂單,更低的成本,更快捷的管理,更新的業(yè)務(wù)模式。巧妙善用互聯(lián)網(wǎng)上的大數(shù)據(jù), 小型創(chuàng)業(yè)團隊就可以為自己快速積攢早期創(chuàng)業(yè)所需的資源,從而降低創(chuàng)業(yè)成本,提高收益率。然而我們卻看到,在每輪技術(shù)變革中中小企業(yè)都是被最后照顧到的。在這場新變革的席卷下,我們不禁又要問小團隊,你的大數(shù)據(jù)在哪里?
誠然,缺技術(shù)、缺人才、缺數(shù)據(jù)等種種現(xiàn)實,都將小團隊置身于水深火熱之中。那么大數(shù)據(jù)時代的小團隊還有機會嗎?
“當然有。”前小米數(shù)據(jù)工場負責人、現(xiàn)任火線數(shù)據(jù)創(chuàng)始人兼CEO、 WOT2016 講師盧學裕在接受51CTO.com記者獨家專訪時,不僅給出明確的肯定答案,也結(jié)合他曾在優(yōu)酷視頻系統(tǒng)及小米數(shù)據(jù)工場的親身實踐,細細剖析面對種種問題下的小團隊該如何做好技術(shù)選型,及如何權(quán)衡面臨的大數(shù)據(jù)成用成本和數(shù)據(jù)隱私擔憂。
小團隊的大數(shù)據(jù)挑戰(zhàn)
近幾年,以Hadoop生態(tài)為代表的數(shù)據(jù)基礎(chǔ)設(shè)施發(fā)展很快,給大數(shù)據(jù)技術(shù)的易用性提供了很大改善,也使技術(shù)門檻降低很多。
在盧學裕看來,小團隊在大數(shù)據(jù)方面的挑戰(zhàn)主要表現(xiàn)為人才短缺和數(shù)據(jù)來源。盧學裕講到,為了應(yīng)對這兩個問題,小團隊必須要在業(yè)務(wù)上下功夫,依據(jù)核心的業(yè)務(wù)形態(tài),深入挖掘自身數(shù)據(jù)。
具體應(yīng)該怎么做呢?盧學裕以視頻用戶數(shù)據(jù)舉例。雖然用戶在觀看視頻的過程中,沒有太多的互動過程,但還是可以挖掘出價值非常大的高頻數(shù)據(jù)?;谟脩舻耐献?、回看這樣同一份數(shù)據(jù),我們可以做到的可以有很多:
- 挖掘到不同用戶對視頻內(nèi)容的High點,幫助視頻的內(nèi)容運營和內(nèi)容創(chuàng)作找到用戶興趣點;
- 認識用戶行為,找到相似用戶,基于內(nèi)容興趣進行用戶畫像;
- 根據(jù)用戶對內(nèi)容上的喜好更好地進行CDN的預(yù)分發(fā)
- 根據(jù)用戶行為做視頻推薦
- ……
某種意義上說,視頻推薦比商品推薦更容易。視頻作為用戶相對高頻的行為,意味著我們能抓取到用戶更多的行為數(shù)據(jù),對用戶的喜好反映更全面;從應(yīng)用場景的角度來說,用戶對于商品是否購買可能是一個很大的決定,而看不看視頻相對決定很小,決定錯誤的損失也很小。在進行視頻內(nèi)容分析時,由于視頻文本挖掘的維度偏少,因此進行文本分析的價值不大。
因此,同一技術(shù)在不同的業(yè)務(wù)領(lǐng)域上的重視程度,和起到的作用是不一樣的。小團隊由于自身技術(shù)能力和專業(yè)人才資源都有限,一定要更加細致地了解自己的業(yè)務(wù)形態(tài),最大程度利用已有數(shù)據(jù)。
小米數(shù)據(jù)工場大數(shù)據(jù)平臺架構(gòu)
小米目前除了發(fā)展自己的公司,還投資了很多生態(tài)鏈企業(yè)。隨著業(yè)務(wù)的快速增長,業(yè)務(wù)產(chǎn)生的數(shù)據(jù)量突飛猛漲。大家都知道,數(shù)據(jù)越集中,利用價值越大,由此小米數(shù)據(jù)工場應(yīng)運而生。
小米數(shù)據(jù)工場主要承擔著為全公司各團隊及小米的生態(tài)鏈企業(yè),提供數(shù)據(jù)采集、計算、存儲等基礎(chǔ)能力,以及機器學習、挖掘的工具和方法的任務(wù)。除了底層的能力,數(shù)據(jù)工場也為公司及生態(tài)鏈企業(yè)提供一些具體的基礎(chǔ)數(shù)據(jù)服務(wù),用于小米信用卡的風控和額度評估、廣告精準投放、限時搶購時用數(shù)據(jù)打擊黃牛等等。通過數(shù)據(jù)工場提供的數(shù)據(jù)能力,企業(yè)不僅能夠?qū)I(yè)務(wù)進行數(shù)據(jù)分析,也實實在在將數(shù)據(jù)應(yīng)用到核心業(yè)務(wù)場景中。
圍繞Hadoop生態(tài)構(gòu)建基礎(chǔ)平臺
小米數(shù)據(jù)工場主要的工作是管理數(shù)據(jù)、元數(shù)據(jù)、數(shù)據(jù)權(quán)限,以及管理大量的計算。盧學裕強調(diào),把數(shù)據(jù)存下來不是目的,而是要通過計算運用到各個業(yè)務(wù)領(lǐng)域中。小米及其生態(tài)鏈的業(yè)務(wù)場景豐富,因此整個計算體系是紛繁復(fù)雜的。
為了更好適應(yīng)未來的需求,小米數(shù)據(jù)工場圍繞Hadoop生態(tài)構(gòu)建底層基礎(chǔ)平臺。慮到擴展性,數(shù)據(jù)工場天生基于Scala設(shè)計成分布式架構(gòu)。由于小米及其生態(tài)鏈企業(yè)業(yè)務(wù)場景豐富,因此在技術(shù)選型方面全生態(tài)都會涉及,如消息流、批處理、實時計算等技術(shù)都需要用到,HBase、Hive、Spark、Storm 、Impala都在不同的場景下使用。
利用Docker解決異構(gòu)和資源問題
為了管理好這些紛繁的計算框架和模型,在計算的執(zhí)行方面,小米使用Docker來解決對環(huán)境的不同需求和異構(gòu)問題,并且與Hive、Impala、Spark這些不同的計算模型都進行了對接,去適配不同應(yīng)用場景計算不同數(shù)據(jù)的模型。另外,在不同業(yè)務(wù)場景下,同一個計算邏輯也可以選用不同的計算模型,Docker 的使用也避免了資源的浪費。比如一個計算任務(wù)每天凌晨運行,為了追求吞吐量,可以放到Hive里跑;還是同樣一個計算模型,現(xiàn)在就要跑,可以不用更改,就放到Impala里運行。
總結(jié)看來,Docker不僅解決了環(huán)境的異構(gòu),也解決了資源問題。另外,Docker的環(huán)境適應(yīng)性很強,做橫向擴展會比較容易。
對于數(shù)據(jù)隱私方面,小米考慮得非常重。采用Docker與自身安全策略的綜合,小米用戶數(shù)據(jù)的隱私和安全性也得到了極其嚴格的控制。
小團隊的大數(shù)據(jù)敏捷之路
選擇熱門的技術(shù)
小公司的時間耽誤不起。選擇熱門的、常用的、經(jīng)過大公司驗證的技術(shù),一是少踩坑,二是常用的技術(shù)人才相對好找。
按需使用,不要規(guī)劃得太大
傳統(tǒng)BI進行數(shù)據(jù)分析時通常會建立一個大而全的模型,再根據(jù)業(yè)務(wù)需求進行調(diào)整。但小團隊的業(yè)務(wù)發(fā)展很快,因此在初期不要規(guī)劃得太大,而是根據(jù)業(yè)務(wù)需要,細分業(yè)務(wù)場景,在每個小場景里構(gòu)建小的數(shù)據(jù)模型,分析用戶就建用戶模型,分析產(chǎn)品用簡單的產(chǎn)品模型。
另外,小團隊要考慮到自己的應(yīng)用場景是以分析型為主,還是應(yīng)用型為主,之后再進行相關(guān)的技術(shù)選型,如Hive、Impala 、Presto等;而如果是以業(yè)務(wù)型為主,就要具體結(jié)合自身業(yè)務(wù)和技術(shù)能力綜合來看。在數(shù)據(jù)量不是非常大的情況下,沒必要選擇HBase這樣集群的存儲方案,有許多產(chǎn)品可以替代。比如MySQL這類傳統(tǒng)數(shù)據(jù)庫能支持的數(shù)據(jù)規(guī)模也不小。根據(jù)計算要求和數(shù)據(jù)規(guī)模綜合來選,不是超高量的不需要選太大規(guī)模的技術(shù)選型。
選擇便捷、靈活和易于管理的技術(shù)
大公司在技術(shù)和系統(tǒng)使用上首先考慮的是集群的利用率和吞吐量,而小公司則要從便捷、靈活和易于管理的維度來考慮。
存儲方面:建議使用以HDFS為主的存儲,因為很多計算的工具所使用的存儲都建立在它之上。對于業(yè)務(wù)未來的迅速發(fā)展,有比較好的兼容性;
計算方面:建議在選用常用的基礎(chǔ)設(shè)施之外,具體計算用戶交互時使用易于使用的技術(shù):
- HUE:基于web,在進行Hive 查詢時可以直接在平臺上完成,使用門檻更低;
- Presto:適應(yīng)數(shù)據(jù)源多,可以連接各種各樣的數(shù)據(jù)源做計算和數(shù)據(jù)分析。由于業(yè)務(wù)數(shù)據(jù)和用戶的行為數(shù)據(jù)時分開的。使用Presto這種連接器型的分析工具時,有分析能力的人就可以直接使用這種工具,我們不需要將不同的數(shù)據(jù)還要ETL導入到一起,后續(xù)還要做加工處理,只需要在物理打通就可以。
重視數(shù)據(jù)積累
小團隊在前期積累數(shù)據(jù)時,一定要多花點兒功夫,不要偷懶,把數(shù)據(jù)盡可能采集全、采集準。千萬不要等用到什么數(shù)據(jù)才去找數(shù)據(jù),一旦發(fā)現(xiàn)你需要的數(shù)據(jù)之前沒積累;或是積累的是錯的;或是沒有對數(shù)據(jù)進行標識,沒辦法區(qū)分這是哪個用戶,陷入邏輯孤島,都會非常麻煩。
比如我們需要采集用戶在看一篇文章時的數(shù)據(jù)。這時我們應(yīng)該將采集的維度考慮得更多,至少從用戶本身的維度、文章內(nèi)容、上下文關(guān)系、用互交互事件這四個維度上考慮。采集的數(shù)據(jù)可能包括文章分類、標題、內(nèi)容ID、當前該文章熱度、用戶獲取文章的渠道等等。這會讓我們更全面地了解用戶的喜好,也將用戶的路徑分析的很清楚。
哪怕未來不知道怎么用,采集更多更全的數(shù)據(jù)一定會對應(yīng)用產(chǎn)生價值。在存儲成本較低的現(xiàn)狀下,多采集數(shù)據(jù)帶來的代價并不大。真正昂貴的其實是計算,而一旦沒有數(shù)據(jù),代價將會更大。
大數(shù)據(jù)是工具
對于創(chuàng)業(yè)公司來說,在更短的時間內(nèi)創(chuàng)造更大的價值,是企業(yè)得以存活的根本。大數(shù)據(jù)是工具,了解大數(shù)據(jù)的作用,結(jié)合業(yè)務(wù)的真實場據(jù),滿足用戶需求,大數(shù)據(jù)才能真的幫得上你。