大數(shù)據(jù)的熱門使得很多人都想往這個(gè)方向發(fā)展,做一些像數(shù)據(jù)挖掘,數(shù)據(jù)分析之類的工作。但是該從何開始呢?要怎樣才能快速學(xué)到一些有用的知識,技能呢?我覺得有三個(gè)切入點(diǎn),依照個(gè)人特點(diǎn)可以自行選擇順序切入。
1機(jī)器學(xué)習(xí)/數(shù)據(jù)挖掘
數(shù)據(jù)挖掘主要依賴于大部分機(jī)器學(xué)習(xí)算法,近些年由于深度學(xué)習(xí)算法的開發(fā)以及無人駕駛汽車等應(yīng)用的實(shí)習(xí)使得機(jī)器學(xué)習(xí)變得熱門,但是機(jī)器學(xué)習(xí)是個(gè)很深的學(xué)科,專門講這門課程的學(xué)校也不多,對于碩士生,如果學(xué)過最優(yōu)化等,學(xué)起來比較容易,但本科生要學(xué)好,就要很扎實(shí)的概率論與數(shù)理統(tǒng)計(jì)的基礎(chǔ)。之前我看了很多這發(fā)面的書,覺得很痛苦,但我越來越覺得,這個(gè)東西有那么重要么?我認(rèn)為,如果不是博士,沒必要把機(jī)器學(xué)習(xí)/深度學(xué)習(xí)學(xué)的很深。就像算法是很重要,但程序員沒必要都像ACM隊(duì)員那樣練習(xí)算法。我們學(xué)習(xí)機(jī)器學(xué)習(xí)是為了使用他,而且基本的那幾個(gè)算法已經(jīng)開發(fā)的差不多了,我們最需要掌握的就是怎樣使用它們,而且就那么幾個(gè)算法,只有每個(gè)都用過幾次就掌握了,所以我非常推薦邊學(xué)邊應(yīng)用到實(shí)際,根據(jù)自己的興趣,找點(diǎn)數(shù)據(jù),看看能不能挖掘出什么有用的信息,這樣也有成就感。這里我推薦一本書:《機(jī)器學(xué)習(xí):實(shí)用案例解析》。同時(shí),建議學(xué)習(xí)一門新的語言:R語言。如果不想學(xué),那么用C,python也都是可以的。(超大規(guī)模數(shù)據(jù)是不能用R的)最后,我覺得這部分并不一定先開始學(xué),也不用每一個(gè)算法都掌握十分熟悉,先熟練掌握一到兩個(gè)。
2Hadoop實(shí)戰(zhàn)
hadoop基本是大數(shù)據(jù)的代名詞了,因?yàn)樗峁┝艘粋€(gè)平臺,使得我們可以去處理超大的數(shù)據(jù),至于怎么處理,處理后能得到什么,它不管。hadoop雖然只是個(gè)軟件,但是有很復(fù)雜的原理,我們要知道他是怎樣把大數(shù)據(jù)分不到好幾個(gè)電腦上,知道MapReduce的原理。然后,就是怎樣運(yùn)作了。強(qiáng)烈建議大家自己安裝好hadoop(要配置集群,自己剪虛擬機(jī)吧),然后在上面編點(diǎn)小程序練手。 Hadoop還有一個(gè)特點(diǎn)就是他有很多的附加服務(wù),每個(gè)都有各自的功能,非常復(fù)雜,但是例如Hive,HBase等是非常重要的,也需要知道他們的工作原理,及使用方法。由于這部分大多是實(shí)戰(zhàn),學(xué)起來也不那么枯燥,所以我覺得這部分可以多用的點(diǎn)時(shí)間,把原理和方法都弄熟練,同時(shí)還要熟悉Linux環(huán)境,語言當(dāng)然是JAVA。
3數(shù)據(jù)庫
大數(shù)據(jù)畢竟也是數(shù)據(jù),是離不開數(shù)據(jù)庫的,很多人沒有有數(shù)據(jù)庫的基礎(chǔ),那么這方面也是必不可少的,各種數(shù)據(jù)庫的特點(diǎn)都要有所了解,SQL的語句也要能熟練使用,即便大數(shù)據(jù)不熱門了,數(shù)據(jù)庫技術(shù)也會(huì)很重要的。
我覺得把上面3點(diǎn)全都做到的話,那么你肯定是一個(gè)全面的大數(shù)據(jù)人才,隨便就能找個(gè)好工作了。但是我覺得數(shù)據(jù)挖掘這個(gè)東西,方法技能是一方面,還有一方面是意識層次的,也就是你對行業(yè)、商業(yè)的嗅覺有多大,你挖掘出來信息后能不能再經(jīng)過自己的思考,變成對公司甚至人類有直接好處的觀點(diǎn)。所以建議大家平時(shí)多關(guān)注互聯(lián)網(wǎng)及其他行業(yè)的發(fā)展趨勢,比較全面型的人才才是真的人才,大數(shù)據(jù)人才也不是一個(gè)普通程序員就能隨便當(dāng)?shù)摹?/p>