1. 程式人生 > >從0到1構建大數據生態系列1:數據蠻荒中的拓荒之舉

從0到1構建大數據生態系列1:數據蠻荒中的拓荒之舉

市場需求 ont 應用 load 工作 網站 做事 做到 實施

緣起

我們都知道,當前大數據的需求基本屬於遍地開花。無論是帝都、魔都,還是廣州、深圳,亦或是全國其他各地,都在搞大數據;不管是不到百人的微小公司,還是幾百上千人的中型公司,亦或是上萬的大型公司,都在需求數據崗位。

大公司暫且不論,他們一切都走在前頭。那麽,對於中小型企業來說,開始嘗試以數據的思維去思考問題,開始涉足大數據領域,這就是一個從0到1的過程了。

有(bu)幸(xing),近半年來,我親自見證以及親身體會到了這個過程,或者至今仍然在完善1這個過程中。期間,有痛苦有坑、有喜悅有成功、有沈靜有反思,這是一件快樂又痛苦,同時又註定會很有成就感的事。

所以,我寫下了“從0到1構建大數據生態”的系列文章,當然,目標群體僅僅是在中小型企業中,從0到1開始構建數據生態的同行們。希望,我整理的這些東西,或者說一個技術小故事能夠幫助到各位同行朋友,能夠給你們在某些階段一些有用的建議或參考。限於個人的知識累積以及能力,必然會存在一些誤差或者觀點錯誤,歡迎指正與交流。

蠻荒時代

1企業為什麽想起要做大數據?

一個中小型企業,為什麽突然就想起要開始做數據,開始組建大數據團隊呢?從目前現狀來看,這是一個很正常的現象。大家都做嘛!但有沒有想過,為什麽大家都做?

大數據這個鬼東西怎麽在四五年前一下子就火得不行了,然後在這兩年更是成了香饃饃,大批大批的傳統IT從業人員,紛紛轉行搞大數據。這是真的,近一年來,我面試的人裏,很多都是從傳統行業轉型到大數據的,甚至有六到七年開發經驗的也毅然決然轉型。這定然是市場驅動使然,有利益就有市場,有市場就有需求。

而資本市場也偏好靠數據說話的企業,甚至出現了很多以數據業務為核心的企業公司,甚至專門做數據服務的行業,一樣融到了大把大把的錢。個人認為企業開始關註,甚至是涉身大數據,資本偏好只是表象,在其內層必然還有更深層的原因。

在大數據真正興起的08、09年之前,整個互聯網都是一個蓬勃發展的時代,互聯網自身普及以及覆蓋度的提升,互聯網基礎實施、電腦智能設備等進一步普及,為各個互聯網企業帶來了巨大的紅利。

15年的時候,我跟一個創業公司的CEO聊天,他說過一句話:“當年,我那個小論壇要是能堅持做下去,現在估計早就發達了。”是的沒錯,當年就是隨便搞個網站,只要好好搞,基本都能吸引到一大片的人,有人就能產生利益。換成更專業點的術語就是:流量紅利!

那麽,到了現在,流量紅利早已消息不見了。面向各種人群、滿足各種需求的網站、軟件、APP等等,鋪天蓋地而來,讓用戶應接不暇。你需要的、你不需要的、你能想到的、你想不到的,五花八門的企業都會為你提供,你怎麽選?所以,流量紅利消失了!該怎麽搞?

那效率和效果這個事情就不得不重視起來了,讓用戶更好地使用你的東西,讓你的東西更精準化、讓你的員工策略方案更具有效率,那麽,你就更能在千千萬萬的類似企業中生存下去。

所以,你的企業必然需要慢慢遠離“我覺得吧”“我感覺”“可能”“或者”“按道理應該”這種詞語,一切回歸到數據中去,讓你的決策跟著數據走。

快速進行方案假設、快速進行數據反饋、快速進行策略修正、快速進行決策,讓自己跑的路線更準、讓自己跑的更快。

讓你的用戶體驗更好、用得更爽,讓他感覺更親切自然,而不是你強加於其上的意誌,讓他被迫看你安排的東西和用既定的功能。

所以,企業慢慢開始講究預測用戶的心理,開始談必言其“個性化”。這聽起來很玄乎,但確實是實實在在的用戶本質需求。因為,用戶的口味也被我們各種同質化嚴重的應用和軟件給養刁了。

於是乎,大數據大行其道;於是乎,轉行者如過江之鯽。最重要的是,哈哈,它給了我一口飯吃。

2你看到的是一個茹毛飲血的現狀!

在引入大數據這個概念之前,試想一下,企業的數據層面會是處於一個什麽樣的狀況?這裏我想引用原始社會的一個標誌詞——茹毛飲血。

中小型企業一般使用傳統的數據庫來存儲業務數據,並且很大一部分是MySQL(別問我為什麽,因為它免費啊),我想,這點毋庸置疑。而一般的中小型企業,特別是小型創業公司,基本是不配置專門的數據庫工程師的,都是業務開發人員兼任。

於是乎,你會看到各種各樣奇葩設計的數據庫表、各種各樣錯綜復雜數據表關系、各種各樣看起來不合理其實用起來也不合理的數據存儲方式。

你以為你來做大數據的,這些業務數據就跟你沒關系嗎?關系可大發了,你第一個要處理的數據就是業務數據。你將會忙於天天跟業務開發人員溝通交流,焦頭爛額地去梳理清楚這些業務關系,甚至是轉換成你要的數據形態。

然後你會不自覺地吐槽:擦!尼瑪關系數據庫中的數據也要做清洗呀!

其實這也是沒有辦法的事,歷史原因使然,人力成本使然,這是我們處於0的階段必然需要面對的東西。

在大數據這個體量中,業務數據只是占據了很小的一部分。是的,更多的是用戶的行為數據,業務的訪問數據。

你可能會很高興地說,對了,不是有業務服務的LOG嗎?我們可以從LOG中清洗出很多有用的Visitor數據來,一個MapReduce就搞定啦,分分鐘的事。

“啊,這個呀,當時沒有想到要記錄下這些東西喲,沒有打這些LOG。”

是不是想大噴一口血?情況好點的公司,雖然處理不了數據,但是依然是有意識地在很多業務邏輯中,埋下業務的服務LOG,落成LOG文件,待有處理能力時再做處理。

再好點的,已經有點數據意識了,開始在業務中主動埋下一些數據收集點,開始收集用戶的行為軌跡數據。

但依然是把數據存儲到了MySQL中,很多點位邏輯是錯亂的,點位的收集目標是不清晰的(也沒辦法清晰,因為我都不知道要怎麽用,都是提前埋下,將來可能要用而已)。

這已經很不錯了,雖然點位是不準確的,雖然我不知道一天50萬、100萬的數據量,你的MySQL能撐幾天,但好歹是有了吧,已經很不錯了。

再好點的就是,已經有大數據的一到兩個儲備人員了,已經能夠近乎的將數據以近乎正確的姿勢存儲到hive或者HBase中,哪怕是HDFS裏頭。這已經是偉大的進步了,至少恭喜你,你已經越過了0的階段,步入0.1時代!

技術分享

以上基本上就是你進入一個即將要開始做大數據的公司,所看到的東西。是不是一臉懵逼、大寫加粗的尷尬?恨不得把這些亂七八糟的,一下子磁盤格式化掉。

3這個時候,你需要做點什麽?

這裏,我所說的做什麽,不是指開始動手幹,而是做之前的準備工作,算是前期工作吧。進入之後,第一時間當然是掌握如上那些信息了。接著,你需要好好跟你的老板談一談人生,啊不,是談一談他到底想幹什麽。

他想達到一個什麽樣的數據業務目標,想花多大的成本,下了多大決心去做這件事,僅僅是跟跟風、炒炒概念,還是真的想解決問題。這很重要,這關乎到你後續將投入的人力,不同階段的規劃,怎麽去做這件事、做好這件事。

其實不單純這裏,其他方面也是一樣的,遇到一個問題,一定是需要了解足夠的信息和需求才去做的,這不耽誤事,不然吃力不討好,妥妥的。

與此同時,你需要慢慢根據蛋碎菊緊的現狀以及BOSS的“偉大宏圖”,去規劃你的人力了。至於說人力怎麽搭配,什麽年份、什麽水平,這就需要看“菊花”到底有多緊,“宏圖”到底有多大,時間到底還有多少去思考了。

好了,背起你的鋤頭,去挖別人家的墻角吧,或者,刷臉的時候到了,萬能的朋友圈,彰顯你的威力吧!

如何拓荒

1你需要和你的BOSS好好談談未來!

這裏我所說的BOSS,或許是你實打實的老板,或許是你的直屬Leader,總之是有權力為公司數據化運營、數據化決策拍板的人。

BOSS知道要做數據這麽個事,但是對於細節他肯定是不熟悉的,他只知道最終他需要達到大概什麽樣的目標,市場有這麽個數據化驅動的趨勢。那麽,這個時候,在真正動手之前,你需要和他好好聊聊。

首先你需要和你的BOSS一起來拆解公司數據化的目標,你需要徹底清楚公司想把數據化做到什麽程度,每個階段大致目標是什麽。

雖然,很多中小型公司把一個人當好幾個人用,但是,有多少人,做多少事,這句話永遠是正確的!只有在徹底地了解清楚大致的戰略目標之後,你才能去拆解問題,並且根據實際的預算怎麽樣分階段去實現你的數據化目標。

所以,你跟BOSS聊的時候,不是跟他談你心目中的數據理想國,也不是他給你描繪宏圖大業,而是實打實地了解公司大致會往數據投入多少人力物力,然後再根據業務目標,去拆解你所需要做的事,按階段去做詳細的規劃,去儲備你最需要的人才。

2背起你的鋤頭,去挖別人的墻角吧!

如上,做完那些事,你對於你的數據理想國,至少也是知道它的框架大致組成了。既然你需要架構它,那麽,你也一定是知道你缺少什麽夥伴,去把它從藍圖中構建出來。

你肯定是需要隊友的,任何稍微復雜點的事都不可能獨自一人去完成,能獨自完成的事都是小事或者模塊化的事,任何一個成系統性的事,都脫離不了團隊的協作,一個組合合理、有共同理想目標的團隊是最強大的。

OK,話題不扯遠了,回到如何招人的問題上吧。

大數據行業從09、10年開始引入國內,到12年左右生態概念開始火爆,再到現在的如日中天,其實也算發展了好多年了,就算從11年、12年開始算,也起碼正式火了四五年了。

但行業裏最多依然是那種真正行業背景不到2年的人,而且很大一部分是“聽聞”行情好,紛紛通過某種渠道,例如培訓機構培訓等轉型過來的。其實這也好理解,大數據真正達到顛覆性的認知,也就在這一兩年,是個企業都言必談數據,這也算是市場需求在驅動著發展。

近一年來,從我手裏過面試的人,估摸著也有二十人左右,但實際上真正靠譜的,還真沒有幾個。我之所以說這麽多,其實是想表達一個意思,通過正規的渠道去招人,其實是很不靠譜的。那麽,有沒有其他辦法呢?

1、刷臉

刷臉這東西,相對比較靠譜,但門檻比較高。鑒於很早期在大數據線上圈人構建技術交流圈,並且在北京組織過好幾次線下的大數據交流活動,或多或少總是認識一些行業內的同行。

於是,我開始與他們挨個聯系,看看有哪些有意願回南方工作的,並且有興趣與我一同做事的朋友。

其實,很多人或多或少都在線上,甚至是線下都交流過的,我堅信能夠跟我玩在一個圈子的人,應該再差也不會比這種隨機選人的幾率更差吧(哈哈,自戀ing)。

所以初期,我的團隊核心幾個人,都是我通過線下自己的渠道找來的。我也是很感激他們能夠相信我,其實我是無法保證他們的未來,但我能保證的是與我一起做事會讓他們更爽點!

從這點來說,時常與他人多交流是有用的,不單純是技術上的交流溝通,另一方面也算是自己技術人脈的累積。

對於這一點,我建議從業者有機會多認識業內同行,有機會多交流溝通,就一定不要浪費。多一個視角,多一份見識,技術需要被交流。多年來,我一直堅持一個理念就是:進步始於交流,收獲源於分享!

2、線上技術圈

其實歸根結底還是需要多參與技術交流,線上很多技術圈子,不管是社區也好,交流群也好,相對很多線上群體來說比較純粹,畢竟都是搞技術的嘛!

我一直以來都認為,同等基礎技術水平下,會主動尋求技術知識溝通交流的人會比那種閉門造成的人優秀,尤其是大數據這個開放而又極其需要自我增長的領域。

人類的聚群現象,能跟你玩在一個技術圈子的人,至少某種程度上來說,也是跟你類似的人。近朱者赤,這句話總是有點道理的(好像有點向自己臉上貼金的意思,哈哈)。

所以,從技術圈子渠道招到的人,相對會比較優質,最起碼來說,是相對比較善於解決問題,以及與他人溝通的。不過如果需要從這些渠道招人,還是需要註意方法的。一方面是註意社群的規則,不要隨意踐踏,不要刷屏騷擾他人。

3規劃要大,起點要低,階段目標明確

第一,之所以說規劃要大,不是說你的規劃設計要超越什麽BAT大公司的架構規劃,而是說,你在做構架設計的時候,一定需要考慮將來可能有的擴展,為你的整體系統架構留出足夠的可擴展性,而不是到時候又得推翻重做。如果是這樣,那麽你這個兼職架構師就可以換人了。

第二,之所以說起點要低,階段目標要明確,是因為,只要不是土豪老板,都不可能說上來就給你配備100%的人力,馬上去把你的藍圖架構出來的。投入與產出比,這是所有的決策者都需要考慮的事情。

所以,你需要把你的架構實現去做拆解,拆解成在有限的人力情況下,能夠快速形成階段性產出目標。然後逐漸完善你的架構,在適當的時候,再逐漸根據工作進度增加你的人力情況,這才是一種合理的人力規劃以及整體發展方向。

4從基礎開始,搭建你的數據帝國

這裏先分享一張通用的數據平臺架構:

技術分享

互聯網行業技術無邊界。在互聯網行業,這種數據架構基本都是通用的,區別在於具體實現的細節,以及側重點有所不同。

我們可以看到,這張架構圖相對來說是一個比較完整通用性較強的數據平臺架構,但是其包含的內容信息真的不少,數據從底層逐漸向應用層流轉,實現從一整套基礎數據收集到數據價值挖掘的過程。

整個過程信息量有點大,我將在後續的文章中梳理和拆解這個架構圖,並細說如何拆分階段目標,最終把這個架構藍圖繪制出來。

原文鏈接

從0到1構建大數據生態系列1:數據蠻荒中的拓荒之舉