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