企業(yè)數(shù)據(jù)分析工作的任務(wù)、工具及挑戰(zhàn)
大數(shù)據(jù)時(shí)代,數(shù)據(jù)已經(jīng)成為戰(zhàn)略資源。掌握前沿科技的大型IT企業(yè)在數(shù)據(jù)分析和利用上走在了時(shí)代的前列。
筆者浸淫IT業(yè)十余年,對(duì)數(shù)據(jù)分析技術(shù)及其未來趨勢(shì)有一定的了解和思考,在此與大家分享。
鑒于大型IT企業(yè)是數(shù)據(jù)分析工作的早期天使客戶和許多具體技術(shù)、工具的發(fā)源地,我們主要針對(duì)大型IT企業(yè)來做一些分析。
0. 澄清基本概念
為了不在后面討論中因概念不清產(chǎn)生誤解,我們首先給出幾個(gè)定義:
- 大型IT企業(yè):指對(duì)外提供IT相關(guān)的軟硬件產(chǎn)品及服務(wù)的公司,員工至少在萬人以上。
- 數(shù)據(jù)平臺(tái):指大型IT企業(yè)用來為自身服務(wù)為主,擔(dān)負(fù)數(shù)據(jù)存儲(chǔ)、處理、分析業(yè)務(wù)和軟硬件綜合。主要針對(duì)內(nèi)部服務(wù),不對(duì)外開發(fā)。
- 數(shù)據(jù)分析:此處的數(shù)據(jù)分析師廣義的,包括一切基于數(shù)據(jù)得出的insights的行為,包括統(tǒng)計(jì)分析、機(jī)器學(xué)習(xí)建模和預(yù)測(cè)等。
1. 大型IT企業(yè)開展對(duì)內(nèi)數(shù)據(jù)業(yè)務(wù)的驅(qū)動(dòng)力
就目前而言,IT企業(yè)針對(duì)自身的數(shù)據(jù)分析業(yè)務(wù)可以分為廣告和非廣告兩類。對(duì)大多數(shù)企業(yè)而言,除了廣告之外的數(shù)據(jù)業(yè)務(wù),并不能直接帶來可以量化的收入。
但是,無論當(dāng)前數(shù)據(jù)分析的結(jié)果為企業(yè)的現(xiàn)金流做了多少貢獻(xiàn)。數(shù)據(jù)為王的思想已然占據(jù)了眾多前沿企業(yè)間的頭腦。數(shù)據(jù)是礦山,insights是金子,有了礦山才能有金子,有了礦山,終究會(huì)有金子。
因此,開發(fā)數(shù)據(jù)業(yè)務(wù)最主要的驅(qū)動(dòng)力,實(shí)際是對(duì)數(shù)據(jù)業(yè)務(wù)未來前景的積極預(yù)估。
主要應(yīng)用有(除廣告之外):
- 用戶畫像——越來越多的企業(yè)開始觀眾用戶畫像,畢竟知己知彼百戰(zhàn)不殆,賣東西先得了解買主。
- 客戶保持——預(yù)測(cè)哪些現(xiàn)有客戶可能棄用產(chǎn)品或服務(wù),即使采取措施挽留之。
- 產(chǎn)品使用分析——DAU,MAU,PV,UV,CTR等等,這些看起來都是些簡(jiǎn)單的統(tǒng)計(jì)數(shù)字,但卻是反應(yīng)產(chǎn)品被使用情況的重要指標(biāo)。
- 產(chǎn)品推薦、銷量預(yù)測(cè)
- 銷售指標(biāo)……等等
具體到某一種應(yīng)用,看似并不復(fù)雜,有些有成熟的方法可以用來訓(xùn)練模型,還有些根本就是統(tǒng)計(jì)指標(biāo)。似乎并不需要什么高深的算法背景。
但一旦涉及實(shí)際,就不像看起來那么簡(jiǎn)單了。即使是統(tǒng)計(jì)指標(biāo),也不像想象得那樣,隨便run幾個(gè)sql query就能得出來。
對(duì)于大型分布式系統(tǒng),不同模塊的訪問log都有可能分布在不同的cluster上,單純收集每日全局log就是一個(gè)復(fù)雜工作,更別說之后的合并、去重、聚合等工作。
因此,大型企業(yè)的數(shù)據(jù)分析不是做個(gè)excel表,安裝一個(gè)免費(fèi)mysql能夠解決的,而是需要專門的大型數(shù)據(jù)分析平臺(tái)。
2. 數(shù)據(jù)分析平臺(tái)通用架構(gòu)
常見的數(shù)據(jù)分析平臺(tái),至少包括數(shù)據(jù)存儲(chǔ)、處理和分析三個(gè)部分。
2.1 數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)存儲(chǔ)不必解釋,是一定必要的。但是如何備份是一個(gè)很重要的問題。 假設(shè):某公司一年產(chǎn)生上千PB的數(shù)據(jù)。按照單純數(shù)據(jù)的存儲(chǔ)費(fèi)用1美元/GB年計(jì)算,存1TB一年就是1000美元,一PB就是100萬,1000PB就是10億。如果就是簡(jiǎn)單的使用hadoop的默認(rèn)配置,每份數(shù)據(jù)都存3份,那么,這個(gè)實(shí)際產(chǎn)生數(shù)據(jù)x 3的體量將有多大?有將有多大的cost?
這是存儲(chǔ)層的挑戰(zhàn)。為了解決這個(gè)問題,一方面從硬件層面力圖降低存儲(chǔ)介質(zhì)的價(jià)格,比如近年來冷存儲(chǔ)的提出,就是針對(duì)運(yùn)維費(fèi)用。另一方面就是尋找備份算法。例如,yahoo專門研發(fā)了一種圖片存儲(chǔ)算法,邏輯上是11個(gè)備份,但是size只有原size的1.x倍。
2.2 數(shù)據(jù)處理
數(shù)據(jù)處理傳統(tǒng)上叫ETL、EDW,主要指數(shù)據(jù)的清洗、遷移和格式化。大數(shù)據(jù)平臺(tái),由于應(yīng)用范疇不同,自然多種多樣,源數(shù)據(jù)包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。但是如果數(shù)據(jù)真的是“大數(shù)據(jù)”(符合4V特征)的話,即使本身收集上來的數(shù)據(jù)是結(jié)構(gòu)化的,也往往需要二次處理,轉(zhuǎn)換format或schema。
數(shù)據(jù)處理層所需技術(shù)相對(duì)簡(jiǎn)單,然而挑戰(zhàn)在于對(duì)于數(shù)據(jù)的理解。如果不知道這個(gè)收集上來的log文件里面要提取出多少字段,每個(gè)字段對(duì)應(yīng)數(shù)據(jù)源中的哪個(gè)部分,則數(shù)據(jù)提取完全不能進(jìn)行。這就要求進(jìn)行數(shù)據(jù)處理的人必須同時(shí)具備對(duì)業(yè)務(wù)的了解。
2.3 數(shù)據(jù)分析
數(shù)據(jù)分析是數(shù)據(jù)中尋找價(jià)值的關(guān)鍵步驟。數(shù)據(jù)分析工作本身還處于初級(jí)階段。除了一些簡(jiǎn)單的統(tǒng)計(jì)計(jì)算,大多數(shù)數(shù)據(jù)還是只能交給分析人員,進(jìn)行沒有特別針對(duì)性的探索,效果難以得到保證。
對(duì)于這些挑戰(zhàn),開展數(shù)據(jù)業(yè)務(wù)早的公司,相應(yīng)的平臺(tái)和技術(shù)是在針對(duì)自身業(yè)務(wù)的過程中慢慢發(fā)展起來,部分公司選擇是將平臺(tái)外包或者自己開發(fā)針對(duì)自身業(yè)務(wù)的定制功能。相對(duì)于前兩者,數(shù)據(jù)分析師一個(gè)業(yè)務(wù)針對(duì)性更強(qiáng)的步驟,因此更難采用通用方法或手段解決,更加依賴企業(yè)自身的積累。
3. 數(shù)據(jù)分析平臺(tái)開源框架
3.1 開源框架
目前,就國(guó)內(nèi)而言,談到數(shù)據(jù)分析相關(guān)的開源框架,總不能忽略下面三個(gè):
- hadoop:batch,mapReduce
- storm:streaming
- spark:batch + streaming
這些開源框架的共同特點(diǎn)是把重點(diǎn)放在并行計(jì)算框架上,關(guān)注的是job latency, load balance和fault recovery,對(duì)于資源分配、用戶管理和權(quán)限控制幾乎不考慮。它們基于的假設(shè)是:所有用戶都一樣,平權(quán),所有用戶都能用所有的機(jī)器以最快的可能完成所有工作。
3.2 開源框架的局限
而在大型企業(yè)內(nèi)部,不同部門,同一部門的不同job,絕對(duì)不是平權(quán)的。不同部門之間,也有很多私密的數(shù)據(jù),不讓別人訪問。不同用戶的權(quán)限也是不一樣的。對(duì)于計(jì)算資源的需求,因?yàn)椴煌琷ob的優(yōu)先級(jí)不同,也要求予以區(qū)別。
在這種需求之下,催生了一些第三方,專門提供hadoop等開源框架的資源、權(quán)限管理產(chǎn)品或者服務(wù)。hadoop在升級(jí)到2以后,也考慮一些數(shù)據(jù)隔離的問題。
但其力度,恐怕難以滿足大多數(shù)大型企業(yè)的要求。這也是使用開源框架的無奈。使用開源產(chǎn)品的商業(yè)發(fā)行版,也是一種辦法。不過始終是不如企業(yè)原生系統(tǒng)在這方面的支持。
3.3 企業(yè)原生框架
確實(shí)也有些企業(yè)獨(dú)立開發(fā)了全自主(不基于開源產(chǎn)品)的僅限于內(nèi)部使用的分布式數(shù)據(jù)處理平臺(tái)。在用戶管理,數(shù)據(jù)訪問權(quán)限,存儲(chǔ)、運(yùn)算資源管理等方面很下功夫。
例如:要求每個(gè)用戶在提交job前必須先申請(qǐng)token,有多少token,就有多少計(jì)算量。不同數(shù)據(jù)存儲(chǔ)路徑之間的權(quán)限完全單獨(dú)管理,使用者也要實(shí)現(xiàn)申請(qǐng)權(quán)限。
但是開發(fā)這樣的系統(tǒng)意味著企業(yè)必須具備非常強(qiáng)大的研發(fā)能力,并能承擔(dān)得起巨大的人力等資源的消耗。而且相對(duì)于開源系統(tǒng)已經(jīng)實(shí)現(xiàn)的功能,難免有重復(fù)造輪子之嫌,即使是大型企業(yè),也很少選取這種方案。
4. 大型IT企業(yè)數(shù)據(jù)業(yè)務(wù)的挑戰(zhàn)
4.1 通用挑戰(zhàn):意識(shí)、技術(shù)和人才
4.1.1 意識(shí)
意識(shí)主要是指決策層的思想意識(shí)——數(shù)據(jù)對(duì)于企業(yè)發(fā)展是否真的必要?這一點(diǎn)在很多管理者腦子里還是存疑的,他們目前所處狀態(tài)很多是:聽說數(shù)據(jù)這東西有用,人家都在搞,所以我們也要搞,至于是不是真有用,搞出來看看再說。
如果只是采用游戲或者試探態(tài)度,必然影響發(fā)展進(jìn)程。但這也是沒辦法的事情,所有新事物都必須經(jīng)歷這一過程。
4.1.2 技術(shù)
技術(shù)指目前數(shù)據(jù)分析的技術(shù),基本是采用新框架逆流支持舊接口的策略。曾經(jīng)有一篇文章,名叫《NoSQL?NO,SQL》,說的就是這個(gè)。包括spark回頭支持SQL,也是如此。
明明我們分析的是非結(jié)構(gòu)化數(shù)據(jù),但是因?yàn)楦唠A算法的問題,卻連mapReduce都放棄了,索性回到SQL時(shí)代。為了讓更多人用的舒服,不去開發(fā)針對(duì)非結(jié)構(gòu)化數(shù)據(jù)的新方法,而是反過來,向下兼容結(jié)構(gòu)化。個(gè)人認(rèn)為這是一種逆流。這樣做則永遠(yuǎn)無法避免巨大的數(shù)據(jù)處理工作。
4.1.3 人才
“數(shù)據(jù)科學(xué)家”這個(gè)詞大家肯定都知道。可是,這個(gè)職位其實(shí)很模糊,不同公司,甚至同一公司的不同部門之間對(duì)這一職位的定義相差甚遠(yuǎn)。有些數(shù)據(jù)科學(xué)家是學(xué)數(shù)學(xué)的博士,有些是以前做BI的,有些是PM轉(zhuǎn)行的,水平參差不齊。
所以,恐怕在相當(dāng)長(zhǎng)的時(shí)期里,這會(huì)是一個(gè)門檻低,要求高的職位。很難短時(shí)間內(nèi)批量涌現(xiàn)出優(yōu)秀者。
4.2 特有挑戰(zhàn):產(chǎn)品align
產(chǎn)品align是說每個(gè)產(chǎn)品的數(shù)據(jù)分析結(jié)果可以互相對(duì)比,也就是要求其定義和實(shí)現(xiàn)都一致。對(duì)于一個(gè)產(chǎn)品眾多的大企業(yè)而言,要求不同產(chǎn)品、流水線的分析報(bào)告具有可比性,這是一個(gè)很常見的需求。但是由于現(xiàn)在大多數(shù)企業(yè)中數(shù)據(jù)分析不是由一個(gè)部門統(tǒng)一管理,各個(gè)產(chǎn)品部門各自為戰(zhàn),結(jié)果導(dǎo)致在align的過程中互相牽制,進(jìn)而拉低了所有產(chǎn)品的分析水平。
這樣的挑戰(zhàn)有賴于企業(yè)總體數(shù)據(jù)策略的制定和執(zhí)行。而整體策略的制定和執(zhí)行又有賴于前面所說的三點(diǎn)通用挑戰(zhàn),環(huán)環(huán)相扣,顯然不能一蹴而就。
5. 大企業(yè)數(shù)據(jù)工作的發(fā)展趨勢(shì)
早期的數(shù)據(jù)分析工作,在實(shí)踐層面基本采用批處理模式。隨著業(yè)務(wù)的發(fā)展,對(duì)于其實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)(NRT)的需求越來越多。提供latency極短的增量分析和流式服務(wù)是眾多企業(yè)數(shù)據(jù)分析工作的當(dāng)務(wù)之急。
從長(zhǎng)遠(yuǎn)考慮,真正擁有數(shù)據(jù)的是大企業(yè),未來,大企業(yè)在數(shù)據(jù)的分析利用上,也必將全面勝出小企業(yè)。
不過,處于不同成熟階段的大公司突破點(diǎn)各不同。有些技術(shù)先行,在分析方法和工具上成為領(lǐng)軍。另一些則傾向數(shù)據(jù)管理和治理,在管理層面上,在策略、條例的制定上為整個(gè)社會(huì)提供先進(jìn)經(jīng)驗(yàn)。