Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)教程課件_第1頁(yè)
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)教程課件_第2頁(yè)
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)教程課件_第3頁(yè)
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)教程課件_第4頁(yè)
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)教程課件_第5頁(yè)
已閱讀5頁(yè),還剩247頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、大數(shù)據(jù)-Hadoop基礎(chǔ)2022/8/18第1頁(yè),共252頁(yè)。1Hadoop核心組件目錄Hadoop簡(jiǎn)介2Hadoop生態(tài)圈3Hadoop應(yīng)用場(chǎng)景4第2頁(yè),共252頁(yè)。Hadoop發(fā)展歷程Hadoop背景第3頁(yè),共252頁(yè)。Hadoop簡(jiǎn)介 Hadoop是一個(gè)由Apache基金會(huì)所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進(jìn)行高速運(yùn)算和存儲(chǔ)。它的目的是從單一的服務(wù)器擴(kuò)展到成千上萬(wàn)的機(jī)器,將集群部署在多臺(tái)機(jī)器,每個(gè)機(jī)器提供本地計(jì)算和存儲(chǔ)。Hadoop框架最核心的設(shè)計(jì)是HDFS和MapReduce。第4頁(yè),共252頁(yè)。為什么使用Hadoop

2、數(shù)據(jù)存量和增量極大極大數(shù)據(jù)需要存儲(chǔ)和分析Hadoop可以存儲(chǔ)并處理大量數(shù)據(jù)Hadoop編程簡(jiǎn)單易學(xué)原因第5頁(yè),共252頁(yè)。Hadoop 特點(diǎn)Hadoop是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。 Hadoop 是可靠的,因?yàn)樗僭O(shè)計(jì)算元素和存儲(chǔ)會(huì)失敗,因此它維護(hù)多個(gè)工作數(shù)據(jù)副本,確保能夠針對(duì)失敗的節(jié)點(diǎn)重新分布處理。Hadoop 是高效的,因?yàn)樗圆⑿械姆绞焦ぷ?,通過(guò)并行處理加快處理速度。Hadoop 還是可伸縮的,Hadoop是在可用的計(jì)算機(jī)集簇間分配數(shù)據(jù)并完成計(jì)算任務(wù)的,所以集群可以很容易進(jìn)行節(jié)點(diǎn)的擴(kuò)展,擴(kuò)大集群。能夠處理PB級(jí)數(shù)據(jù)。此外,Hadoop 依賴于社區(qū)服務(wù),因此它的成本比較低

3、,任何人都可以使用。第6頁(yè),共252頁(yè)。1Hadoop核心組件目錄Hadoop簡(jiǎn)介2Hadoop生態(tài)圈3Hadoop應(yīng)用場(chǎng)景4第7頁(yè),共252頁(yè)。Hadoop簡(jiǎn)介核心Hadoop Common是一個(gè)公共基礎(chǔ)設(shè)施,用于支撐其他項(xiàng)目,包括RPC、序列化包等分布式計(jì)算框架;主要包含map(映射)和reduce(規(guī)約)過(guò)程可擴(kuò)展、容錯(cuò)、高性能的分布式文件系統(tǒng),異步復(fù)制,一次寫入多次讀取第8頁(yè),共252頁(yè)。Hadoop分布式文件系統(tǒng)-HDFS分布式文件系統(tǒng)(HDFS,Hadoop Distributed File System) 高度容錯(cuò)性的系統(tǒng)上傳的數(shù)據(jù)自動(dòng)保存多個(gè)副本,適合部署在廉價(jià)的機(jī)器上。適合大

4、數(shù)據(jù)的處理高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。流式文件寫入一次寫入,多次讀取。文件一旦寫入,不能修改,只能增加。這樣可以保證數(shù)據(jù)的一致性。第9頁(yè),共252頁(yè)。Hadoop分布式文件系統(tǒng)-HDFS 對(duì)外部客戶機(jī)而言,HDFS就像一個(gè)傳統(tǒng)的分級(jí)文件系統(tǒng)。可以創(chuàng)建、刪除、移動(dòng)或重命名文件,等等。NameNode,用于存儲(chǔ)元數(shù)據(jù)以及處理客戶端發(fā)出的請(qǐng)求;SN,一個(gè)Checkpoint來(lái)幫助NameNode更好的工作;DataNode,它為 HDFS 提供存儲(chǔ)位置。第10頁(yè),共252頁(yè)。Hadoop分布式文件系統(tǒng)-HDFS文件上傳NameNode、SecondaryNameNode、Dat

5、aNode第11頁(yè),共252頁(yè)。Hadoop分布式文件系統(tǒng)-HDFSNameNode第12頁(yè),共252頁(yè)。Hadoop分布式文件系統(tǒng)-HDFSSecondaryNameNode第13頁(yè),共252頁(yè)。Hadoop分布式文件系統(tǒng)-HDFSHDFS并不是一個(gè)單機(jī)文件系統(tǒng),它是分布在多個(gè)集群節(jié)點(diǎn)上的文件系統(tǒng)。節(jié)點(diǎn)之間通過(guò)網(wǎng)絡(luò)通信進(jìn)行協(xié)作,提供個(gè)節(jié)點(diǎn)文件信息,讓每個(gè)用戶都可以看到文件系統(tǒng)的文件,讓多機(jī)器上的多用戶分享文件和存儲(chǔ)空間。文件存儲(chǔ)時(shí)被分布在多個(gè)節(jié)點(diǎn)上。這里涉及到一個(gè)數(shù)據(jù)塊的概念,數(shù)據(jù)存儲(chǔ)不是按一個(gè)文件存儲(chǔ),而是把一個(gè)文件分成一個(gè)或多個(gè)數(shù)據(jù)塊存儲(chǔ),數(shù)據(jù)塊的概念在上一節(jié)已經(jīng)描述過(guò)。數(shù)據(jù)塊在存儲(chǔ)時(shí)并

6、不是都存在一個(gè)節(jié)點(diǎn)上,而是被分布存儲(chǔ)在各個(gè)節(jié)點(diǎn)中,并且數(shù)據(jù)塊會(huì)在其他節(jié)點(diǎn)存儲(chǔ)副本。數(shù)據(jù)讀取從多個(gè)節(jié)點(diǎn)讀取。讀取一個(gè)文件時(shí),從多個(gè)節(jié)點(diǎn)中找到該文件的數(shù)據(jù)塊,分布讀取所有數(shù)據(jù)塊直到最后一個(gè)數(shù)據(jù)塊讀取完畢。分布式概念第14頁(yè),共252頁(yè)。Hadoop分布式文件系統(tǒng)-HDFS1. 冗余備份2. 副本存放3. 備份讀取4. 備份數(shù)補(bǔ)充宕機(jī)處理第15頁(yè),共252頁(yè)。Hadoop簡(jiǎn)介-MapReduce并行計(jì)算框架MapReduce是Google提出的一個(gè)軟件架構(gòu),用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算。概念“Map(映射)”和“Reduce(歸納)”,及他們的主要思想,都是從函數(shù)式編程語(yǔ)言借來(lái)的,還有從

7、矢量編程語(yǔ)言借來(lái)的特性。當(dāng)前的軟件實(shí)現(xiàn)是指定一個(gè)Map(映射)函數(shù),用來(lái)把一組鍵值對(duì)映射成一組新的鍵值對(duì),指定并發(fā)的Reduce(歸納)函數(shù),用來(lái)保證所有映射的鍵值對(duì)中的每一個(gè)共享相同的鍵組。第16頁(yè),共252頁(yè)。Hadoop MapReduceMapReduce:Hadoop分布式計(jì)算框架K-V1-32-7Mapv=v*v1-92-49K-V1-92-49Reducev=v+v1-252-113K-V1-162-64Map:映射,把鍵值對(duì)使用函數(shù)映射成新的鍵值對(duì)reduce:規(guī)約,把鍵值對(duì)中鍵相同的值整合,同時(shí)應(yīng)用函數(shù)映射成新的鍵值對(duì)K-V1-42-8Mapv=v*v1-162-64第17頁(yè)

8、,共252頁(yè)。Hadoop MapReduce原理針對(duì)文本進(jìn)行詞頻統(tǒng)計(jì)第18頁(yè),共252頁(yè)。Hadoop MapReduce本質(zhì)第19頁(yè),共252頁(yè)。1Hadoop核心組件目錄Hadoop簡(jiǎn)介2Hadoop生態(tài)圈3Hadoop應(yīng)用場(chǎng)景4第20頁(yè),共252頁(yè)。Hadoop生態(tài)系統(tǒng)第21頁(yè),共252頁(yè)。Hadoop生態(tài)系統(tǒng)-HBase HBase Hadoop Database,是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群。第22頁(yè),共252頁(yè)。Hadoop生態(tài)系統(tǒng)數(shù)據(jù)訪問 Hive是建立在 Hadoop 上的數(shù)據(jù)

9、倉(cāng)庫(kù)基礎(chǔ)構(gòu)架。它提供了一系列的工具,可以用來(lái)進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在 Hadoop 中的大規(guī)模數(shù)據(jù)的機(jī)制。Pig是一個(gè)基于Hadoop的大規(guī)模數(shù)據(jù)分析平臺(tái),它提供的SQL-LIKE語(yǔ)言叫Pig Latin,該語(yǔ)言的編譯器會(huì)把類SQL的數(shù)據(jù)分析請(qǐng)求轉(zhuǎn)換為一系列經(jīng)過(guò)優(yōu)化處理的MapReduce運(yùn)算。共同點(diǎn):都是把代碼轉(zhuǎn)換為MapReduce任務(wù);不同點(diǎn):Hive使用SQL、Pig使用 pig Latin;第23頁(yè),共252頁(yè)。Hadoop生態(tài)系統(tǒng)數(shù)據(jù)傳輸 Sqoop是一款開源的工具,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(kù)(mysql、postgr

10、esql.)間進(jìn)行數(shù)據(jù)的傳遞,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫(kù)中。 Flume是Cloudera提供的一個(gè)高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。第24頁(yè),共252頁(yè)。Hadoop生態(tài)系統(tǒng)管理 oozie是基于hadoop的調(diào)度器,以xml的形式寫調(diào)度流程,可以調(diào)度mr,pig,hive,shell,jar任務(wù)等等。主要的功能有Workflow: 順序執(zhí)行流程節(jié)點(diǎn),支持

11、fork(分支多個(gè)節(jié)點(diǎn)),join(合并多個(gè)節(jié)點(diǎn)為一個(gè))Coordinator,定時(shí)觸發(fā)workflowBundle Job,綁定多個(gè)coordinatorchukwa 是一個(gè)開源的用于監(jiān)控大型分布式系統(tǒng) 的數(shù)據(jù)收集系統(tǒng)。這是構(gòu)建在 hadoop 的 hdfs 和 map/reduce 框架之上的,繼承了 hadoop 的可伸縮性和魯棒性。Chukwa 還包含了一個(gè)強(qiáng)大和靈活的工具集,可用于展示、監(jiān)控和分析已收集的數(shù)據(jù)。第25頁(yè),共252頁(yè)。Hadoop生態(tài)系統(tǒng)管理 ZooKeeper是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開源的實(shí)現(xiàn),是Hadoop和

12、Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。第26頁(yè),共252頁(yè)。Hadoop生態(tài)系統(tǒng)序列化 Avro是一個(gè)數(shù)據(jù)序列化的系統(tǒng)。它可以提供:豐富的數(shù)據(jù)結(jié)構(gòu)類型快速可壓縮的二進(jìn)制數(shù)據(jù)形式存儲(chǔ)持久數(shù)據(jù)的文件容器遠(yuǎn)程過(guò)程調(diào)用RPC第27頁(yè),共252頁(yè)。Hadoop生態(tài)系統(tǒng)機(jī)器學(xué)習(xí) Mahout 是 Apache Software Foundation(ASF) 旗下的一個(gè)開源項(xiàng)目,提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。Mahout包含許多實(shí)現(xiàn),包括聚類、分類、推薦過(guò)濾、頻

13、繁子項(xiàng)挖掘。此外,通過(guò)使用 Apache Hadoop 庫(kù),Mahout 可以有效地?cái)U(kuò)展到云中。第28頁(yè),共252頁(yè)。1Hadoop核心組件目錄Hadoop簡(jiǎn)介2Hadoop生態(tài)圈3Hadoop應(yīng)用場(chǎng)景4第29頁(yè),共252頁(yè)。Hadoop應(yīng)用場(chǎng)景 目前全球范圍內(nèi)80%的在線旅游網(wǎng)站都是在使用Cloudera公司提供的Hadoop發(fā)行版,其中SearchBI網(wǎng)站曾經(jīng)報(bào)道過(guò)的Expedia也在其中。第30頁(yè),共252頁(yè)。Hadoop應(yīng)用場(chǎng)景 國(guó)內(nèi)的電商在Hadoop技術(shù)上也是儲(chǔ)備頗為雄厚的。阿里巴巴的Hadoop集群擁有150個(gè)用戶組、4500個(gè)集群用戶,為淘寶、天貓、一淘、聚劃算、CBU、支付寶

14、提供底層的基礎(chǔ)計(jì)算和存儲(chǔ)服務(wù)。第31頁(yè),共252頁(yè)。Hadoop應(yīng)用場(chǎng)景 搜索引擎無(wú)疑會(huì)產(chǎn)生大規(guī)模的數(shù)據(jù),在對(duì)海量數(shù)據(jù)挖掘上使用Hadoop確實(shí)能提高效率。在國(guó)外,Yahoo的Hadoop應(yīng)用中就包括搜索引擎。在國(guó)內(nèi),百度和阿里巴巴也將Hadoop應(yīng)用到搜索引擎、推薦、數(shù)據(jù)分析等多個(gè)領(lǐng)域。第32頁(yè),共252頁(yè)。第33頁(yè),共252頁(yè)。大數(shù)據(jù)-Hadoop基礎(chǔ)2022/8/18第34頁(yè),共252頁(yè)。1安裝Java目錄安裝配置虛擬機(jī)2搭建Hadoop完全分布式集群3第35頁(yè),共252頁(yè)。VMware Workstation安裝 解壓 雙擊vmware.exe,選擇安裝目錄輸入產(chǎn)品序列號(hào)第36頁(yè),共2

15、52頁(yè)。虛擬機(jī)安裝與配置準(zhǔn)備工作:CentOS6.8鏡像CentOS-6.8-x86_64-bin-DVD1.isoSSH連接工具Xme5.exe第37頁(yè),共252頁(yè)。虛擬機(jī)安裝與配置 新建虛擬機(jī)master,配置固定IP,關(guān)閉防火墻 使用Linux連接工具遠(yuǎn)程連接master在線安裝軟件具體做法:第38頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置固定IP新建虛擬機(jī)后配置固定IP1、重啟服務(wù)service network restart2、修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth03、再次重啟服務(wù)并查看IP第39頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置固定IPD

16、EVICE=eth0HWADDR=00:0C:29:5E:6C:55TYPE=EthernetUUID=e5423901-b152-4f05-a6d4-68769c681046ONBOOT=noNM_CONTROLLED=yesBOOTPROTO=dhcp 設(shè)備名網(wǎng)卡地址設(shè)置系統(tǒng)啟動(dòng)時(shí)是否激活網(wǎng)卡設(shè)置網(wǎng)卡綁定是通過(guò)哪種協(xié)議來(lái)獲得地址dhcp、 none、 bootp、 staticifcfg-eth0文件修改前的內(nèi)容第40頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置固定IPIfcfg-eth0文件修改后的內(nèi)容第41頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置遠(yuǎn)程連接虛擬機(jī)動(dòng)手實(shí)踐!第42頁(yè),共252頁(yè)。虛擬機(jī)的安裝配

17、置遠(yuǎn)程連接虛擬機(jī)1、雙擊Xme5.exe完成Xmanager的安裝2、雙擊程序圖標(biāo)3、新建會(huì)話第43頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置遠(yuǎn)程連接虛擬機(jī)第44頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置遠(yuǎn)程連接虛擬機(jī)第45頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置在線安裝軟件1、RPM是Linux的一種軟件包名稱,以.rpm結(jié)尾2、yum是杜克大學(xué)為了提高RPM軟件包安裝性而開發(fā)的一種軟件包管理器。3、 yum安裝方法可以徹底解決RPM安裝的關(guān)聯(lián)性問題4、yum提供了查找、安裝、刪除某一個(gè)、一組甚至全部軟件包的命令,而且命令簡(jiǎn)潔而又好記。第46頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置在線安裝軟件yum options comma

18、nd package .yum命令形式options是可選的選項(xiàng)說(shuō)明-h顯示幫助信息-y對(duì)所有的提問都回答“yes”-c指定配置文件-q安靜模式-v詳細(xì)模式-d設(shè)置調(diào)試等級(jí)(0-10)-e設(shè)置錯(cuò)誤等級(jí)(0-10)-R設(shè)置yum出來(lái)一個(gè)命令的最大等待時(shí)間-C完全從緩存中運(yùn)行,而不去下載或者更新任何文件第47頁(yè),共252頁(yè)。command為所要進(jìn)行的操作虛擬機(jī)的安裝配置在線安裝軟件參數(shù)說(shuō)明install安裝rpm軟件包update更新rpm軟件包c(diǎn)heck-update檢查是否有可用的更新rmp軟件包remove刪除指定的rpm軟件包llist顯示軟件包的信息search檢查軟件包的信息info顯

19、示指定的rpm軟件包的描述信息和概要信息clean清理yum過(guò)期的緩存resolvedep顯示rpm軟件包的依賴關(guān)系localinstall安裝本地的rpm軟件包localupdate顯示本地rpm軟件包進(jìn)行更新deplist顯示rpm軟件包的所有依賴關(guān)系第48頁(yè),共252頁(yè)。package .是操作的對(duì)象,即需要安裝的軟件名稱。配置本地yum源的主要步驟如下虛擬機(jī)的安裝配置在線安裝軟件1、進(jìn)入 /etc/yum.repos.d目錄。命令“cd /etc/yum.repos.d”2、將除yum本地源以外的其他yum源禁用命令“mv CentOS-Base.repo CentOS-Base.re

20、po.bak”。3、修改 Centos-Media.repo文件4、掛載。命令“mount /dev/dvd /media”5、更新yum源。命令“yum clean all”第49頁(yè),共252頁(yè)。使用yum安裝軟件,安裝vim,zip,openssh-server,openssh-clients虛擬機(jī)的安裝配置在線安裝軟件軟件說(shuō)明vim類似于vi的文本編輯器zip壓縮文件命令openssh-server主要是作為一個(gè)服務(wù)運(yùn)行在后臺(tái),如果這個(gè)服務(wù)開啟,我們就可以用一些遠(yuǎn)程連接工具來(lái)連接centOSopenssh-client類似于XShell,可以作為一個(gè)客戶端連接上openssh-serve

21、r安裝軟件命令:yum install y vim zip openssh-server openssh-clients第50頁(yè),共252頁(yè)。虛擬機(jī)的安裝配置在線安裝軟件第51頁(yè),共252頁(yè)。第52頁(yè),共252頁(yè)。大數(shù)據(jù)-Hadoop基礎(chǔ)2022/8/18第53頁(yè),共252頁(yè)。1安裝Java目錄安裝配置虛擬機(jī)2搭建Hadoop完全分布式集群3第54頁(yè),共252頁(yè)。JDK是Java語(yǔ)言的軟件開發(fā)工具包,主要用移動(dòng)設(shè)備、嵌入式設(shè)備上的Java應(yīng)用程序。JDK是整個(gè)Java開發(fā)的核心,它包含了Java的運(yùn)行環(huán)境,Java工具和Java基礎(chǔ)的類庫(kù)。Hadoop開發(fā)是基于Java語(yǔ)言開發(fā)的,所以需要在W

22、indows下安裝JDK。Windows下安裝Java第55頁(yè),共252頁(yè)。Windows下安裝Java 雙擊更改jdk安裝目錄;更改jre安裝目錄;配置環(huán)境變量安裝步驟:第56頁(yè),共252頁(yè)。右鍵單擊“計(jì)算機(jī)” 屬性高級(jí)系統(tǒng)設(shè)置系統(tǒng)屬性環(huán)境變量Windows下安裝Java配置環(huán)境變量第57頁(yè),共252頁(yè)。新建JAVA_HOME變量,變量值填寫JDK安裝路徑Windows下安裝Java配置環(huán)境變量第58頁(yè),共252頁(yè)。新建CLASSPATH 變量,變量值輸入“.;%JAVA_HOME%jrelibrt.jar;.;”Windows下安裝Java配置環(huán)境變量第59頁(yè),共252頁(yè)。找到Path變量

23、,在變量值最后輸入“;%JAVA_HOME%bin;”(注意在最前面有個(gè)“;”號(hào))Windows下安裝Java配置環(huán)境變量第60頁(yè),共252頁(yè)。測(cè)試環(huán)境變量是否配置成功,單擊電腦開始所有程序附件 命令提示符Windows下安裝Java配置環(huán)境變量第61頁(yè),共252頁(yè)。Windows下安裝Java動(dòng)手實(shí)踐!第62頁(yè),共252頁(yè)。上傳JDK安裝包到/opt目錄下在Linux下安裝Java第63頁(yè),共252頁(yè)。進(jìn)入/opt目錄,執(zhí)行命令“rpm ivh jdk-7u80-linux-x64.rpm”安裝JDK在Linux下安裝Java第64頁(yè),共252頁(yè)。Linux下安裝Java動(dòng)手實(shí)踐!第65頁(yè),

24、共252頁(yè)。第66頁(yè),共252頁(yè)。大數(shù)據(jù)-Hadoop基礎(chǔ)2022/8/18第67頁(yè),共252頁(yè)。1安裝Java目錄安裝配置虛擬機(jī)2搭建Hadoop完全分布式集群3第68頁(yè),共252頁(yè)。Hadoop安裝與配置 新建虛擬機(jī)4臺(tái),分別命名master、slave1、slave2、slave3; 每臺(tái)虛擬機(jī)設(shè)置固定IP;每臺(tái)虛擬機(jī)安裝必要軟件;準(zhǔn)備工作:第69頁(yè),共252頁(yè)。Hadoop安裝與配置準(zhǔn)備工作: master: 1.5G 2G內(nèi)存、20G硬盤、NAT、12核 ;slave1slave3: 1G內(nèi)存、20G硬盤、NAT、1核第70頁(yè),共252頁(yè)。Hadoop安裝與配置 新建虛擬機(jī)maste

25、r,配置固定IP,關(guān)閉防火墻,安裝必要軟件; 克隆master到salve1、slave2、slave3;修改slave1slave3的IP,改為固定IP;具體做法:第71頁(yè),共252頁(yè)。Hadoop安裝與配置master30NameNode/JobHistoryServerResourceManager/SecodaryNameNodeslave1slave2slave331DataNode/NodeManager32DataNode/NodeManager33DataNode/NodeManager第72頁(yè),共252頁(yè)。Hadoop安裝與配置 上傳、解壓縮;修改配置文件; 配置ssh無(wú)密碼

26、登錄;配置ntp,統(tǒng)一時(shí)間;安裝文件拷貝到子節(jié)點(diǎn);格式化,并啟動(dòng)集群第73頁(yè),共252頁(yè)。Hadoop安裝與配置 core-site.xml相關(guān)配置解讀; hdfs-site.xml相關(guān)配置解讀; mapred-site.xml相關(guān)配置解讀; yarn-site.xml相關(guān)配置文件解讀;第74頁(yè),共252頁(yè)。Hadoop安裝與配置動(dòng)手實(shí)踐!第75頁(yè),共252頁(yè)。Hadoop安裝目錄解讀執(zhí)行命令配置文件日志文件啟動(dòng)命令軟件jar包第76頁(yè),共252頁(yè)。Hadoop啟動(dòng)啟動(dòng)集群rootmaster hadoop-2.6.0# sbin/start-dfs.shrootmaster hadoop-2

27、.6.0# jps1296 NameNode 1498 SecondaryNameNoderootmaster hadoop-2.6.0# sbin/start-yarn.shrootmaster hadoop-2.6.0# jps1722 ResourceManager。rootmaster hadoop-2.6.0# sbin/mr-jobhistory-daemon.sh start historyserverrootmaster hadoop-2.6.0# jps2175 JobHistoryServer。HDFSYARNJobHistoryServer第77頁(yè),共252頁(yè)。Hadoo

28、p關(guān)閉關(guān)閉集群rootmaster hadoop-2.6.0# sbin/stop-yarn.shrootmaster hadoop-2.6.0# sbin/stop-dfs.shrootmaster hadoop-2.6.0# sbin/mr-jobhistory-daemon.sh stop historyserverHDFSYARNJobHistoryServer第78頁(yè),共252頁(yè)。Hadoop 監(jiān)控任務(wù)監(jiān)控30:8088/cluster功能導(dǎo)航集群信息具體任務(wù)信息第79頁(yè),共252頁(yè)。Hadoop 監(jiān)控任務(wù)監(jiān)控第80頁(yè),共252頁(yè)。Hadoop 監(jiān)控任務(wù)監(jiān)控第81頁(yè),共252頁(yè)。Ha

29、doop 監(jiān)控任務(wù)監(jiān)控第82頁(yè),共252頁(yè)。Hadoop監(jiān)控文件監(jiān)控http:/30:50070/dfshealth.html#tab-overview功能導(dǎo)航第83頁(yè),共252頁(yè)。Hadoop監(jiān)控文件監(jiān)控第84頁(yè),共252頁(yè)。Hadoop監(jiān)控文件監(jiān)控第85頁(yè),共252頁(yè)。Hadoop監(jiān)控文件監(jiān)控第86頁(yè),共252頁(yè)。Hadoop監(jiān)控文件監(jiān)控第87頁(yè),共252頁(yè)。Hadoop監(jiān)控文件監(jiān)控30:50070/dfshealth.jsp第88頁(yè),共252頁(yè)。Hadoop集群?jiǎn)栴}1.集群節(jié)點(diǎn)相關(guān)服務(wù)沒有啟動(dòng)? 檢查對(duì)應(yīng)機(jī)器防火墻狀態(tài); 檢查對(duì)應(yīng)機(jī)器的時(shí)間是否與主節(jié)點(diǎn)同步;第89頁(yè),共252頁(yè)。Hado

30、op集群?jiǎn)栴}2.集群狀態(tài)不一致,clusterID不一致? 刪除/data.dir配置的目錄; 重新執(zhí)行hadoop格式化;第90頁(yè),共252頁(yè)。第91頁(yè),共252頁(yè)。Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)2022/8/18第92頁(yè),共252頁(yè)。1HDFS基礎(chǔ)操作目錄學(xué)習(xí)查看Hadoop集群2運(yùn)行當(dāng)MapReduce任務(wù)3管理多個(gè)MapReduce任務(wù)4第93頁(yè),共252頁(yè)。查看Hadoop集群信息存儲(chǔ)系統(tǒng)信息在WEB瀏覽器的地址欄輸入“http:/master:50070/”第94頁(yè),共252頁(yè)。查看Hadoop集群信息數(shù)據(jù)節(jié)點(diǎn)信息第95頁(yè),共252頁(yè)。查看Hadoop集群信息存儲(chǔ)系統(tǒng)信息hdfs df

31、sadmin -report -live -dead -decommissioning 在集群服務(wù)器的終端,輸入相關(guān)的查詢命令“hdfs dfsadmin -report”就可以獲得。hdfs dfsadmin -report命令的基本格式如下。各個(gè)子選項(xiàng)的用法說(shuō)明如下。-report:輸出文件系統(tǒng)的基本信息及相關(guān)數(shù)據(jù)統(tǒng)計(jì)。-report -live:輸出文件系統(tǒng)中在線節(jié)點(diǎn)的基本信息及相關(guān)數(shù)據(jù)統(tǒng)計(jì)。-report -dead:輸出文件系統(tǒng)中失效節(jié)點(diǎn)的基本信息及相關(guān)數(shù)據(jù)統(tǒng)計(jì)。-report -decommissioning:輸出文件系統(tǒng)中停用節(jié)點(diǎn)的基本信息及相關(guān)數(shù)據(jù)統(tǒng)計(jì)。通過(guò)命令查詢集群信息:第

32、96頁(yè),共252頁(yè)。Hadoop命令HDFS常用shell命令查看集群數(shù)據(jù)節(jié)點(diǎn):#hdfs dfsadmin -reportConfigured Capacity: 58426654720 (54.41 GB)Present Capacity: 51292434432 (47.77 GB)DFS Remaining: 51291844608 (47.77 GB)DFS Used: 589824 (576 KB)DFS Used%: 0.00%Under replicated blocks: 5Blocks with corrupt replicas: 0Missing blocks: 0-Li

33、ve datanodes (2):Name: 01:50010 ()Hostname: Decommission Status : NormalConfigured Capacity: 29213327360 (27.21 GB)DFS Used: 294912 (288 KB)Non DFS Used: 3872731136 (3.61 GB)DFS Remaining: 25340301312 (23.60 GB)DFS Used%: 0.00%DFS Remaining%: 86.74%Configured Cache Capacity: 0 (0 B)Cache Used: 0 (0

34、B)Cache Remaining: 0 (0 B)Cache Used%: 100.00%Cache Remaining%: 0.00%Xceivers: 1Last contact: Tue Jul 21 14:18:39 CST 2015Name: 02:50010 ()Hostname: Decommission Status : NormalConfigured Capacity: 29213327360 (27.21 GB)DFS Used: 294912 (288 KB)Non DFS Used: 3261489152 (3.04 GB)DFS Remaining: 259515

35、43296 (24.17 GB)DFS Used%: 0.00%DFS Remaining%: 88.83%Configured Cache Capacity: 0 (0 B)Cache Used: 0 (0 B)Cache Remaining: 0 (0 B)Cache Used%: 100.00%Cache Remaining%: 0.00%Xceivers: 1Last contact: Tue Jul 21 14:18:38 CST 2015第97頁(yè),共252頁(yè)。查看Hadoop集群信息計(jì)算資源信息在瀏覽器的地址欄輸入“http:/master:8088/cluster/nodes”第

36、98頁(yè),共252頁(yè)。1HDFS基礎(chǔ)操作目錄學(xué)習(xí)查看Hadoop集群2運(yùn)行當(dāng)MapReduce任務(wù)3管理多個(gè)MapReduce任務(wù)4第99頁(yè),共252頁(yè)。Hadoop命令hadoop第100頁(yè),共252頁(yè)。Hadoop命令hdfs第101頁(yè),共252頁(yè)。Hadoop命令hadoop fs/hdfs dfs第102頁(yè),共252頁(yè)。Hadoop命令hadoop fs/hdfs dfs第103頁(yè),共252頁(yè)。HDFS文件系統(tǒng)第104頁(yè),共252頁(yè)。HDFS文件系統(tǒng)在瀏覽器輸入http:/master:50070/nn_browsedfscontent.jsp第105頁(yè),共252頁(yè)。HDFS基本操作創(chuàng)建

37、新目錄hdfs dfs -mkdir -p -p:不加只能逐級(jí)創(chuàng)建目錄,加了可以多級(jí)創(chuàng)建目錄第106頁(yè),共252頁(yè)。HDFS基本操作上傳文件命令解釋hdfs dfs -copyFromLocal -f -p -l . 將文件從本地文件系統(tǒng)拷貝到HDFS文件系統(tǒng),主要參數(shù)為本地文件路徑,為拷貝的目標(biāo)路徑。hdfs dfs -moveFromLocal . 將文件從本地文件系統(tǒng)移動(dòng)到HDFS文件系統(tǒng),主要參數(shù)為本地文件路徑,為移動(dòng)的目標(biāo)路徑。hdfs dfs -put -f -p -l . 將文件從本地文件系統(tǒng)上傳到HDFS文件系統(tǒng),主要參數(shù)為本地文件路徑,為上傳的目標(biāo)路徑。第107頁(yè),共252頁(yè)

38、。HDFS基本操作下載文件命令解釋hdfs dfs -copyToLocal -p -ignoreCrc -crc . 將文件從HDFS文件系統(tǒng)拷貝到本地文件系統(tǒng),主要參數(shù)為HDFS文件系統(tǒng)路徑,為本地文件系統(tǒng)路徑。hdfs dfs -get -p -ignoreCrc -crc .獲取HDFS文件系統(tǒng)上指定路徑的文件到本地文件系統(tǒng),主要參數(shù)為HDFS文件系統(tǒng)路徑,為本地文件系統(tǒng)路徑。第108頁(yè),共252頁(yè)。HDFS基本操作查看文件命令解釋hdfs dfs -cat -ignoreCrc .查看HDFS文件內(nèi)容,主要參數(shù)指示文件路徑。hdfs dfs -tail -f 輸出HDFS文件最后10

39、24字節(jié),主要參數(shù)指定文件。第109頁(yè),共252頁(yè)。HDFS基本操作刪除文件或目錄命令解釋hdfs dfs -rm -f -r|-R -skipTrash .刪除HDFS上的文件,主要參數(shù)-r用于遞歸刪除,指定刪除文件的路徑。hdfs dfs -rmdir -ignore-fail-on-non-empty .如果刪除的是一個(gè)目錄,則可以用該方法,主要參數(shù)指定目錄路徑。第110頁(yè),共252頁(yè)。1HDFS基礎(chǔ)操作目錄學(xué)習(xí)查看Hadoop集群2運(yùn)行當(dāng)MapReduce任務(wù)3管理多個(gè)MapReduce任務(wù)4第111頁(yè),共252頁(yè)。運(yùn)行單個(gè)MapReduce任務(wù)示例程序包hadoop-mapreduc

40、e-examples-2.6.4.jar第112頁(yè),共252頁(yè)。運(yùn)行單個(gè)Mapreduce任務(wù)模塊名稱內(nèi)容multifilewc統(tǒng)計(jì)多個(gè)文件中單詞的數(shù)量。pi應(yīng)用quasi-Monte Carlo 算法來(lái)估算圓周率的值。randomtextwriter在每個(gè)數(shù)據(jù)節(jié)點(diǎn)隨機(jī)生成1個(gè)10GB的文本文件。wordcount對(duì)輸入文件中的單詞進(jìn)行頻數(shù)統(tǒng)計(jì)。wordmean計(jì)算輸入文件中單詞的平均長(zhǎng)度。wordmedian計(jì)算輸入文件中單詞長(zhǎng)度的中位數(shù)。wordstandarddeviation計(jì)算輸入文件中單詞長(zhǎng)度的標(biāo)準(zhǔn)差。示例程序包hadoop-mapreduce-examples-2.6.4.jar

41、第113頁(yè),共252頁(yè)。運(yùn)行單個(gè)Mapreduce任務(wù)hadoop jar用法:實(shí)例:執(zhí)行Jar文件第114頁(yè),共252頁(yè)。運(yùn)行單個(gè)Mapreduce任務(wù)實(shí)例:第115頁(yè),共252頁(yè)。運(yùn)行單個(gè)Mapreduce任務(wù)實(shí)例:第116頁(yè),共252頁(yè)。1HDFS基礎(chǔ)操作目錄學(xué)習(xí)查看Hadoop集群2運(yùn)行當(dāng)MapReduce任務(wù)3管理多個(gè)MapReduce任務(wù)4第117頁(yè),共252頁(yè)。管理多個(gè)Mapreduce任務(wù)查詢MapReduce任務(wù)在瀏覽器輸入:“http:/master:8088/cluster/nodes”第118頁(yè),共252頁(yè)。管理多個(gè)Mapreduce任務(wù)查詢MapReduce任務(wù)提交一

42、個(gè)任務(wù)后:它的狀態(tài)值為“RUNNNING”,表示這個(gè)任務(wù)正執(zhí)行中。第119頁(yè),共252頁(yè)。管理多個(gè)Mapreduce任務(wù)查詢MapReduce任務(wù)查看任務(wù)信息第120頁(yè),共252頁(yè)。管理多個(gè)Mapreduce任務(wù)同時(shí)提交多個(gè)任務(wù) 作業(yè)0001的狀態(tài)“RUNNING”,表示它正在執(zhí)行中。而作業(yè)0002的狀態(tài)是“ACCEPTED”,表示它已被資源管理器YARN接受,目前在等待被分配計(jì)算資源,只有當(dāng)計(jì)算資源滿足后,才會(huì)開始執(zhí)行。第121頁(yè),共252頁(yè)。管理多個(gè)Mapreduce任務(wù)同時(shí)提交多個(gè)任務(wù)在提交兩個(gè)作業(yè)后,集群上的計(jì)算資源使用情況第122頁(yè),共252頁(yè)。管理多個(gè)Mapreduce任務(wù)中斷任務(wù)

43、人為中斷第1個(gè)作業(yè):點(diǎn)擊任務(wù)1的ID進(jìn)入任務(wù)1,點(diǎn)擊圖中Kill Application即可中斷該任務(wù)。第123頁(yè),共252頁(yè)。管理多個(gè)Mapreduce任務(wù)中斷任務(wù)中斷后任務(wù)狀態(tài)第124頁(yè),共252頁(yè)。第125頁(yè),共252頁(yè)。Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)2022/8/18第126頁(yè),共252頁(yè)。1MapReduce原理與編程目錄下載和安裝Eclipse2實(shí)踐操作3第127頁(yè),共252頁(yè)。下載和安裝Eclipse在官網(wǎng)下載Eclipse安裝包“Eclipse IDE for Java EE Developers”官網(wǎng):/downloads/packages/第128頁(yè),共252頁(yè)。下載和安裝Ec

44、lipse2. 將Eclipse安裝包解壓到本地的安裝目錄3.將插件hadoop-eclipse-plugin-2.6.0jar拷貝到Eclipse安裝目錄下的dropins目錄4. 雙擊解壓文件下Eclipse文件夾中的圖標(biāo)打開Eclipse第129頁(yè),共252頁(yè)。配置MapReduce環(huán)境增加Map/Reduce功能區(qū)第130頁(yè),共252頁(yè)。配置MapReduce環(huán)境增加Hadoop集群的連接第131頁(yè),共252頁(yè)。配置MapReduce環(huán)境增加Hadoop集群的連接第132頁(yè),共252頁(yè)。配置MapReduce環(huán)境增加Hadoop集群的連接第133頁(yè),共252頁(yè)。新建MapReduce工

45、程導(dǎo)入MapReduce運(yùn)行依賴的相關(guān)Jar包第134頁(yè),共252頁(yè)。新建MapReduce工程第135頁(yè),共252頁(yè)。下載和安裝Eclipse12MapReduce原理與編程3實(shí)踐操作目錄第136頁(yè),共252頁(yè)。Hadoop MapReduce 單詞計(jì)數(shù)源碼第137頁(yè),共252頁(yè)。Hadoop MapReduce 單詞計(jì)數(shù)源碼第138頁(yè),共252頁(yè)。Hadoop MapReduce 單詞計(jì)數(shù)源碼第139頁(yè),共252頁(yè)。MapReduce 原理MapReduce,在名稱上就表現(xiàn)出了它的核心原理,它是由兩個(gè)階段組成的。Map,表示“映射”,在map階段進(jìn)行的一系列數(shù)據(jù)處理任務(wù)被稱為Mapper模

46、塊。Reduce,表示“歸約”,同樣,在reduce階段進(jìn)行的一系列數(shù)據(jù)處理任務(wù)也被稱為Reducer模塊。MapReduce通常也被簡(jiǎn)稱為MR第140頁(yè),共252頁(yè)。MapReduce 原理(1)Mapper:映射器。(2)Mapper助理InputFormat:輸入文件讀取器。(3)Shuffle:運(yùn)輸隊(duì)。(4)Shuffle助理Sorter:排序器。(5)Reducer:歸約器。(6)Reducer助理OutputFormat:輸出結(jié)果寫入器。第141頁(yè),共252頁(yè)。MapReduce 原理數(shù)據(jù)分片。假設(shè)原始文件中8000萬(wàn)行記錄被系統(tǒng)分配給100個(gè)Mapper來(lái)處理,那么每個(gè)Mappe

47、r處理80萬(wàn)行數(shù)據(jù)。相當(dāng)于MapReduce通過(guò)數(shù)據(jù)分片的方式,把數(shù)據(jù)分發(fā)給多個(gè)單元來(lái)進(jìn)行處理,這就是分布式計(jì)算的第一步。數(shù)據(jù)映射。在數(shù)據(jù)分片完成后,由Mapper助理InputFormat從文件的輸入目錄中讀取這些記錄,然后由Mapper負(fù)責(zé)對(duì)記錄進(jìn)行解析,并重新組織成新的格式。然后Mapper把自己的處理結(jié)果輸出,等待Shuffle運(yùn)輸隊(duì)取走結(jié)果。數(shù)據(jù)混洗。由Shuffle運(yùn)輸隊(duì)把獲取的結(jié)果按照相同的鍵(Key)進(jìn)行匯集,再把結(jié)果送到Shuffle助理Sorter,由Sorter負(fù)責(zé)對(duì)這些結(jié)果排好序,然后提交給Reducer。數(shù)據(jù)歸約。Reducer收到傳輸過(guò)來(lái)的結(jié)果后,接著進(jìn)行匯總與映射

48、工作,得到最終計(jì)算結(jié)果。最后由Reducer助理OutputFormat把結(jié)果輸出到指定位置。第142頁(yè),共252頁(yè)。MapReduce 實(shí)現(xiàn)詞頻統(tǒng)計(jì)的執(zhí)行流程詞頻統(tǒng)計(jì)的輸入輸出輸入輸出Hello World Our WorldHello BigData Real BigDataHello Hadoop Great HadoopHadoop MapReduceBigData 2Great1Hadoop3Hello3MapReduce1Our1Real1World2第143頁(yè),共252頁(yè)。Hadoop MapReduce 單詞計(jì)數(shù)源碼第144頁(yè),共252頁(yè)。MapReduce 實(shí)現(xiàn)詞頻統(tǒng)計(jì)的執(zhí)行

49、流程map任務(wù)的處理過(guò)程第145頁(yè),共252頁(yè)。MapReduce 實(shí)現(xiàn)詞頻統(tǒng)計(jì)的執(zhí)行流程reduce任務(wù)的處理過(guò)程第146頁(yè),共252頁(yè)。Hadoop MapReduce 單詞計(jì)數(shù)源碼分析Driver第147頁(yè),共252頁(yè)。單詞計(jì)數(shù)源碼分析Driver流程FileInputFormatMapperCombinerReducerPartitionerFileOutputFormat第148頁(yè),共252頁(yè)。單詞計(jì)數(shù)源碼分析Driver鍵值對(duì)類型第149頁(yè),共252頁(yè)。Hadoop MapReduce 單詞計(jì)數(shù)源碼分析Mapper第150頁(yè),共252頁(yè)。Hadoop MapReduce 單詞計(jì)數(shù)源

50、碼分析Reducer第151頁(yè),共252頁(yè)。下載和安裝Eclipse12MapReduce原理與編程3實(shí)踐操作目錄第152頁(yè),共252頁(yè)。Hadoop MapReduce獲取成績(jī)表中最高分打開eclipse,新建MapReduce工程;參考上面單詞計(jì)數(shù)代碼編寫程序;使用eclipse的Export- JAR file工具打包成jar包,并運(yùn)行;查看輸出結(jié)構(gòu):終端輸出信息、Job任務(wù)監(jiān)控、HDFS輸出信息;第153頁(yè),共252頁(yè)。Hadoop MapReduce獲取成績(jī)表中最高分Mapper類第154頁(yè),共252頁(yè)。Hadoop MapReduce獲取成績(jī)表中最高分Reducer類第155頁(yè),共

51、252頁(yè)。Hadoop MapReduce獲取成績(jī)表中最高分Driver類第156頁(yè),共252頁(yè)。第157頁(yè),共252頁(yè)。Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)2022/8/18第158頁(yè),共252頁(yè)。1Hadoop Java API目錄MapReduce輸入輸出格式2自定義鍵值對(duì)3Combiner、Partitioner、計(jì)數(shù)器4Eclipse提交MapReduce任務(wù)5第159頁(yè),共252頁(yè)。Hadoop MapReduce 輸入格式第160頁(yè),共252頁(yè)。Hadoop MapReduce 輸入格式第161頁(yè),共252頁(yè)。Hadoop MapReduce 輸入格式(常用)輸入格式描述鍵類型值類型Tex

52、tInputFormat默認(rèn)格式,讀取文件的行行的字節(jié)偏移量 (LongWriable)行的內(nèi)容(Text)SequenceFileInputFormatHadoop定義的高性能二進(jìn)制格式用戶自定義KeyValueInputFormat把行解析為鍵值對(duì)第一個(gè)tab字符前的所有字符(Text)行剩下的內(nèi)容(Text)第162頁(yè),共252頁(yè)。緊湊:高效使用存儲(chǔ)空間??焖伲鹤x取數(shù)據(jù)的額外開銷小??蓴U(kuò)展:可透明地讀取老格式的數(shù)據(jù)?;ゲ僮鳎嚎梢允褂貌煌恼Z(yǔ)言讀/寫永久存儲(chǔ)的數(shù)據(jù)。Hadoop MapReduce Hadoop序列化特點(diǎn)第163頁(yè),共252頁(yè)。1.設(shè)置MapReduce的輸入格式是在驅(qū)動(dòng)類

53、中通過(guò)Job對(duì)象的setInputFormatClass()方法來(lái)設(shè)定2.輸入格式是TextInputFormat的時(shí)候驅(qū)動(dòng)類可以不設(shè)置輸入格式Hadoop MapReduce 設(shè)置輸入格式j(luò)ob.setInputFormatClass(SequenceFileAsTextInputFormat.class);第164頁(yè),共252頁(yè)。Hadoop MapReduce 輸出格式第165頁(yè),共252頁(yè)。Hadoop MapReduce 輸出格式第166頁(yè),共252頁(yè)。Hadoop MapReduce 輸出格式(常用)輸出格式描述TextOutputFormat默認(rèn)的輸出格式, 以 key t va

54、lue 的方式輸出行SequenceFileOutputFormat輸出二進(jìn)制文件,適合于讀取為子MapReduce作業(yè)的輸入job.setOutputFormatClass(SequenceFileOutputFormat.class);第167頁(yè),共252頁(yè)。1Hadoop Java API目錄MapReduce輸入輸出格式2自定義鍵值對(duì)3Combiner、Partitioner、計(jì)數(shù)器4Eclipse提交MapReduce任務(wù)5第168頁(yè),共252頁(yè)。Hadoop文件系統(tǒng)Path:文件路徑定義FileSystem:文件系統(tǒng)定義第169頁(yè),共252頁(yè)。FileSystem是一個(gè)通用的文件系

55、統(tǒng)API,使用它的第一步需要先獲取它的一個(gè)實(shí)例獲取FileSystem實(shí)例的靜態(tài)方法。Hadoop Java API1、public static FileSystem get(Configuration conf) throws IOException2、public static FileSystem get(URI uri, Configuration conf) throws IOException3、public static FileSystem get(URI uri, Configuration conf, String user) throws IOException第170

56、頁(yè),共252頁(yè)。Hadoop文件系統(tǒng) 文件操作實(shí)例Configuration conf = new Configuration();conf.set(“fs.defaultFS”,”hdfs:/master:8020”)FileSystem fs = FileSystem.get(conf);fs.delete(new Path(“knn/test.csv”), true);第171頁(yè),共252頁(yè)。Hadoop Java APIFileSystem類的方法/docs/current/api/第172頁(yè),共252頁(yè)。修飾符和類型方法abstract FileStatuslistStatus(Pa

57、th f)FileStatuslistStatus(Path files)FileStatuslistStatus(Path files,PathFilter filter)FileStatuslistStatus(Path f,PathFilter filter)Hadoop Java API管理文件夾列舉文件夾及文件的方法第173頁(yè),共252頁(yè)。列舉指定目錄下的所有文件夾Hadoop Java API管理文件夾第174頁(yè),共252頁(yè)。列舉指定目錄下的所有文件Hadoop Java API管理文件夾第175頁(yè),共252頁(yè)。修飾符和類型方法static booleanmkdirs(FileSy

58、stem fs,Path dir,FsPermission permission)booleanmkdirs(Path f)abstract booleanmkdirs(Path f,FsPermission permission)Hadoop Java API創(chuàng)建目錄相關(guān)參數(shù)說(shuō)明如下:fs:文件系統(tǒng)對(duì)象。dir:要?jiǎng)?chuàng)建的目錄名稱。permission:為該目錄設(shè)置的權(quán)限。第176頁(yè),共252頁(yè)。Hadoop Java API創(chuàng)建目錄第177頁(yè),共252頁(yè)。修飾符和類型方法booleandelete(Path f)abstract booleandelete(Path f,boolean re

59、cursive)Hadoop Java API刪除文件相關(guān)參數(shù)說(shuō)明如下:f:刪除文件的路徑。recursive:如果路徑是一個(gè)目錄并且不為空,recursive設(shè)置為true,則該目錄將被刪除,否則會(huì)引發(fā)異常。在是文件的情況下,recursive可以設(shè)置為true或false。第178頁(yè),共252頁(yè)。Hadoop Java API刪除文件第179頁(yè),共252頁(yè)。修飾符和類型方法voidcopyFromLocalFile(boolean delSrc,boolean overwrite,Path srcs,Path dst)voidcopyFromLocalFile(boolean delSrc

60、,boolean overwrite,Path src,Path dst)voidcopyFromLocalFile(boolean delSrc,Path src,Path dst)voidcopyFromLocalFile(Path src,Path dst)Hadoop Java API上傳或下載文件修飾符和類型方法voidcopyToLocalFile(boolean delSrc,Path src,Path dst)voidcopyToLocalFile(boolean delSrc,Path src,Path dst,boolean useRawLocalFileSystem)vo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論