Re: [問題] 想走Big Data的選系困擾

作者: dryman (dryman)   2015-02-09 23:57:46
我現在也是在big data業界工作(OpenX)處理的是廣告實時競價
去除重複資料後,一分鐘的資料量也有25GB
先講兩個結論:
1. CS 是最接近的科系,但也有很多東西是CS沒有教,你要自己學的
這其實不意外。例如,怎麼把程式寫到production level
在業界明明就是非常需要的能力,但沒什麼研究價值
2. Process data in large scale != data science
* * *
很多人以為big data就是要做大型數據分析
不過如果你沒有一個能靠數據吃飯的business model,你連資料都養不起
OpenX的資料量還不算是非常大的,但也是要700台來裝這些數據
資料甚至還不能留太久
我們的主要業務不是在分析數據,而是將數據處理成報表,才能跟客戶收錢
這種資料工程師要做的事情可以簡化成三件事:
1. 去除無效或重複資料
2. 將相關的資料join
3. join好的資料非常大,類似傳統資料庫的hyper cube
從這樣的資料再去切出各種角度的報表
英文比較好表達這個:aggregation
把這三件事做到好,才是一家公司有辦法養大數據的基礎
很不幸的,沒有學校會想要教你這些,因為這實在是沒有學術價值啊
* * *
資料工程要做的三件事雖然目標簡單,但要做到large scale一點也不直觀
雖然現在hadoop ecosystem上層工具很多,但我建議還是要能做到map-reduce API的程度
這裡面最困難的還是去除無效資料
如何篩選相關資料,然後送進同一台機器兩兩比對是否重複或無效
這種邏輯不直接寫到Map-Reduce API我還真無法想像該怎麼寫
另外跟金錢相關的資料,常常需要在currency間轉換
currency的轉換要留到最後一步做,太早變成浮點數,數據會在數次aggregation後失真
這種我們需要客製的資料結構來存,用上層工具(hive/pig)來做也是相當困難
這些東西該怎麼學?我是自己學的
買一本hadoop definitive guide,全本讀完
書裡面很多東西沒涵蓋到,就把API先瀏覽過一遍,才會發現很多有用的小工具
到最後就是在source code裡面挖東西了
我在寫自己的input/output format時,就是從它的source code裡面找靈感
學習過程也不是學完再做東西,都是一邊學一邊做
可以先從最簡單的目標開始寫:
1. 如何寫一個select count(1) from... group by xxx
進階一點select sum, avg, ... from ... group by xxx
2. 如何寫one-to-many join, many-to-many join
3. 如何寫「去除一分鐘內的重複資料」的map-reduce job
* * *
以上是比較基礎的資料工程師要做的工作
更進階的會需要更多深入的資料結構及演算法
題目也會變得更靈活
例如,比起sort全部的資料,只找最高的一百個
用map-reduce加上自訂的資料結構效能可以比原本快非常多倍
或是如果你只在乎一個query最後會產生多少行,而且只在乎大略的數字
那你可以使用hyperloglog的演算法來做
又或是你如果想預先知道一個query會不會data skew
可以使用count min sketch
我自己的工作幾乎沒有資料分析
但需要很多技巧來將資料處理的演算法變得scalable
這也是big data工作的一種型態,我個人覺得應該是比資料分析還缺人啦
至少就我們公司來說,有太多PhD來應徵data science,而合格的data engineer
幾乎找不到...
作者: leo80042 (嗯嗯啊啊去洗澡)   2015-02-10 00:00:00
頭推
作者: shenerica (一朵小花兒)   2015-02-10 00:13:00
原po專業
作者: Tyrannus (檸檬)   2015-02-10 00:13:00
thanks for sharing :)
作者: BigShotBob (BigShotBob)   2015-02-10 00:15:00
這篇專業 現在這種處理方法幾乎都要另外開一門課可參考CMU 10605 非常實用 有影片可以看
作者: branburg (瑞士捲)   2015-02-10 01:22:00
專業推 的確CS很多技術也很多要需自學!資料分析也許需從Orthogonality層面著手~
作者: expiate (夜露死苦)   2015-02-10 12:42:00
Jimmy Lin在twitter工作所發表的論也跟你的論述類似
作者: poiu801117   2015-02-12 13:08:00
受用!推

Links booklink

Contact Us: admin [ a t ] ucptt.com