Hadoop精华问答 | 关于Hadoop核心技术的精华问答
戳藍(lán)字“CSDN云計(jì)算”關(guān)注我們哦!
隨著科技時(shí)代的發(fā)展,大數(shù)據(jù)與云計(jì)算已勢(shì)不可擋的架勢(shì)席卷未來(lái),不可否認(rèn),大數(shù)據(jù)時(shí)代已經(jīng)來(lái)臨,并將深刻地改變著我們的工作和生活。學(xué)習(xí)大數(shù)據(jù)技術(shù),是時(shí)代的召喚,是社會(huì)對(duì)高薪技術(shù)人才的渴望,而想要了解大數(shù)據(jù)就一定要學(xué)習(xí)Hadoop。作為開(kāi)發(fā)和運(yùn)行處理大規(guī)模數(shù)據(jù)的軟件平臺(tái),Hadoop是Appach中用java語(yǔ)言實(shí)現(xiàn)開(kāi)源軟件的框架,并實(shí)現(xiàn)在大量計(jì)算機(jī)組成的集群中對(duì)海量數(shù)據(jù)進(jìn)行分布式計(jì)算。今天,我們就來(lái)看看關(guān)于Hadoop核心技術(shù)的問(wèn)與答吧!
Q:Hadoop與大數(shù)據(jù)有什么關(guān)系?
A:Hadoop,Spark和Storm是目前最重要的三大分布式計(jì)算系統(tǒng),Hadoop常用于離線的復(fù)雜的大數(shù)據(jù)處理,Spark常用于離線的快速的大數(shù)據(jù)處理,而Storm常用于在線的實(shí)時(shí)的大數(shù)據(jù)處理。
簡(jiǎn)單說(shuō),Hadoop或者說(shuō)Hadoop生態(tài)圈,是為了解決大數(shù)據(jù)應(yīng)用場(chǎng)景而出現(xiàn)的,它包含了文件系統(tǒng)、計(jì)算框架、調(diào)度系統(tǒng)等,Spark是Hadoop生態(tài)圈里的一種分布式計(jì)算引擎。
Q:Hadoop在大數(shù)據(jù)中的作用?
A:Hadoop大數(shù)據(jù)處理的相關(guān)產(chǎn)品有很多,如Hive、HBase、Spark、Storm、Mahout等等,用戶的需求也能夠日益得到滿足。相比于使用場(chǎng)景已基本固化的關(guān)系型數(shù)據(jù)庫(kù),Hadoop功能更加靈活。并且Hadoop是開(kāi)源項(xiàng)目,有開(kāi)源社區(qū)和大多技術(shù)者的支持,開(kāi)發(fā)維護(hù)也較為方便。
Q:大的文件拆分成很多小的文件后,怎樣用Hadoop進(jìn)行高效的處理這些小文件?以及怎樣讓各個(gè)節(jié)點(diǎn)盡可能的負(fù)載均衡?
A:Hadoop在處理大規(guī)模數(shù)據(jù)時(shí)是很高效的,但是處理大量的小文件時(shí)就會(huì)因?yàn)橄到y(tǒng)資源開(kāi)銷過(guò)大而導(dǎo)致效率較低,針對(duì)這樣的問(wèn)題,可以將小文件打包為大文件,例如使用SequcenFile文件格式,例如以文件簽名為key,文件內(nèi)容本身為value寫成SequcenFile文件的一條記錄,這樣多個(gè)小文件就可以通過(guò)SequcenFile文件格式變?yōu)橐粋€(gè)大文件,之前的每個(gè)小文件都會(huì)映射為SequcenFile文件的一條記錄。
在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腳本命令。對(duì)于因?yàn)橘Y源調(diào)度導(dǎo)致的不均衡則需要考慮具體的調(diào)度算法和作業(yè)分配機(jī)制。
Q:Hadoop和Spark有哪些不同呢?
A:首先,Hadoop 和Spark 兩者都是大數(shù)據(jù)框架,但解決問(wèn)題的層面有所不同。Hadoop更多是一個(gè)分布式數(shù)據(jù)基礎(chǔ)設(shè)施,將巨大的數(shù)據(jù)集分派到一個(gè)由普通計(jì)算機(jī)組成的集群中的多個(gè)節(jié)點(diǎn)進(jìn)行存儲(chǔ),節(jié)省了硬件成本 ,而Spark,則是那么一個(gè)專門用來(lái)對(duì)那些分布式存儲(chǔ)的大數(shù)據(jù)進(jìn)行處理的工具,依賴于分布式數(shù)據(jù)存儲(chǔ)。
其次, Spark要比Hadoop的MapReduce計(jì)算速度快很多。Spark,它會(huì)在內(nèi)存中以接近“實(shí)時(shí)”的時(shí)間完成所有的數(shù)據(jù)分析,從集群中讀取數(shù)據(jù),完成所有必須的分析處理,將結(jié)果寫回集群。對(duì)于動(dòng)態(tài)數(shù)據(jù)實(shí)時(shí)分析而言,Spark要比Hadoop性能較為優(yōu)越。比如實(shí)時(shí)的市場(chǎng)活動(dòng)、網(wǎng)絡(luò)安全分析等方面的應(yīng)用。
Q:之前碰到一個(gè)情況是在reduce階段老是卡在最后階段很長(zhǎng)時(shí)間,在網(wǎng)上查的說(shuō)是有可能是數(shù)據(jù)傾斜,這個(gè)有什么解決方法嗎?
A:reduce分為3個(gè)子階段:shuffle、sort和reduce,如果reduce整個(gè)過(guò)程耗時(shí)較長(zhǎng),建議先看一下監(jiān)控界面是卡在哪個(gè)階段,如果是卡在shuffle階段往往是網(wǎng)絡(luò)阻塞問(wèn)題,還有就是某reduce數(shù)據(jù)量太大,也就是你所說(shuō)的數(shù)據(jù)傾斜問(wèn)題,這種問(wèn)題往往因?yàn)槟硞€(gè)key的value太多,解決方法是:第一,默認(rèn)的partiiton可能不適合你的需求,你可以自定義partiiton;第二就是在map端截?cái)?#xff0c;盡量讓達(dá)到每個(gè)reduce端的數(shù)據(jù)分布均勻。
小伙伴們沖鴨,后臺(tái)留言區(qū)等著你!
關(guān)于Spring,今天你學(xué)到了什么?還有哪些不懂的?除此還對(duì)哪些話題感興趣?快來(lái)留言區(qū)打卡啦!留言方式:打開(kāi)第XX天,答:……
同時(shí)歡迎大家搜集更多問(wèn)題,投稿給我們!風(fēng)里雨里留言區(qū)里等你~
福利
1、掃描添加小編微信,備注“姓名+公司職位”,加入【云計(jì)算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)!
2、公眾號(hào)后臺(tái)回復(fù):白皮書(shū),獲取IDC最新數(shù)據(jù)白皮書(shū)整理資料!
推薦閱讀:
云計(jì)算之基,一文帶你速懂虛擬化KVM和XEN
OpenStack網(wǎng)絡(luò)的下一步原來(lái)這么走 | 技術(shù)頭條
用一枚比特幣環(huán)游世界? 他是不是瘋了...
程序員逆襲為美國(guó)最佳 CEO,他說(shuō)因?yàn)閻?ài)情
斯坦福區(qū)塊鏈匪幫傳奇,那些睡地毯、沒(méi)日沒(méi)夜寫代碼的編程少年
Erlang 之父去世,他留給程序員兩點(diǎn)忠告
開(kāi)什么玩笑?股票價(jià)格如何經(jīng)得起AI的推敲?| 技術(shù)頭條
真香,朕在看了!
總結(jié)
以上是生活随笔為你收集整理的Hadoop精华问答 | 关于Hadoop核心技术的精华问答的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2019 年度程序员吸金榜:你排第几?
- 下一篇: boost::container模块实现