好程序員大數(shù)據(jù)培訓(xùn)簡述Hadoop常見問題,近期有不少剛剛接觸或者是剛參加大數(shù)據(jù)培訓(xùn)的小伙伴詢問Hadoop常見問題有哪些,下面是簡單整理的一些內(nèi)容,現(xiàn)在分享給大家,希望對小伙伴們有所幫助。
1、現(xiàn)在企業(yè)中使用Hadoop版本主要是1.x還是2.x?
目前百度,騰訊,阿里為主的互聯(lián)網(wǎng)公司都是以hadoop。
a.X為基準(zhǔn)版本的,當(dāng)然每個(gè)公司都會(huì)進(jìn)行自定義的二次開發(fā)以滿足不同的集群需求。
b.X在百度內(nèi)部還沒有正式使用,還是以1.X為主,不過百度針對1.X的問題開發(fā)了HCE系統(tǒng)(HadoopC++Expand系統(tǒng))。
補(bǔ)充:Hadoop2.x在其他公司應(yīng)用的很多,比如京東等。
2、以后想從事大數(shù)據(jù)方面工作,算法要掌握到什么程度,算法占主要部分嗎?
首先,如果要從事大數(shù)據(jù)相關(guān)領(lǐng)域的話,hadoop是作為工具來使用的,首先需要掌握使用方法。可以不用深入到hadoop源碼級別細(xì)節(jié)。
然后就是對算法的理解,往往需要設(shè)計(jì)到數(shù)據(jù)挖掘算法的分布式實(shí)現(xiàn),而算法本身你還是需要理解的,例如常用的k-means聚類等。
3、現(xiàn)在spark,storm越來越火,谷歌也發(fā)布了Cloud Dataflow,是不是Hadoop以后主要應(yīng)該學(xué)習(xí)hdfs和yarn,而且以后Hadoop程序員的主要做的就是把這些東西打包,只提供接口讓普通的程序員也能使用,就像Cloudera和Google一樣?
這位同學(xué),你多慮了,hadoop和spark,strom是解決不同的問題,不存在哪個(gè)好那個(gè)壞,要學(xué)習(xí)Hadoop還是以主流的hadoop-1.X為版本,2.X最主要的就是多了yarn框架,很好理解的。如果你是hadoop本身研發(fā)建議都看,如果你是hadoop應(yīng)用相關(guān)研發(fā),看主流的1.X就行。
4、小白問一句,大數(shù)據(jù)處理都是服務(wù)器上安裝相關(guān)軟件嗎,對程序有什么影響呢,集群、大數(shù)據(jù)是屬于運(yùn)維的工作內(nèi)容還是攻城獅的呢?
傳統(tǒng)的程序只能運(yùn)行在單機(jī)上,而大數(shù)據(jù)處理這往往使用分布式編程框架編寫,例如hadoopmapreduce,只能運(yùn)行在hadoop集群平臺上。
運(yùn)維的責(zé)任:保證集群,機(jī)器的穩(wěn)定性和可靠性
hadoop系統(tǒng)本身研發(fā):提高Hadoop集群的性能,增加新功能。
大數(shù)據(jù)應(yīng)用:把hadoop作為工具,去實(shí)現(xiàn)海量數(shù)據(jù)處理或者相關(guān)需求。
5、大的文件拆分成很多小的文件后,怎樣用Hadoop進(jìn)行高效的處理這些小文件?以及怎樣讓各個(gè)節(jié)點(diǎn)盡可能的負(fù)載均衡?
a.怎樣用Hadoop進(jìn)行高效的處理這些小文件?
hadoop在處理大規(guī)模數(shù)據(jù)時(shí)是很高效的,但是處理大量的小文件時(shí)就會(huì)因?yàn)橄到y(tǒng)資源開銷過大而導(dǎo)致效率較低,針對這樣的問題,可以將小文件打包為大文件,例如使用SequcenFile文件格式,例如以文件簽名為key,文件內(nèi)容本身為value寫成SequcenFile文件的一條記錄,這樣多個(gè)小文件就可以通過SequcenFile文件格式變?yōu)橐粋€(gè)大文件,之前的每個(gè)小文件都會(huì)映射為SequcenFile文件的一條記錄。
b.怎樣讓各個(gè)節(jié)點(diǎn)盡可能的負(fù)載均衡?
在hadoop集群中負(fù)載均衡是非常關(guān)鍵的,這種情況的導(dǎo)致往往是因?yàn)橛脩舻臄?shù)據(jù)分布的并不均衡,而計(jì)算資源槽位數(shù)確實(shí)均衡分布在每個(gè)節(jié)點(diǎn),這樣在作業(yè)運(yùn)行時(shí)非本地任務(wù)會(huì)有大量的數(shù)據(jù)傳輸,從而導(dǎo)致集群負(fù)載不均衡,因此解決不均衡的要點(diǎn)就是將用戶的數(shù)據(jù)分布均衡,可以使用hadoop內(nèi)置的balancer腳本命令。
對于因?yàn)橘Y源調(diào)度導(dǎo)致的不均衡則需要考慮具體的調(diào)度算法和作業(yè)分配機(jī)制。