天天看點

從大資料到資料挖掘之後分布式的學習之路

前些年大資料如火如荼的展開,我也滿懷熱情的加入了學習的行列,心裡也覺得這個是未來資料越來越多的比較好的解決方案。當時接觸的是Hadoop生态圈,從cloudera的HDP4開始入手(當年cloudera和hortonworks還沒有合并),入手的時候從hdfs(檔案系統)和mapreduce(計算架構)開始學起,這兩部分可以說是Hadoop生态系統的基石,但當時不會學的很深,主要是從了解原理和如何使用的角度開始,之後學了一些架構,當時流行Hive,其實作在這個也還是比價流行,很多企業還是在使用。sqoop作為一個ETL的工具,隻是簡單掌握吧。其實當年Hive和sqoop底層都是用的mapreduce,現在Hive已經可以更換很多計算引擎了,比如spark和tez,速度比傳統的mapreduce快了很多。當年spark還不像現在這樣如日中天。HBase作為當時比較獨特的列式存儲的資料庫,其實很多公司并沒太使用,估計是網際網路企業會有較多應用,傳統企業還是更多的在找到一個類似資料倉庫的産品,更多的對接關系資料庫,當然現在很多時候大家都說号稱自己是資料湖,但很多名不副實。細心的同學可能發現上面隻是說了一條路,那就是batch,并沒涉及streaming。最開始的時候storm在streaming這塊還是占有很重要的一席之地的,當年ali也用java重寫了一個jstorm,後來也開源出來了。但後來随着spark的崛起,基本stream這塊也被spark占領了,現在再做流處理應該都會選擇spark了。
         後來覺得隻學了這些東西好像欠缺點什麼,尤其對于資料的生命周期來說,畢竟缺失了最後也是很有價值的資料挖掘的部分,前面提到的東西更多的側重于資料平台的搭建,資料湖的建立,以及ETL的東西。當年從網際網路公司出來的一個詞叫使用者畫像,當年還是很牛的一個技術。于是我為了補全資料處理的生命周期,又開始輾轉學習machine learning,後來deep learning。雖然中間也在天池和一些别的競賽拿過一些名次,但經過一段時間的學習之後還是覺得作為程式員來說這個方向并不是太适合深入研究,建議名校,高學曆多往這個方向發展。
         現在開始研究分布式的一些東西,其實這在某種程度上也算是對于最開始學習Hadoop的大資料的一個深入,當然這個絕不止于此,畢竟現在很多開發都是分布式的,dubbo和spring cloud這類微服務還有像區塊鍊就能看出來。中間學習也很難說走了一些彎路,但有時候一方面是公司的業務需求,另一方面也是摸着石頭過河,在所難免吧。
        最近幾年沒更新部落格了,前段時間自己弄了新的部落格,www.askjoey.up ,有興趣也可以去那看看。