




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
習(xí)題答案:第一章:簡述大數(shù)據(jù)的概念。答:自2012年以來,“大數(shù)據(jù)”一詞越來越引起人們的關(guān)注。但是,目前為止,在學(xué)術(shù)研究領(lǐng)域和產(chǎn)業(yè)界中,大數(shù)據(jù)并沒有一個(gè)標(biāo)準(zhǔn)的定義。在維克托·邁爾-舍恩伯格編寫的《大數(shù)據(jù)時(shí)代》一書中大數(shù)據(jù)指不用隨機(jī)分析法(抽樣調(diào)查)這樣捷徑,而采用所有數(shù)據(jù)進(jìn)行分析處理。而麥肯錫全球研究所則定義大數(shù)據(jù)為一種規(guī)模大到在獲取、存儲(chǔ)、管理、分析方面大大超出了傳統(tǒng)數(shù)據(jù)庫軟件工具能力范圍的數(shù)據(jù)集合,具有海量的數(shù)據(jù)規(guī)模、快速的數(shù)據(jù)流轉(zhuǎn)、多樣的數(shù)據(jù)類型和價(jià)值密度低四大特征。通常來說,大數(shù)據(jù)是指數(shù)據(jù)量超過一定大小,無法用常規(guī)的軟件在規(guī)定的時(shí)間范圍內(nèi)進(jìn)行抓取、管理和處理的數(shù)據(jù)集合。簡述大數(shù)據(jù)的基本特征。大數(shù)據(jù)的主要特征可用“5V+1C”來進(jìn)行概括,分別是:數(shù)據(jù)量大(Volume)、數(shù)據(jù)類型多(Variety)、數(shù)據(jù)時(shí)效性強(qiáng)(Velocity)、價(jià)值密度低(Value)、準(zhǔn)確性高(Veracity)、復(fù)雜性高(Complexity),如下圖所示。數(shù)據(jù)類型多數(shù)據(jù)量大價(jià)值密度低時(shí)效性高
數(shù)據(jù)類型多數(shù)據(jù)量大價(jià)值密度低時(shí)效性高圖大數(shù)據(jù)特征圖簡述大數(shù)據(jù)的分析處理過程。答:大數(shù)據(jù)的處理流程基本可劃分為數(shù)據(jù)采集、數(shù)據(jù)處理與集成、數(shù)據(jù)分析和數(shù)據(jù)解釋4個(gè)階段。即經(jīng)數(shù)據(jù)源獲取的數(shù)據(jù),因?yàn)槠鋽?shù)據(jù)結(jié)構(gòu)不同(包括結(jié)構(gòu)、半結(jié)構(gòu)和非結(jié)構(gòu)數(shù)據(jù)),用特殊方法進(jìn)行數(shù)據(jù)處理和集成,將其轉(zhuǎn)變?yōu)榻y(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)格式方便以后對(duì)其進(jìn)行處理;然后用合適的數(shù)據(jù)分析方法將這些數(shù)據(jù)進(jìn)行處理分析,并將分析的結(jié)果利用可視化等技術(shù)展現(xiàn)給用戶,這就是整個(gè)大數(shù)據(jù)處理的流程如下圖所示。ECharlS#JS可祝化,?*JWfciINoSQl敬爆15:分立式文件?*xΓ∣ECharlS#JS可?;??*JWfciINoSQl敬爆15:分立式文件?*xΓ∣Λ.i?aDixunwntMapReduce也據(jù)互米窗圖大數(shù)據(jù)的處理流程詳細(xì)的分析處理過程參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第5章第2節(jié)4.簡述大數(shù)據(jù)的存儲(chǔ)方式。答:存儲(chǔ)系統(tǒng)作為數(shù)據(jù)中心最核心的數(shù)據(jù)基礎(chǔ),不再僅是傳統(tǒng)分散的、單一的底層設(shè)備。除了要具備高性能、高安全、高可靠等基于大數(shù)據(jù)應(yīng)用需求,“應(yīng)用定義存儲(chǔ)”概念被提出。主要有以下幾種存儲(chǔ)方式:1、分布式系統(tǒng)2、NoSQL數(shù)據(jù)庫3、云數(shù)據(jù)庫4、大數(shù)據(jù)存儲(chǔ)技術(shù)路線采用MPP架構(gòu)的新型數(shù)據(jù)庫集群基于Hadoop的技術(shù)擴(kuò)展和封裝大數(shù)據(jù)一體機(jī)5.簡述大數(shù)據(jù)的商業(yè)價(jià)值和社會(huì)價(jià)值。答:商業(yè)價(jià)值:對(duì)顧客群體細(xì)分,然后對(duì)每個(gè)群體量體裁衣般的采取獨(dú)特的行動(dòng)。運(yùn)用大數(shù)據(jù)模擬實(shí)境,發(fā)掘新的需求和提高利潤。提高大數(shù)據(jù)成果在各相關(guān)部門的分享程度,提高企業(yè)決策能力。進(jìn)行商業(yè)模式、產(chǎn)品和服務(wù)的創(chuàng)新。社會(huì)價(jià)值:.大數(shù)據(jù)可以為個(gè)人提供個(gè)性化的醫(yī)療服務(wù)。.大數(shù)據(jù)可以提供個(gè)性化教育。在大數(shù)據(jù)的支持下,教育將呈現(xiàn)另外 的特征:彈性學(xué)制、個(gè)性化輔導(dǎo)、社區(qū)和家庭學(xué)習(xí)。.大數(shù)據(jù)的誕生讓社會(huì)安全管理更為井然有序。.大數(shù)據(jù)的發(fā)展帶動(dòng)了社會(huì)上各行各業(yè)的發(fā)展。6.以某一行業(yè)為例,簡述大數(shù)據(jù)的應(yīng)用。答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第1章第4節(jié)第二章:.簡述大數(shù)據(jù)集群系統(tǒng)。答:集群技術(shù)是指通過高速通信網(wǎng)絡(luò)將一組相互獨(dú)立的計(jì)算機(jī)聯(lián)系在一起,組成一個(gè)計(jì)算機(jī)系統(tǒng),該系統(tǒng)中每一臺(tái)計(jì)算機(jī)都是一個(gè)獨(dú)立的服務(wù)器,運(yùn)行各自的進(jìn)程,它們相互之間可以通信,既可以看作是一個(gè)個(gè)單一的系統(tǒng),也能夠協(xié)同起來為用戶提供服務(wù)。對(duì)網(wǎng)絡(luò)用戶來講,后端就像是一個(gè)單一的系統(tǒng),協(xié)同向用戶提供系統(tǒng)資源、系統(tǒng)服務(wù),通過網(wǎng)絡(luò)連接組合成一個(gè)組合來共同完一個(gè)任務(wù)。Hadoop分布式集群是為了對(duì)海量的非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行存儲(chǔ)和分析而設(shè)計(jì)的一種特定的集群。其本質(zhì)上是一種計(jì)算集群。詳見《大數(shù)據(jù)技術(shù)與應(yīng)用》第2章第1節(jié).簡述集群系統(tǒng)的分類。答:集群分為同構(gòu)與異構(gòu)兩種。而按功能和結(jié)構(gòu)可以分成以下幾類。(1)高可用性集群。(2)負(fù)載均衡集群。(3)高性能計(jì)算集群。(4)網(wǎng)格計(jì)算。.簡述Linux操作系統(tǒng)的特性。Linux操作系統(tǒng)是一個(gè)多用戶,多任務(wù),豐富的網(wǎng)絡(luò)功能,它不僅有可靠的系統(tǒng)安全,而且良好的可移植性,具有標(biāo)準(zhǔn)的兼容性,良好的用戶界面,出色的速度性能,最為重要的是開源,CentOS主要有以下特點(diǎn):(1)主流:目前的Linux操作系統(tǒng)主要應(yīng)用于生產(chǎn)環(huán)境,企業(yè)級(jí)主流Linux系統(tǒng)仍舊是RedHat或者CentOS。(2)免費(fèi):RedHat和CentOS差別不大,基于RedHatLinux提供的可自由使用源代碼的企業(yè)CentOS是一個(gè)Linux發(fā)行版本。(3)更新方便:CentOS獨(dú)有的yum命令支持在線升級(jí),可以即時(shí)更新系統(tǒng),不像RedHat那樣需要花錢購買支持服務(wù)。.簡述計(jì)算機(jī)虛擬化技術(shù)以及常見的虛擬化軟件。答:在計(jì)算機(jī)中,虛擬化(Virtualization)是一種資源管理技術(shù),是將計(jì)算機(jī)的各種實(shí)體資源,如服務(wù)器、網(wǎng)絡(luò)、內(nèi)存及存儲(chǔ)等,予以抽象、轉(zhuǎn)換后呈現(xiàn)出來,打破實(shí)體結(jié)構(gòu)間的不可分割的障礙,使用戶可以比原本的組態(tài)更好的方式來應(yīng)用這些資源。這些資源的新虛擬部分是不受現(xiàn)有資源的架設(shè)方式,地域或物理組態(tài)所限制。一般所指的虛擬化資源包括計(jì)算能力和資料存儲(chǔ)。常見的虛擬化軟件有VirtualBox、VMwareWorkstation、KVM。.簡述大數(shù)據(jù)集群技術(shù)的架構(gòu)。答:一般來說,大數(shù)據(jù)集群的構(gòu)架,主要分為硬件資源層、OS層、基礎(chǔ)設(shè)施管理層、文件系統(tǒng)層、大數(shù)據(jù)集群層和大數(shù)據(jù)應(yīng)用層,如下圖所示。K救據(jù)威M.H 1H相化展不、世表.惟薦應(yīng)用)資源管理和大敬據(jù)集群層(Had)ao.Sgrk,Stortn,DretnelZDrill)并行文件系統(tǒng)(HDFS、IBM公司的GPFS)尊礎(chǔ)設(shè)施管理足《罔絡(luò)資調(diào)、計(jì)算機(jī)使源、HW"吩布式第雷系統(tǒng))口5層?Linux05,例如ReWiaoSUSE.Ubunw等或者M(jìn)cker)硬件資源層(HP.IBM,浪潮,中科曙光.聯(lián)3)圖大數(shù)據(jù)集群的架構(gòu)詳見《大數(shù)據(jù)技術(shù)與應(yīng)用》第2章第5節(jié)6.安裝Linux系統(tǒng)并進(jìn)行網(wǎng)絡(luò)配置。答:Linux安裝環(huán)境:CentOS7.3,官網(wǎng)/為了簡化操作,使用三臺(tái)服務(wù)器作為集群節(jié)點(diǎn),其中一臺(tái)為Master節(jié)點(diǎn),兩臺(tái)為Slave節(jié)點(diǎn)。規(guī)劃集群節(jié)點(diǎn)IP。對(duì)集群節(jié)點(diǎn)進(jìn)行網(wǎng)絡(luò)配置:(1)設(shè)置主機(jī)名(2)修改/etc/hosts文件(3)修改網(wǎng)絡(luò)配置(4)重啟網(wǎng)絡(luò),并查看網(wǎng)絡(luò)IP地址(5)關(guān)閉并停止NetworkManager服務(wù)詳見《大數(shù)據(jù)技術(shù)與應(yīng)用》第2章第6節(jié)7.部署Linux集群、設(shè)置時(shí)間同步以及免密鑰SSH配置。答:一、集群規(guī)劃二、網(wǎng)絡(luò)配置(1)設(shè)置主機(jī)名(2)修改/etc/hosts文件(3)修改網(wǎng)絡(luò)配置(4)重啟網(wǎng)絡(luò),并查看網(wǎng)絡(luò)IP地址(5)關(guān)閉并停止NetworkManager服務(wù)三、安全配置(1)安全密碼控制(2)設(shè)置歷史記錄、退出自動(dòng)清空歷史記錄等(3)設(shè)置閑置超時(shí)時(shí)間(4)設(shè)置Selinux(5)設(shè)置并停止firewalld服務(wù)四、時(shí)間同步(1)Master節(jié)點(diǎn)時(shí)間同步安裝設(shè)置(2)Slave節(jié)點(diǎn)時(shí)間同步安裝設(shè)置(3)設(shè)置自動(dòng)加載并重啟chrony服務(wù)(4)查看master節(jié)點(diǎn)時(shí)間同步信息(5)查看slaver節(jié)點(diǎn)時(shí)間同步信息五、SSH登錄(1)安裝openssh,開啟sshd服務(wù)(2)以root用戶登錄master節(jié)點(diǎn),生成SSH密鑰對(duì)(3)把含有公用密鑰文件信息復(fù)制到節(jié)點(diǎn)機(jī)上(4)使用SSH登錄節(jié)點(diǎn)機(jī)詳見《大數(shù)據(jù)技術(shù)與應(yīng)用》第2章第6節(jié)第三章:1.簡述Hadoop系統(tǒng)及其優(yōu)點(diǎn)。答:Hadoop是一個(gè)能夠讓用戶輕松架構(gòu)和使用的分布式計(jì)算平臺(tái),它主要有以下幾個(gè)優(yōu)點(diǎn):(1)高可靠性。(2)高擴(kuò)展性。(3)高效性(4)高容錯(cuò)性。詳見《大數(shù)據(jù)技術(shù)與應(yīng)用》第3章第1節(jié).簡述Hadoop原理及運(yùn)行機(jī)制。答:Hadoop的核心由3個(gè)子項(xiàng)目組成:HadoopCommon、HDFS、和MapReduce。HadoopCommon包括文件系統(tǒng)(FileSystem)、遠(yuǎn)程過程調(diào)用協(xié)議(RPC)和數(shù)據(jù)串行化庫(SerializationLibraries)詳見《大數(shù)據(jù)技術(shù)與應(yīng)用》第3章第1節(jié).簡述Hadoop技術(shù)生態(tài)系統(tǒng)。答:Hadoop生態(tài)系統(tǒng)主要包括:HDFS、MapReduce、Spark、Storm、HBase、Hive、Pig、ZooKeeper、Avro、Sqoop、Ambari、
HCatalog、Chukwa、Flume、Mahout、Phoenix、Tez、Shark等,Hadoop開源技術(shù)生態(tài)系統(tǒng)如下圖所示。安裝部署工具Ambari作業(yè)流調(diào)度系統(tǒng)布加服務(wù)Ok分式調(diào)筍Zo布數(shù)庫分式據(jù)OoziePigZ內(nèi)存計(jì)算
Spark布加服務(wù)Ok分式調(diào)筍Zo布數(shù)庫分式據(jù)OoziePigZ內(nèi)存計(jì)算
Spark數(shù)據(jù)
庫ETL
工具Sq∞p分布式計(jì)算框架
YAERN日志收集分布式存儲(chǔ)系統(tǒng) FlUmeHDFS圖Hadoop開源技術(shù)生態(tài)系統(tǒng).學(xué)會(huì)JDK的安裝和配置。答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第3章第3節(jié).掌握Hadoop的安裝和配置。答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第3章第3節(jié)第四章.簡述HDFS的體系架構(gòu)。答:Hdfs架構(gòu)如下圖所示:圖HDFS架構(gòu).簡述HDFS讀數(shù)據(jù)的流程。答:詳細(xì)流程如下:(1)首先HDFS的客戶端通過DistributedFileSystem(HDFS中API里的一個(gè)對(duì)象);(2)通過DistributedFileSystem發(fā)送給NameNode請(qǐng)求,同時(shí)將用戶信息及文件名的信息等發(fā)送給NameNode,并返回給DistributedFileSystem,該文件包含的block所在的DataNode位置;(3)HDFS客戶端通過FSDataInputStream按順序去讀取DataNode中的block信息(它會(huì)選擇負(fù)載最低的或離客戶端最近的一臺(tái)DataNode去讀block);(4)FSDataInputStream按順序一個(gè)一個(gè)的讀,直到所有的block都讀取完畢;(5)當(dāng)讀取完畢后會(huì)將FSDataInputStream關(guān)閉。HDFS讀數(shù)據(jù)的流程可如下圖所示:圖HDFS讀流程.簡述HDFS寫數(shù)據(jù)的流程。答:詳細(xì)流程如下:(1)首先HDFS的客戶端通過DistributedFileSystem(HDFS中API里的一個(gè)對(duì)象);(2)通過DistributedFileSystem發(fā)送客戶端的請(qǐng)求給NameNode(NameNode主要是接受客戶端請(qǐng)求)并且會(huì)帶著文件要保存的位置、文件名、操作的用戶名等信息一起發(fā)送給NameNode;(3)NameNode會(huì)給客戶端返回了一個(gè)FSDataOutputStream,同時(shí)也會(huì)返回文件要寫入哪些DataNode上(負(fù)載較低的);(4)通過FSDataOutputStream進(jìn)行寫操作,在寫之前就做文件的拆分,將文件拆分成多個(gè)Block,第一個(gè)寫操作寫在負(fù)載比較低的DataNode上,并將這個(gè)block復(fù)制到其他的DataNode上;(5)當(dāng)所有的block副本復(fù)制完成后會(huì)反饋給FSDataOutputStream;(6)當(dāng)所有的block副本全都復(fù)制完成,就可以將FSDataOutputStream流關(guān)閉;(7)通過DistributedFileSystem更新NameNode中的源數(shù)據(jù)信息。HDFS寫數(shù)據(jù)的流程可如下圖所示:圖Hdfs寫流程.簡述Block副本的存放策略。答:在大多數(shù)情況下,副本系數(shù)是3,HDFS的存放策略是將一個(gè)副本存放在本地機(jī)架的節(jié)點(diǎn)上,一個(gè)副本放在同一機(jī)架的另一個(gè)節(jié)點(diǎn)上,最后一個(gè)副本放在不同機(jī)架的節(jié)點(diǎn)上。詳細(xì)請(qǐng)參見《大數(shù)據(jù)技術(shù)與應(yīng)用》4.1.4.編寫程序?qū)崿F(xiàn)對(duì)HDFS文件讀寫等。答:請(qǐng)參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第4章第2節(jié)第五章.簡述MapReduce架構(gòu)。答:MapReduce采用Master/Slave的架構(gòu),它主要由以下4個(gè)部分組成:1)Client2)JobTracker3)TaskTracker:4)Task其架構(gòu)圖如圖所示:圖TheHadoopEcosystem.簡述MapReduce的工作原理。答:MapReduce框架的流程可以分為兩個(gè)階段來描述:.Map階段(1)InputFormat根據(jù)輸入文件產(chǎn)生鍵值對(duì),并傳送到Mapper類的map函數(shù)中;(2)Map輸出鍵值對(duì)到一個(gè)沒有排序的緩沖內(nèi)存中;(3)當(dāng)緩沖內(nèi)存達(dá)到給定值或者map任務(wù)完成,在緩沖內(nèi)存中的鍵值對(duì)就會(huì)被排序,然后輸出到磁盤中的溢出文件;(4)如果有多個(gè)溢出文件,那么就會(huì)整合這些文件到一個(gè)文件中,且是排序的;(5)這些排序過的、在溢出文件中的鍵值對(duì)會(huì)等待Reducer的獲取。.Reduce階段(1)Reducer獲取Mapper的記錄,然后產(chǎn)生另外的鍵值對(duì),最后輸出到HDFS中;(2)Shuffle:相同的key被傳送到同一個(gè)的Reducer中;(3)當(dāng)有一個(gè)Mapper完成后,Reducer就開始獲取相關(guān)數(shù)據(jù),所有的溢出文件會(huì)被排到一個(gè)內(nèi)存緩沖區(qū)中;(4)當(dāng)內(nèi)存緩沖區(qū)滿了后,就會(huì)產(chǎn)生溢出文件到本地磁盤;(5)當(dāng)Reducer所有相關(guān)的數(shù)據(jù)都傳輸完成后,所有溢出文件就會(huì)被整合和排序;(6)Reducer中的reduce方法針對(duì)每個(gè)key調(diào)用一次;(7)Reducer的輸出到HDFS。.簡述MapReduce的工作機(jī)制。答:一、MapReduce運(yùn)行圖如圖所示:圖Write-Ahead-Log、運(yùn)行解析:.作業(yè)的提交.作業(yè)的初始化.作業(yè)的分配.任務(wù)的執(zhí)行.進(jìn)度和狀態(tài)的更新.作業(yè)的完成三、失敗解析:.任務(wù)失敗2.tasktracker失敗3.jobtracker失敗.編寫MapReduceWordCount。答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第5章第2節(jié).實(shí)現(xiàn)MapReduce倒排索引編程答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第5章第2節(jié)第六章1、簡述Hbase數(shù)據(jù)庫
答:(1)HBase(HadoopDatabase)是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PCServer上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群。(2)HBase利用HadoopHDFS作為其文件存儲(chǔ)系統(tǒng),HBase利用HadoopMapReduce來處理HBase中的海量數(shù)據(jù),HBase利用Zookeeper作為協(xié)同服務(wù)。(3)HBase采用Master/Slave架構(gòu)搭建集群,它隸屬于Hadoop生態(tài)系統(tǒng),由Client、HMaster、HRegionServer、ZooKeeper等組成。(4)HBase是基于列式存儲(chǔ)的(5)HBase以表的形式存儲(chǔ)數(shù)據(jù)2、簡述HBase過濾器的工作過程答:如下圖描述了過濾器怎樣在客戶端進(jìn)行配置,怎樣在網(wǎng)絡(luò)傳輸中被序列化,怎樣在服務(wù)端執(zhí)行。3.RegionServer使用過濾器對(duì)Scan進(jìn)行序列化,并同時(shí)使用Scan3.RegionServer使用過濾器對(duì)Scan進(jìn)行序列化,并同時(shí)使用Scan和內(nèi)部的掃描器圖過濾器的工作過程3、學(xué)會(huì)HBase集群部署答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第6章第2節(jié)4、掌握HbaseJavaAPI編程答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第6章第5節(jié)5、掌握HBase過濾器編程答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第6章第5節(jié)第七章1、統(tǒng)一資源管理和調(diào)度平臺(tái)的優(yōu)點(diǎn)答:(1)支持多種計(jì)算框架HBase利用HadoopHDFS作為其文件存儲(chǔ)系統(tǒng),HBase利用HadoopMapReduce來處理HBase中的海量數(shù)據(jù),HBase利用Zookeeper作為協(xié)同服務(wù)。(2)擴(kuò)展性(3)容錯(cuò)性4)高資源利用率相對(duì)于第一代Hadoop,YARN把Hadoop中的資源控制、任務(wù)調(diào)度和具體任務(wù)計(jì)算的JobTracker/TaskTracker架構(gòu),變?yōu)镽esourceManager、ApplicationMaster、NodeManager、Container、四個(gè)功能組件,讓資源調(diào)度和任務(wù)調(diào)度更加細(xì)?;?、簡述Yarn架構(gòu)及工作流程總的來說,YARN的工作流程分為以下幾個(gè)步驟:1)用戶向YARN中提交應(yīng)用程序,其中包括ApplicationMaster程序、啟動(dòng)ApplicationMaster的命令、用戶程序等。2)ResourceManager為該應(yīng)用程序分配第一個(gè)Container,并與對(duì)應(yīng)的Node-Manager通信,要求它在這個(gè)Container中啟動(dòng)應(yīng)用程序的ApplicationMaster。3)ApplicationMaster首先向ResourceManager注冊(cè),這樣用戶可以直接通過ResourceManage查看應(yīng)用程序的運(yùn)行狀態(tài),然后它將為各個(gè)任務(wù)申請(qǐng)資源,并監(jiān)控它的運(yùn)行狀態(tài),直到運(yùn)行結(jié)束,即重復(fù)步驟4)到7)。4)ApplicationMaster采用輪詢的方式通過RPC協(xié)議向ResourceManager申請(qǐng)和領(lǐng)取資源。5)一旦ApplicationMaster申請(qǐng)到資源后,便與對(duì)應(yīng)的NodeManager通信,要求它啟動(dòng)任務(wù)。6)NodeManager為任務(wù)設(shè)置好運(yùn)行環(huán)境(包括環(huán)境變量、JAR包、二進(jìn)制程序等)后,將任務(wù)啟動(dòng)命令寫到一個(gè)腳本中,并通過運(yùn)行該腳本啟動(dòng)任務(wù)。7)各個(gè)任務(wù)通過某個(gè)RPC協(xié)議向ApplicationMaster匯報(bào)自己的狀態(tài)和進(jìn)度,以讓ApplicationMaster隨時(shí)掌握各個(gè)任務(wù)的運(yùn)行狀態(tài),從而可以在任務(wù)失敗時(shí)重新啟動(dòng)任務(wù)。在應(yīng)用程序運(yùn)行過程中,用戶可隨時(shí)通過RPC向ApplicationMaster查詢應(yīng)用程序的當(dāng)前運(yùn)行狀態(tài)。8)應(yīng)用程序運(yùn)行完成后,ApplicationMaster向ResourceManager注銷并關(guān)閉自己。YARN的工作流程如圖所示:YARN的工作流程圖3、學(xué)會(huì)YARNShell的操作命令答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第7章第3節(jié)第八章簡述Spark開源框架及其特點(diǎn)。答:
Spark架構(gòu)采用了分布式計(jì)算中的Master-Slave模型,Spark架構(gòu)如下圖所示:圖8-2Spark架構(gòu)圖簡述Spark生態(tài)系統(tǒng)及其主要組件。答:Spark主要包括SparkCore和在SparkCore基礎(chǔ)之上建立的應(yīng)用框架SparkSQL、SparkStreaming、MLlib和GraphX。如下圖所示。圖Spark生態(tài)系統(tǒng)除了這些庫以外,還有一些其他的庫,如BlinkDB和Tachyon。此外,還有一些用于與其他產(chǎn)品集成的適配器,如Cassandra(SparkCassandra連接器)和R(SparkR)。簡述RDD的基本工作原理和特性。答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第8章第2節(jié)使用蒙特卡羅方法計(jì)算圓周率π值。答:step1:首先進(jìn)入spark安裝目錄cd/opt/sparkStep2:提交任務(wù)命令bin/spark-submit–classorg.apache.spark.examples.SparkPi–masterspark://master:7077–executor-memory1G–total-executor-cores1examples/jars/spark-examples_2.11-2.0.2.jar10
注:10是計(jì)算的次數(shù)輸出:ServerConnectorINFOINFOTNFOINFOINFOINFOINFO19:36:13IHFOscheduler.OAGScheduler:JobOfinished:reduceghly3.13895913895913919:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:13INFOINFOINFOINK)INFOINFOINIOINFOINFOINFOINFOINIOscheduler.TaskschedulerImpl:RemovedTaskSetserver.^erverConnector:handler?contextHandler:handler.LontextHandler:handler.ContextHandler:handIer.CpntextMandler:hand!er.ContextHandler:Handler.ConfccxtHandler:hand]er.CofitextHandler:hand!er.ContextHandler:h<ιndler.ContextHandler:hand1er.ContextHandler:hand1er.Conte>?HandIer:handIer.ContextHandler:Handler.ContextHandler:handler.ContextHandler:hand!er.ContextHandler:hand!er.ContextHandler:handler.ContextHandler:StoppedStoppedStoppedStoppedStoppedStoppedddddddddddddeeeeeeeeeeeePpppppppppppPpppppppppppOooooooooooottttttttttttSsssssssssssServerConnectorINFOINFOTNFOINFOINFOINFOINFO19:36:13IHFOscheduler.OAGScheduler:JobOfinished:reduceghly3.13895913895913919:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:1319:36:13INFOINFOINFOINK)INFOINFOINIOINFOINFOINFOINFOINIOscheduler.TaskschedulerImpl:RemovedTaskSetserver.^erverConnector:handler?contextHandler:handler.LontextHandler:handler.ContextHandler:handIer.CpntextMandler:hand!er.ContextHandler:Handler.ConfccxtHandler:hand]er.CofitextHandler:hand!er.ContextHandler:h<ιndler.ContextHandler:hand1er.ContextHandler:hand1er.Conte>?HandIer:handIer.ContextHandler:Handler.ContextHandler:handler.ContextHandler:hand!er.ContextHandler:hand!er.ContextHandler:handler.ContextHandler:StoppedStoppedStoppedStoppedStoppedStoppedddddddddddddeeeeeeeeeeeePpppppppppppPpppppppppppOooooooooooottttttttttttSsssssssssss附:1.Python源碼:from__future__importprint_functionimportsysfromrandomimportrandomfromoperatorimportaddfrompyspark.sqlimportSparkSession.getOrCreate()partitions=int(sys.argv[1])iflen(sys.argv)>1else2n=100000*partitionsprint(n)deff(_):x=random()*2–1y=random()*2–1return1ifx**2+y**2<1else0count=spark.sparkContext.parallelize(range(1,n+1),partitions).map(f).reduce(add)print(count)spark.stop()1.java源碼:publicfinalclassJavaSparkPi{publicstaticvoidmain(String[]args)throwsException{intslices=(args.length==1)?Integer.parseInt(args[0]):2;intn=100000*slices;List<Integer>l=newArrayList<Integer>(n);for(inti=0;i<n;i++){l.add(i);}SparkConfsparkConf=newJavaSparkContextjsc=newJavaSparkContext(sparkConf);JavaRDD<Integer>dataSet=jsc.parallelize(l,slices);intcount=dataSet.map(newFunction<Integer,Integer>(){@OverridepublicIntegercall(Integerinteger){doublex=Math.random()*2-1;doubley=Math.random()*2-1;return(x*x+y*y<1)?1:0;}}).reduce(newFunction2<Integer,Integer,Integer>(){@OverridepublicIntegercall(Integerinteger,Integerinteger2){}});returninteger+integer2;}});jsc.stop();}}使用Spark實(shí)現(xiàn)詞頻統(tǒng)計(jì)和相關(guān)系數(shù)計(jì)算答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第8章第3節(jié)第九章.簡述機(jī)器學(xué)習(xí)的基本概念。答:機(jī)器學(xué)習(xí)是一個(gè)龐大的家族體系,涉及眾多算法、任務(wù)和學(xué)習(xí)理論。詳見《大數(shù)據(jù)技術(shù)與應(yīng)用》第9章第1節(jié).簡述機(jī)器學(xué)習(xí)的分類。(1)按任務(wù)類型分,機(jī)器學(xué)習(xí)模型可以分為回歸模型、分類模型和結(jié)構(gòu)化學(xué)習(xí)模型。(2)從方法的角度分,可以分為線性模型和非線性模型,非線性模型又可以分為傳統(tǒng)機(jī)器學(xué)習(xí)模型(SVM,KNN,決策樹等)和深度學(xué)習(xí)模型。(3)按照學(xué)習(xí)理論分,機(jī)器學(xué)習(xí)模型可以分為有監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、遷移學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。.MLlib的數(shù)據(jù)類型和API函數(shù)有哪些?如何使用?MLlib提供了以下數(shù)據(jù)類型:(1)Localvector(2)Labeledpoint(3)Localmatrix(4)RowMatrix(5)IndexedRowMatrix(6)CoordinateMatrix(7)BlockMatrixMLlib提供了以下API:(1)基于DataFrame的API(2)基于RDD的API詳見《大數(shù)據(jù)技術(shù)與應(yīng)用》第9章第2節(jié).3種鳶尾花數(shù)據(jù)(萼片寬度、萼片長度、花瓣寬度、花瓣長度)為:(4.9,3.0,1.4,0.2)、(5.0,3.6,1.4,0.2)、(5.2,2.7,3.9,1.4)、(6.1,2.9,4.7,1.4)、(7.7,2.6,6.9,2.3)、(6.6,2.9,4.6,1.3)、(4.4,3.2,1.3,0.2)、(5.7,2.8,4.1,1.3),計(jì)算其聚類中心并將數(shù)據(jù)進(jìn)行分類。答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第9章第3節(jié).使用決策樹算法對(duì)鳶尾花數(shù)據(jù)進(jìn)行模型訓(xùn)練和預(yù)測(cè)。答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第9章第3節(jié)第十章.簡述Hive的組成及執(zhí)行流程。答:Hive的主要模塊以及與Hadoop的交互工作如下圖所示:圖Hive組成模塊下圖顯示Hive與Hadoop交互的主要組件,這些組件如下:(1)UI——包括Shell命令、JDBC/ODBC和WebUi,其中最常用的是shell這個(gè)客戶端方式對(duì)Hive進(jìn)行相應(yīng)操作。(2)Driver——Hive解析器的核心功能就是根據(jù)用戶編寫的SQL語法匹配出相應(yīng)的MapReduce模板,形成對(duì)應(yīng)的MapReducejob進(jìn)行執(zhí)行。(3)Compiler——將HiveQL編譯成有向無環(huán)圖(DirectedAcyclicGraph,DAG)形式的MapReduce任務(wù)。(4)Metastore——Hive將表中的元數(shù)據(jù)信息存儲(chǔ)在數(shù)據(jù)庫中,如derby、MySQL,Hive中的元數(shù)據(jù)信息包括表的名字、表的列和分區(qū)、表的屬性(是否為外部表等)、表的數(shù)據(jù)所在的目錄等。編譯器Compiler根據(jù)用戶任務(wù)去MetaStore中獲取需要的Hive的元數(shù)據(jù)信息。(5)ExecutionEngine——執(zhí)行編譯器產(chǎn)生的執(zhí)行計(jì)劃,該計(jì)劃是一個(gè)有向無環(huán)圖,執(zhí)行引擎管理這些計(jì)劃的不同階段之間的依賴關(guān)系,并在相關(guān)組件上執(zhí)行這些階段。
6?iobDoneAP/REDUCE$SandMetaDalsEXECUTIONENGINE圖Hive執(zhí)行流程1ex&cuteCJuery7tete?Re?Λj∣6?iobDoneAP/REDUCE$SandMetaDalsEXECUTIONENGINE圖Hive執(zhí)行流程1ex&cuteCJuery7tete?Re?Λj∣ts3getMetaData61OxecuIeJobTASKTRACKERS
(REDUCE)RFDIJCFOPERATOR.比較ARRAY、MAP和STRUCT這3種數(shù)據(jù)類型的區(qū)別復(fù)雜數(shù)據(jù)類型包括ARRAY、MAP、STRUCT,這些復(fù)雜數(shù)據(jù)類型是由基礎(chǔ)類型組成的,如下表所示:數(shù)據(jù)類型描述例子ARRAY一組有序字段。字段的類型必須相同。例如:數(shù)組A的值為[1,2],則第2個(gè)元素為A[1]。ARRAY(1,2)
MAP一組無序的鍵/值對(duì)。鍵的類型必須是原子的,值可以是任何類型,同一個(gè)映射的鍵的類型必須相同,值得類型也必須相同。例如:MAP數(shù)據(jù)M的鍵-值對(duì)'a'->1,'b'->2,則'b'的值為M['b']。MAP(‘a(chǎn)’,1, ‘b’,2)STRUCT一組命名的字段。字段類型可以不同。例如:name為STRUCT{firstSTRING,lastSTRING},則使用name.last引用name中l(wèi)ast的值。STRUCT('a',1,2)表復(fù)雜數(shù)據(jù)類型.舉例Hive文件格式的JSON表示答:教材中的數(shù)據(jù)以json形式表示{王可塘學(xué)士碩士公積金保險(xiǎn)金養(yǎng)老金},廣東省汕尾市蓮塘街36號(hào)}.使用HSQL進(jìn)行詞頻統(tǒng)計(jì)。答:參考《大數(shù)據(jù)技術(shù)與應(yīng)用》第十章第5節(jié).從騰訊證券下載股市行情,使用Hive進(jìn)行分析。答:參見《大數(shù)據(jù)技術(shù)與應(yīng)用》第十章第6節(jié)第十一章.簡述ZooKeeper協(xié)調(diào)服務(wù)。分布式協(xié)調(diào)服務(wù)有Paxos、ZooKeeper、Chubby和Fourinone等。.簡述ZAB協(xié)議。答:所有的事務(wù)請(qǐng)求必須一個(gè)全局唯一的服務(wù)器 (Leader)來協(xié)調(diào)處理,集群其余的服務(wù)器稱為follower服務(wù)器。ZAB協(xié)議分為四個(gè)階段:階段0為leader選舉,階段1為發(fā)現(xiàn),階段2為同步,階段3為廣播。而實(shí)際實(shí)現(xiàn)時(shí)將發(fā)現(xiàn)及同步階段合并為一個(gè)恢復(fù)階段。ZAB協(xié)議分兩大塊:恢復(fù)和廣播。.簡述ZooKeeper事件監(jiān)聽器工作流程。答:ZooKeeper的Watcher機(jī)制主要包括客戶端線程、客戶端WatchManager和ZooKeeper服務(wù)器三部分。其工作流程:客戶端在向ZooKeeper服務(wù)器注冊(cè)Watcher的同時(shí),會(huì)將Watcher對(duì)象存儲(chǔ)在客戶端的WatchManager中。當(dāng)ZooKeeper服務(wù)器端觸發(fā)Watcher事件后,會(huì)向客戶端發(fā)送通知,客戶端線程從WatchManager中取出對(duì)應(yīng)的Watcher對(duì)象執(zhí)行回調(diào)邏輯,如下圖所示。
圖Watcher工作流
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 燃料整改報(bào)告范文
- 請(qǐng)求贊助報(bào)告范文
- 浙江國企招聘2024溫州市國有資本投資運(yùn)營有限公司招聘3人筆試參考題庫附帶答案詳解
- 二零二五年度獨(dú)立財(cái)務(wù)顧問代理記賬免責(zé)條款
- 二零二五年度股權(quán)激勵(lì)與股東利益共享協(xié)議
- 二零二五年度藥房藥品質(zhì)量管理員聘用合同
- 二零二五年度鋁合金門窗工程綠色施工與材料供應(yīng)合同
- 2025年茶山茶葉品牌授權(quán)合作承包協(xié)議
- 2025年度集體合同簽訂前的準(zhǔn)備工作規(guī)范
- 2025年度物流企業(yè)貨車司機(jī)勞動(dòng)爭議處理與仲裁協(xié)議
- 2023電動(dòng)船舶直流充換電系統(tǒng)技術(shù)條件
- DBJ-T13-338-2020 建設(shè)工程施工現(xiàn)場(chǎng)遠(yuǎn)程視頻監(jiān)控系統(tǒng)建設(shè)應(yīng)用標(biāo)準(zhǔn)
- 2023年版加油站進(jìn)入受限空間作業(yè)制度
- 2023年廣東廣州市中考語文真題及答案
- GB/T 7939.3-2023液壓傳動(dòng)連接試驗(yàn)方法第3部分:軟管總成
- 數(shù)據(jù)挖掘(第2版)PPT全套完整教學(xué)課件
- 初中物理校本教材《物理之窗》內(nèi)容
- 第四章 新聞職業(yè)道德失范:虛假新聞1
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第一章運(yùn)動(dòng)技能學(xué)習(xí)與控制概述
- 穿堤涵閘工程施工方案
- 某污水處理廠設(shè)計(jì)倒置a2o工藝
評(píng)論
0/150
提交評(píng)論