大數(shù)據(jù)現(xiàn)在是個(gè)很寬泛的職業(yè)方向了试疙。廣義的大數(shù)據(jù)在工業(yè)界分為:
基礎(chǔ)架構(gòu)诵棵。這個(gè)崗位主要為大數(shù)據(jù)提供底層的存儲(chǔ)、基礎(chǔ)設(shè)施等祝旷,要求是熟悉Hadoop履澳、Spark等分布式集群。?
數(shù)據(jù)倉庫怀跛。這個(gè)崗位和業(yè)務(wù)緊密掛鉤距贷,主要做的工作是深入了解業(yè)務(wù),設(shè)計(jì)出業(yè)務(wù)擴(kuò)展性好的數(shù)據(jù)倉庫敌完。要求是會(huì)寫SQL储耐、懂?dāng)?shù)據(jù)倉庫設(shè)計(jì)羊初。
數(shù)據(jù)分析/數(shù)據(jù)挖掘/算法開發(fā)滨溉。這類崗位屬于大數(shù)據(jù)的應(yīng)用,真正把數(shù)據(jù)轉(zhuǎn)化為生產(chǎn)力的工作长赞。?
這三類崗位的依賴關(guān)系是3->2->1晦攒。
我們一般說的大數(shù)據(jù)方向應(yīng)該是指3.數(shù)據(jù)分析/數(shù)據(jù)挖掘/算法開發(fā)。 這個(gè)崗位不但要學(xué)習(xí)本崗位要求的知識(shí)和技能得哆,也必須了解崗位1脯颜、2的技術(shù)。比如說贩据,你參與做一個(gè)推薦系統(tǒng)栋操,那么你要獲取數(shù)據(jù),簡單分析數(shù)據(jù)需要用Sql(一般是HiveQL)饱亮,再復(fù)雜點(diǎn)的邏輯得寫MR (MapReduce程序矾芙,下同)或者Spark程序,更復(fù)雜的邏輯或者場景近上,無法用規(guī)則來解決的問題剔宪,就得用上機(jī)器學(xué)習(xí)等知識(shí)了。那么從這個(gè)例子可以看出壹无,你需要的知識(shí)結(jié)構(gòu)是:
會(huì)寫類SQL(包括MySQL葱绒、HiveQL等)
會(huì)寫MR或者Spark程序,知道分布式集群原理斗锭、MapReduce的原理更好地淀。
這里還是要推薦下小編的大數(shù)據(jù)學(xué)習(xí)QQ裙:532218147,不管你是小白還是大牛岖是,小編我都?xì)g迎帮毁,不定期分享干貨她倘,包括小編自己整理的一份2018最新的大數(shù)據(jù)資料和0基礎(chǔ)入門教程,歡迎初學(xué)和進(jìn)階中的小伙伴作箍。在不忙的時(shí)間我會(huì)給解答
概率論和統(tǒng)計(jì)學(xué)知識(shí)硬梁。
機(jī)器學(xué)習(xí)算法。? ? ?
下面就這四個(gè)知識(shí)結(jié)構(gòu)方向展開說一下胞得。
會(huì)寫類SQL
學(xué)SQL的最好方法就是寫了荧止。因?yàn)镾QL的語法比較簡單,也沒有什么原理架構(gòu)什么的阶剑,所以最好的學(xué)習(xí)方式是Just write SQL跃巡!
會(huì)寫MR或者Spark程序
做數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)時(shí)候,訓(xùn)練模型也好牧愁,從Hive里面取數(shù)據(jù)也好素邪,比較常用的就是寫MR或者Spark程序。做數(shù)據(jù)倉庫的人猪半,把數(shù)據(jù)規(guī)整放到Hive中兔朦,然后我們做分析做挖掘的就直接從Hive中取數(shù)據(jù)就好了。取出的數(shù)據(jù)怎么玩出花樣就靠統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)算法了磨确。訓(xùn)練模型是計(jì)算密集型任務(wù)沽甥,一般會(huì)放到分布式集群上跑(Hadoop、Spark集群)上跑乏奥,那么就需要寫分布式計(jì)算程序摆舟,就是MR和Spark程序了。學(xué)習(xí)MR和Spark的方法也大多是工程性質(zhì)的邓了,多寫代碼恨诱。看看Google的MapReduce論文骗炉,理解下MapReduce的原理也是有必要的照宝。
概率論和統(tǒng)計(jì)學(xué)知識(shí)
上面講到,我們做分析痕鳍、做挖掘的從Hive里取出數(shù)據(jù)硫豆,如何玩出花樣,算法笼呆,那么這類算法的數(shù)學(xué)基礎(chǔ)就是概率論和統(tǒng)計(jì)學(xué)習(xí)熊响。這里推薦中科大陳希孺教授寫的兩本書《概率論與數(shù)理統(tǒng)計(jì)》和《數(shù)理統(tǒng)計(jì)學(xué)教程》。陳老師講的比較透徹诗赌,我的感覺是難啃汗茄,但是啃完之后理解的很透徹。
機(jī)器學(xué)習(xí)算法
包括經(jīng)典的機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)铭若。有個(gè)現(xiàn)象挺有意思的洪碳,因?yàn)楣I(yè)屆機(jī)器學(xué)習(xí)崗位的人80%以上的時(shí)間都在做特征工程递览。所謂特征工程就是理解業(yè)務(wù),從業(yè)務(wù)中提取指標(biāo)瞳腌、生成特征绞铃,如果能找到強(qiáng)特征,對(duì)預(yù)測效果的提高會(huì)很大嫂侍。真正去寫算法實(shí)現(xiàn)的機(jī)會(huì)并不多儿捧,因?yàn)橛型Τ墒斓乃惴◣炝耍热鏢park的MLLib挑宠,weka菲盾,谷歌的tensorflow平臺(tái),各種機(jī)器學(xué)習(xí)平臺(tái)各淀。那么還要不要深入理解算法過程了呢懒鉴?答案是當(dāng)然要!原因是:1. 雖然寫算法的機(jī)會(huì)不多碎浇,但肯定還是有的临谱,比如說現(xiàn)有的算法庫解決不了的問題。2. 在現(xiàn)有算法庫的基礎(chǔ)上需要微調(diào)南捂,必須深入理解算法過程才能做得到吴裤。3.另外旧找,算法庫也是人寫的溺健,能造好輪子的人很厲害的,造福大眾啊钮蛛。
這個(gè)方向推薦李航的《統(tǒng)計(jì)學(xué)習(xí)方法》和周志華的《機(jī)器學(xué)習(xí)》鞭缭,這兩本書偏原理。都是國產(chǎn)書籍的良心之作魏颓。我看《統(tǒng)計(jì)學(xué)習(xí)方法》的時(shí)候岭辣,會(huì)拿紙和筆自己寫主要的公式,必要時(shí)可以推導(dǎo)甸饱,達(dá)到的程度是合上書可以把這個(gè)算法的主要公式和推導(dǎo)過程沦童、算法過程寫出來。理解算法過程后叹话,可以自己寫實(shí)現(xiàn)算法偷遗,比如寫一個(gè)決策樹或者樸素貝葉斯。再推薦一本偏實(shí)戰(zhàn)的驼壶,是《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》(有英文版)氏豌。這本書里面有一些Python寫的例子。
對(duì)于還在學(xué)校的热凹,我的建議是學(xué)好數(shù)學(xué)泵喘,特別是概率論泪电、數(shù)理統(tǒng)計(jì);學(xué)好計(jì)算機(jī)基礎(chǔ)知識(shí)纪铺,比如數(shù)據(jù)結(jié)構(gòu)相速、算法、操作系統(tǒng)等這些是內(nèi)功鲜锚,工作之后沒那么時(shí)間讓你系統(tǒng)的學(xué)習(xí)這些知識(shí)和蚪。對(duì)于在初入工業(yè)界的童鞋,我的建議是在做特征工程的時(shí)候烹棉,可以再學(xué)學(xué)概率論和統(tǒng)計(jì)學(xué)攒霹,最好能深入理解算法過程,畢竟職業(yè)路程還長浆洗,練好內(nèi)功催束,以后的招式想怎么學(xué)就怎么學(xué)。