日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

零基础学习hadoop到上手工作线路指导(中级篇)

發(fā)布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 零基础学习hadoop到上手工作线路指导(中级篇) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

此篇是在零基礎(chǔ)學(xué)習(xí)hadoop到上手工作線路指導(dǎo)(初級篇)的基礎(chǔ),一個繼續(xù)總結(jié)。
五一假期:在寫點(diǎn)內(nèi)容,也算是總結(jié)。上面我們會了基本的編程,我們需要對hadoop有一個更深的理解:
hadoop分為hadoop1.Xhadoop2.X,并且還有hadoop生態(tài)系統(tǒng)。這里只能慢慢介紹了。一口也吃不成胖子。




hadoop 1.x分為
mapreducehdfs

其中mapreduce是很多人都需要邁過去的檻,它比較難以理解,我們有時候即使寫出了mapreduce程序,但是還是摸不著頭腦。
我們不知道key代表什么意思,我們不知道為什么會處理這個value。map有key、value,輸出了key、value,有時候還會合并,reduce處理完畢之后又輸出了key、value。這讓我們產(chǎn)生了困惑,分不清。

mapreduce是一種編程模型,那么它能干什么,對我有什么用。它的原理是什么,為什么我們編寫了map函數(shù),reduce函數(shù)就可以在多臺機(jī)器上運(yùn)行。
這些問題或許都給初學(xué)者帶來了困擾。是的,這些問題同樣也困擾了我,這里寫出來分享給大家,避免走同樣的彎路。

面對mapreduce,有一篇文章,這里總結(jié)的很好,包括:該如何入門,該如何理解mapreduce,該如何練習(xí)mapreduce,該如何運(yùn)用mapreduce。這里面介紹的很全。
mapreduce學(xué)習(xí)指導(dǎo)及疑難解惑匯總,內(nèi)容包括:
---------------------------------------------------------------------------------------------------
1.思想起源:

我們在學(xué)習(xí)mapreduce,首先我們從思想上來認(rèn)識。其實(shí)任何的奇思妙想,抽象的,好的想法、都來源于我們生活,而我們也更容易理解我們身邊所發(fā)生事情。所以下面一篇便是從生活的角度,來讓我們理解,什么是mapreduce。
Hadoop簡介(1):什么是Map/Reduce

2.設(shè)計思路

我們從思想上認(rèn)識了mapreduce,那么mapreduce具體是什么,我們需要看得見,摸得著。我們該如何實(shí)現(xiàn)這個思想,我們該如何設(shè)計mapreduce。那么現(xiàn)在來說說它的設(shè)計思路。

設(shè)計思路如何表示:ok下面的帖子,是通過一張圖來表達(dá)的。
Mapreduce 整個工作機(jī)制圖

mapreduce是hadoop的核心,正因?yàn)閙apreduce,所以才產(chǎn)生了分布式。所以我們可能通過一張圖,了解的不夠清楚和詳細(xì)。我們還需要了解里面的原理:
MapReduce工作原理講解

?
3.模型實(shí)現(xiàn)

通過上面我們可能有了自己的一些看法。但是我們可能還是認(rèn)識不太清楚。那么咱們在來看看編程模型,來進(jìn)一步的了解。

MapReduce 編程模型概述


mapreduce編程模型


4.產(chǎn)生問題

我們看了上面的文章,這時候會有一些名詞、概念進(jìn)入我們的腦海。
除了map,reduce,task,job,shuffe,partition,combiner這些把我們給弄糊涂了。
我們產(chǎn)生問題如下:
map的個數(shù)由誰來決定,如何計算?
reduce個數(shù)由誰來決定,如何計算?
簡單來講map由split來決定,reduce則是由partition來決定。
詳細(xì)可以查看
如何確定 Hadoop map和reduce的個數(shù)--map和reduce數(shù)量之間的關(guān)系是什么?

---------------------------------------------------------------------------------------------------
shuffle是什么?
partition是什么?
combiner是什麼?
他們?nèi)咧g的關(guān)系是什么?

mapreduce是hadoop核心,而shuffle是mapreduce的核心,shuffle個人認(rèn)為它是一個動態(tài)的過程,包含了Combiner,merge等的過程,那么這里因?yàn)橹v到shuffle,很多人都講的全面,Combiner,merge,sort幾乎全都講了,這樣講是沒有錯誤的,但是容易給初學(xué)者造成一個假象,那就是這些過程必須都是包含的,其實(shí)這些是根據(jù)個人的需求來確定的。
徹底了解mapreduce核心Shuffle--解惑各種mapreduce問題

對于Combiner的疑惑可以查看
Mapper過程中Combiner的作用
解決了下面問題

為什么需要在Mapper端進(jìn)行歸約處理?

為什么可以在Mapper端進(jìn)行歸約處理?

既然在Mapper端可以進(jìn)行歸約處理,為什么在Reducer端還要處理?


上面三個問題,可以查看帖子

hadoop中,combine、partition、shuffle作用分別是什么?


同樣關(guān)于上面的問題可以參考
關(guān)于Mapper、Reducer的個人總結(jié)




5.編程實(shí)現(xiàn)

mapreduce是一種編程模型,我們認(rèn)識了解,下面就需要編程實(shí)現(xiàn)了。那么mapreduce都能做些什么?下面我們可以看看

MapReduce初級案例(1):使用MapReduce去重


MapReduce初級案例(2):使用MapReduce數(shù)據(jù)排序


MapReduce初級案例(3):使用MapReduce實(shí)現(xiàn)平均成績


通過上面三個例子,也是我們驗(yàn)證前面所理解的內(nèi)容。
同樣可以參考下面內(nèi)容

Hadoop mapper類的閱讀

Hadoop reducer類的閱讀

Mapreduce shuffle和排序

hadoop中mapreduce包及制作文檔指導(dǎo)


Hadoop開發(fā)環(huán)境搭建及map-reduce開發(fā)實(shí)例講解視頻下載


如何進(jìn)行Hadoop二次開發(fā)指導(dǎo)視頻下載



6.mapreduce應(yīng)用
上面是一些基本的知識,那么我們熟悉之后,其實(shí)有些地方,可以應(yīng)用在其它方面。下面可以參考:

淘寶之HBase MapReduce實(shí)例分析


MapReduce在壓力測試中的應(yīng)用
---------------------------------------------------------------------------------------------------

這里在增加幾篇:
深度了解mapreduce---MapReduce源碼分析總結(jié)
此篇文章可以解決很多初學(xué)者的困惑,由淺入深講的很不錯。
新手指導(dǎo):mapreduce不同類型的數(shù)據(jù)分到同一個分區(qū)是否會影響輸出結(jié)果
由于在我們剛接觸知識,會讓我們造成誤解,這里區(qū)分開了,分區(qū)與輸出結(jié)果之間的關(guān)系。

新手指導(dǎo):MapReduce中的分區(qū)方法Partitioner
這里講解了分區(qū)是由誰來決定的,我們該如何分區(qū)

新手指導(dǎo):mapreduce的key與value輸入輸出參數(shù)為什么會讓你迷惑
對于新手這篇文章闡述了key,value為什么會讓我們迷惑。

新手指導(dǎo):讓你真正了解mapreduce中map函數(shù)與reduce函數(shù)功能及key與value的含義
詞牌你文章同樣,從另外角度講解了key,value,通過上面兩篇或許你已經(jīng)認(rèn)識了key與value。

通過Wordcount實(shí)例解析map函數(shù)及reduce函數(shù)執(zhí)行過程
很多新手在學(xué)習(xí)的過程中找不到標(biāo)準(zhǔn),不知道m(xù)apreduce程序,每個過程,每行代碼代表什么意思,這里給大家提供可以參考一下。

總結(jié):如果已經(jīng)把上面的文章都看過了,那么你對mapreduce如果說還不透徹,但是已經(jīng)感覺對mapreduce會有自己的看法了。并且產(chǎn)生的各種問題,都有了自己的答案。


---------------------------------------------------------------------------------------------------
mapreduce熟悉了,還有一些問題困擾著初學(xué)者,雖然有了Java基礎(chǔ),但是我們需要搭建開發(fā)環(huán)境,該如何搭建開發(fā)環(huán)境:
hadoop開發(fā)方式總結(jié)及操作指導(dǎo)

開發(fā)方式有兩種,但是其實(shí)本質(zhì)是一樣的,第一種方式只能操作hdfs,對于操作mapreduce,可能會遇到權(quán)限問題。所以可以采用第二種方式。也就是下面這篇所介紹的開發(fā)方式
新手指導(dǎo):Windows上使用Eclipse遠(yuǎn)程連接Hadoop進(jìn)行程序開發(fā)


---------------------------------------------------------------------------------------------------
因?yàn)樵诓僮鱩apredcue過程中伴隨著操作hdfs,就像我們傳統(tǒng)開發(fā),編程是離不開數(shù)據(jù)庫一樣。hdfs可以理解為傳統(tǒng)編程的數(shù)據(jù)庫,但是其實(shí)他不是,真正的數(shù)據(jù)庫是hadoop data base,也就是hbase。好了下面,我們開始講hdfs:

我們該如何學(xué)習(xí)hdfs:
什么是HDFS及HDFS架構(gòu)設(shè)計

這里給我們一個初步的概念
HDFS體系結(jié)構(gòu)簡介及優(yōu)缺點(diǎn)

初步了解之后,我們就需要了解它的組成,為了更好的使用它,我們就需要了解他的優(yōu)點(diǎn)與缺點(diǎn)。

HDFS可以理解為數(shù)據(jù)庫,因?yàn)槲覀兗瓤梢酝ㄟ^sql直接操作數(shù)據(jù)庫,亦可以通過編程接口,通過編程語言來操作。那么HDFS則是可以通過shell來操作。
Hadoop Shell命令字典(可收藏)

Hadoop框架之HDFS的shell操作

HDFS Shell基本操作HDFS命令行接口

,同樣hsfs的編程接口可以通過下面來了解:
HDFS的Java訪問接口

Java創(chuàng)建hdfs文件實(shí)例

Hadoop培訓(xùn)筆記之HDFS編程

為了節(jié)省空間,我們還可以對hdfs數(shù)據(jù)進(jìn)行壓縮:
HDFS支持?jǐn)?shù)據(jù)壓縮的幾種方法探討



上面可以說是我們已經(jīng)有了一定的了解,但是有的同學(xué),想系統(tǒng)的了解,這里給大家提供一些資料。

HDFS必讀書籍:HDFS-Hadoop分布式文件系統(tǒng)深度實(shí)踐


Hadoop技術(shù)內(nèi)幕 深入解析HADOOP COMMON和HDFS架構(gòu)設(shè)計與實(shí)現(xiàn)原理大全1-9章


深入淺出Hadoop實(shí)戰(zhàn)開發(fā)(HDFS實(shí)戰(zhàn)圖片、MapReduce、HBase實(shí)戰(zhàn)微博、Hive應(yīng)用)
----------------------------------------------------------------------------------------------
我們在學(xué)習(xí)和使用的過程中,會遇到很多的錯誤,這里也給大家提供幾篇帖子
hadoop常見錯誤匯總及解決辦法一

Hadoop常見錯誤問題及解決方法總結(jié)二

hadoop常見錯誤總結(jié)三

-----------------------------------------------------------------------------------------------------------------
至此hadoop1.x已經(jīng)完畢了(后面有時間繼續(xù)補(bǔ)充)

hadoop生態(tài)系統(tǒng)

hadoop生態(tài)系統(tǒng)內(nèi)容還是比較多的,但是最常用的是hivehbase,所以這里對他們也總結(jié)一下:
1.hive
首先我們需要hive是什么?

讓你真正明白什么是hive
上面講的很明白
1.hive是一個數(shù)據(jù)倉庫
2.hive基于hadoop。
總結(jié)為一句話:hive是基于hadoop的數(shù)據(jù)倉庫。
hive明白之后,如同我們明白了關(guān)系數(shù)據(jù)庫是什么了,那么我們該如何使用操作它:
首先我們要安裝,安裝分為很多種分為單機(jī)遇集群安裝。
可參考下面內(nèi)容:(正在更新)
Hive安裝指導(dǎo)

HIVE完全分布式集群安裝過程(元數(shù)據(jù)庫: MySQL)

上面需要說明的是hive默認(rèn)數(shù)據(jù)庫并不是mysql,但是因?yàn)槟J(rèn)數(shù)據(jù)庫存在局限,所以最好使用mysql。

安裝完畢,那么我們就需要練練手了,可以根據(jù)下面內(nèi)容
hive基本操作
會了基本的操作還不夠,如同我們需要了解sql語法一樣,我們需要了解hive各種語法

Hadoop Hive sql語法詳解1-認(rèn)識hive及DDL操作

Hadoop Hive sql語法詳解2-修改表結(jié)構(gòu)

Hadoop Hive sql語法詳解3--DML 操作:元數(shù)據(jù)存儲

Hadoop Hive sql語法詳解4--DQL 操作:數(shù)據(jù)查詢SQL

Hadoop Hive sql語法詳解5--HiveQL與SQL區(qū)別

這里面包含了加載數(shù)據(jù)、查詢數(shù)據(jù)等各種操作。
上面是一些基本的操作,下面還有一些負(fù)責(zé)一些操作如:
Hive快捷查詢:不啟用Mapreduce job啟用Fetch task三種方式介紹

Hive如何執(zhí)行文件中的sql語句

Hive四種數(shù)據(jù)導(dǎo)入方式介紹

Hive中的三種不同的數(shù)據(jù)導(dǎo)出方式介紹

Hive如何創(chuàng)建索引

上面基本屬于實(shí)戰(zhàn)類型,我們還需要高級進(jìn)階,我們需要了解里面的原理,我們需要知道遇到問題,該如何解決。
原理:
全面了解hive

Hive體系結(jié)構(gòu)介紹

hive實(shí)現(xiàn)原理

hive內(nèi)部表與外部表區(qū)別詳細(xì)介紹

HIVE中Join的專題---Join詳解

讓你徹底明白hive數(shù)據(jù)存儲各種模式

Hive配置文件中配置項(xiàng)的含義詳解(收藏版)

HIVE與傳統(tǒng)數(shù)據(jù)庫對比

hive詳解

原理大致懂了,基本操作會了,我們可能又有了更進(jìn)一步的認(rèn)識,那么hive如何結(jié)合hadoop,hbase發(fā)揮作用,該如何發(fā)揮它的實(shí)際意義,被我們所用。

首先我們使用hive的時候,很多都與hbase相結(jié)合,這樣發(fā)揮hive的長處,在各種查詢數(shù)據(jù)方面相比hbase使用更方便。
hive為什么與hbase整合

Hive與HBase整合完整指導(dǎo)

hadoop、hbase、hive版本對應(yīng)關(guān)系

上面是與hbase結(jié)合使用,那么我們該如何與編程語言向結(jié)合,可以參考下面內(nèi)容:

通過JDBC驅(qū)動連接Hive操作實(shí)例

Hive:用Java代碼通過JDBC連接Hiveserver介紹
Hive:用Java代碼通過JDBC連接Hiveserver介紹

從 MapReduce 到 Hive 實(shí)戰(zhàn)分析

hive實(shí)戰(zhàn)

上面或許你已經(jīng)對hive有所了解,下面的面試及遇到的問題,大家可參考
hive找不到創(chuàng)建的表了

Shark對Hive的支持與不支持的語法介紹

面試題:分別使用Hadoop MapReduce、hive統(tǒng)計手機(jī)流量

hive面試題目:表大概有2T左右,對表數(shù)據(jù)轉(zhuǎn)換

hive如何通過設(shè)置日志定位錯誤

hive在騰訊分布式數(shù)據(jù)庫時間分享

(暫時到此,以后更新)





如果到了這個地方。后面的內(nèi)容你可以在看看視頻。
hadoop新手入門視頻
hadoop10G云計算和實(shí)戰(zhàn)hadoop視頻教程外加煉術(shù)成金和云計算視頻(免費(fèi)分享)
hadoop搭建集群線路指導(dǎo)


通過以上視頻,搭建環(huán)境和開發(fā)環(huán)境都沒有問題。以后有時間咱們可以再次展開和討論。

轉(zhuǎn)載于:https://my.oschina.net/MrMichael/blog/299049

總結(jié)

以上是生活随笔為你收集整理的零基础学习hadoop到上手工作线路指导(中级篇)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。