版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章1.大數(shù)據(jù)的概念并沒(méi)有確切的定義,合理即可,以下給出幾個(gè)常見(jiàn)的定義:Garter公司定義“大數(shù)據(jù)”是大容量(Volume)、高流速(Velocity)、多樣化(Variety)的信息資產(chǎn),它需要新的數(shù)據(jù)處理形式來(lái)增強(qiáng)決策、提升洞察力、優(yōu)化處理過(guò)程。麥肯錫全球研究所給出的定義“大數(shù)據(jù)”是一種規(guī)模大到在獲取、存儲(chǔ)、管理、分析方面遠(yuǎn)遠(yuǎn)超出了傳統(tǒng)數(shù)據(jù)庫(kù)軟件工具能力范圍的數(shù)據(jù)集合,具有海量的數(shù)據(jù)規(guī)模、快速的數(shù)據(jù)流轉(zhuǎn)、多樣的數(shù)據(jù)類型和價(jià)值密度低四大特征。美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究院給出的定義:大數(shù)據(jù)是數(shù)量大、獲取速度快或形態(tài)多樣的數(shù)據(jù),難以用傳統(tǒng)關(guān)系型數(shù)據(jù)分析方法進(jìn)行有效分析,或者需要大規(guī)模的水平擴(kuò)展才能高效處理。2.對(duì)于大數(shù)據(jù)的特征,學(xué)術(shù)界普遍認(rèn)為是麥肯錫公司提出的4V特征,即海量化(Volume)、多樣化(Variety)、快速化(Velocity)、價(jià)值密度低(Value)。(1)海量化它主要表現(xiàn)在處理的數(shù)量級(jí)。隨著信息技術(shù)的發(fā)展,互聯(lián)網(wǎng)規(guī)模的不斷擴(kuò)大,每個(gè)人的生活都被記錄在了大數(shù)據(jù)之中,由此數(shù)據(jù)本身也呈爆發(fā)性增長(zhǎng)。其中大數(shù)據(jù)的計(jì)量單位也逐漸發(fā)展,現(xiàn)如今對(duì)大數(shù)據(jù)的計(jì)量已達(dá)到BB。數(shù)據(jù)的存儲(chǔ)量也正在急劇增長(zhǎng)。、(2)多樣化通常所說(shuō)的數(shù)據(jù)是一個(gè)整體性的概念,按照不同的劃分方式,數(shù)據(jù)可以劃分成多種類型,最常用和最基本的就是利用數(shù)據(jù)關(guān)系進(jìn)行劃分,這種類型的多樣性也讓數(shù)據(jù)被分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。(3)快速化快速化是大數(shù)據(jù)區(qū)分于傳統(tǒng)數(shù)據(jù)挖掘最顯著的特征。如物聯(lián)網(wǎng)每秒都在采集數(shù)據(jù),微博內(nèi)容隨時(shí)都在更新,處理速度達(dá)到每小時(shí)10TB或更高。(4)價(jià)值密度低傳統(tǒng)數(shù)據(jù)基本都是結(jié)構(gòu)化數(shù)據(jù),每個(gè)字段都是有用的,價(jià)值密度非常高。大數(shù)據(jù)時(shí)代,越來(lái)越多數(shù)據(jù)都是非結(jié)構(gòu)化數(shù)據(jù),比如網(wǎng)站訪問(wèn)日志,里面大量?jī)?nèi)容都是沒(méi)價(jià)值的。大數(shù)據(jù)本身存在較大的價(jià)值,但是由于數(shù)據(jù)量過(guò)大,其價(jià)值往往呈現(xiàn)稀疏性特點(diǎn)。3.大數(shù)據(jù)處理關(guān)鍵技術(shù)一般包括:大數(shù)據(jù)采集、大數(shù)據(jù)預(yù)處理、大數(shù)據(jù)存儲(chǔ)及管理、大數(shù)據(jù)分析及挖掘、大數(shù)據(jù)展現(xiàn)和應(yīng)用。 數(shù)據(jù)采集是大數(shù)據(jù)分析過(guò)程中的最基本的環(huán)節(jié),是對(duì)數(shù)據(jù)進(jìn)行ETL(ExtractTransformLoad)操作的過(guò)程,通過(guò)對(duì)數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換、加載,最終挖掘數(shù)據(jù)的潛在價(jià)值。數(shù)據(jù)預(yù)處理就是對(duì)已接收的數(shù)據(jù)進(jìn)行辨析、抽取、清洗等操作。通過(guò)預(yù)處理可以使殘缺的數(shù)據(jù)完整,并將錯(cuò)誤的數(shù)據(jù)糾正、多余的數(shù)據(jù)去除,進(jìn)而將所需要的數(shù)據(jù)挑選出來(lái),并進(jìn)行數(shù)據(jù)集成。大數(shù)據(jù)存儲(chǔ)與管理要用存儲(chǔ)器把采集到的數(shù)據(jù)存儲(chǔ)起來(lái),建立相應(yīng)的數(shù)據(jù)庫(kù),并進(jìn)行管理和調(diào)用。重點(diǎn)解決復(fù)雜結(jié)構(gòu)化、非結(jié)構(gòu)化大數(shù)據(jù)管理與處理技術(shù)。數(shù)據(jù)分析過(guò)程需要從復(fù)雜數(shù)據(jù)中找出規(guī)律從而獲得有價(jià)值的知識(shí),這正是大數(shù)據(jù)的價(jià)值體現(xiàn)。數(shù)據(jù)挖掘就是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識(shí)的過(guò)程。大數(shù)據(jù)展現(xiàn)與應(yīng)用技術(shù)是指大數(shù)據(jù)技術(shù)能等將隱藏于海量數(shù)據(jù)中的信息和知識(shí)挖掘出來(lái),為人類的社會(huì)經(jīng)濟(jì)動(dòng)提供依據(jù),從而提高各個(gè)領(lǐng)域的運(yùn)行效率,大大提高整個(gè)社會(huì)經(jīng)濟(jì)的集約化程度。4.CDO(ChiefDataOfficer)首席數(shù)據(jù)官是隨著企業(yè)不斷發(fā)展而誕生的一個(gè)新型的管理者。其主要是負(fù)責(zé)根據(jù)企業(yè)的業(yè)務(wù)需求、選擇數(shù)據(jù)庫(kù)以及數(shù)據(jù)抽取、轉(zhuǎn)換和分析等工具,進(jìn)行相關(guān)的數(shù)據(jù)挖掘、數(shù)據(jù)處理和分析,并且根據(jù)數(shù)據(jù)分析的結(jié)果戰(zhàn)略性地對(duì)企業(yè)未來(lái)的業(yè)務(wù)發(fā)展和運(yùn)營(yíng)提供相應(yīng)的建議和意見(jiàn)。CDO必須具備五種能力或知識(shí):統(tǒng)計(jì)學(xué)和數(shù)學(xué)的知識(shí)、洞悉網(wǎng)絡(luò)產(chǎn)業(yè)和發(fā)展趨勢(shì)的能力、IT設(shè)備和技術(shù)選型的能力、商業(yè)運(yùn)營(yíng)的能力、管理和溝通的能力。 數(shù)據(jù)科學(xué)家是運(yùn)用統(tǒng)計(jì)分析、機(jī)器學(xué)習(xí)、分布式處理等技術(shù),從大量數(shù)據(jù)中提取出對(duì)業(yè)務(wù)有意義的信息,以易懂的形式傳達(dá)給決策者,并創(chuàng)造出新的數(shù)據(jù)運(yùn)用服務(wù)的人才。數(shù)據(jù)科學(xué)家應(yīng)該具有扎實(shí)的統(tǒng)計(jì)學(xué)基礎(chǔ),統(tǒng)計(jì)學(xué)是當(dāng)前很多數(shù)據(jù)分析和數(shù)據(jù)挖掘算法的理論基礎(chǔ)。數(shù)據(jù)科學(xué)家應(yīng)當(dāng)能夠熟練使用統(tǒng)計(jì)工具,從有組織的數(shù)據(jù)集中提取有價(jià)值的信息。成熟的數(shù)據(jù)科學(xué)家應(yīng)具備四個(gè)條件是:熟悉業(yè)務(wù)的細(xì)節(jié)、掌握數(shù)據(jù)分析工具的操作、對(duì)數(shù)據(jù)價(jià)值的敏感度和對(duì)數(shù)據(jù)提煉融合的能力。 大數(shù)據(jù)開(kāi)發(fā)工程師要負(fù)責(zé)數(shù)據(jù)倉(cāng)庫(kù)建設(shè)、ETL開(kāi)發(fā)、數(shù)據(jù)分析、數(shù)據(jù)指標(biāo)統(tǒng)計(jì)、大數(shù)據(jù)實(shí)時(shí)計(jì)算平臺(tái)及業(yè)務(wù)開(kāi)發(fā)、平臺(tái)建設(shè)及維護(hù)等工作內(nèi)容。熟練掌握數(shù)據(jù)倉(cāng)庫(kù)、Hadoop生態(tài)體系、計(jì)算及二次開(kāi)發(fā)、大數(shù)據(jù)平臺(tái)工具的開(kāi)發(fā)。大數(shù)據(jù)開(kāi)發(fā)工程師需要良好的數(shù)學(xué)背景,有很強(qiáng)的計(jì)算機(jī)編程能力,具有特定應(yīng)用領(lǐng)域或行業(yè)的專業(yè)知識(shí),必須深入理解大數(shù)據(jù)系統(tǒng)的架構(gòu),各個(gè)組件的基本原理、實(shí)現(xiàn)機(jī)制,甚至其中涉及的算法等。大數(shù)據(jù)運(yùn)維工程師負(fù)責(zé)和參與公司大數(shù)據(jù)基礎(chǔ)架構(gòu)平臺(tái)規(guī)劃,運(yùn)維,監(jiān)控和優(yōu)化工作,保障數(shù)據(jù)平臺(tái)服務(wù)的穩(wěn)定性和可用性;及時(shí)反饋技術(shù)處理過(guò)程中的異常情況,及時(shí)向上級(jí)反饋告警,同時(shí)主動(dòng)協(xié)調(diào)資源推動(dòng)問(wèn)題解決;研究大數(shù)據(jù)前沿技術(shù),改進(jìn)現(xiàn)有系統(tǒng)的服務(wù)和運(yùn)維架構(gòu),提升系統(tǒng)可靠性和可運(yùn)維性;負(fù)責(zé)和參與自動(dòng)化運(yùn)維系統(tǒng)及平臺(tái)的建設(shè);負(fù)責(zé)優(yōu)化部門運(yùn)維流程提升運(yùn)維效率。大數(shù)據(jù)系統(tǒng)運(yùn)維工程師應(yīng)熟悉Java、Python、Shell等語(yǔ)言;Hadoop工作原理,對(duì)HDFS、MapReduce運(yùn)行過(guò)程要有深入理解,具備MapReduce開(kāi)發(fā)經(jīng)驗(yàn),熟悉數(shù)據(jù)倉(cāng)庫(kù)體系架構(gòu),熟悉數(shù)據(jù)建模;熟悉至少一種RDBMS,如MySQL、Oracle、SQLServer,熟練使用SOL語(yǔ)言;熟悉大數(shù)據(jù)生態(tài)圈及其他技術(shù),如HBase、Storm、Spark、Impala、Kafka、Sqoop等技術(shù)的細(xì)節(jié)。第2章一、選擇題1.D2.A3.C4.A5.D6.A7.D8.D二、簡(jiǎn)答題1.Linux文件類型。2.參考vi編輯器。3.歸檔與壓縮。4.tar命令能夠?qū)σ粋€(gè)文件或者目錄內(nèi)容進(jìn)行打包壓縮后備份。命令格式如下:#tar[-選項(xiàng)][要打包的文件名或者目錄名][要解壓或解包的文件或者目錄名]例如,現(xiàn)在想將/etc/passwd文件和/etc/shadow文件打包后壓縮成user.tar.gz文件,可以執(zhí)行如下操做:#tarczvf/home/user.tar.gz/etc/passwd/etc/shadow5.catfile1file2>>file3使用上述命令將file1和file2的文檔內(nèi)容合并添加到file3文檔中。第3章一、填空題1.MapReduce、HDFS、YARN2.獨(dú)立模式、偽分布式模式、完全分布式模式3.hdfsnamenode-format4.9870二、簡(jiǎn)答題1.虛擬機(jī)網(wǎng)絡(luò)支持橋接、NAT和僅主機(jī)三種模式。選擇橋接模式的話虛擬機(jī)和宿主機(jī)在網(wǎng)絡(luò)上就是平級(jí)的關(guān)系,相當(dāng)于連接在同一交換機(jī)上。NAT模式的虛擬機(jī)通過(guò)主機(jī)(物理機(jī))訪問(wèn)互聯(lián)網(wǎng),交換數(shù)據(jù)。僅主機(jī)模式下,虛擬機(jī)與宿主機(jī)直連,主機(jī)系統(tǒng)不為虛擬機(jī)提供任何路由服務(wù),虛擬機(jī)只能與主機(jī)通信,不能連接到實(shí)際網(wǎng)絡(luò),即不能訪問(wèn)互聯(lián)網(wǎng)。選擇NAT模式的優(yōu)點(diǎn)是不會(huì)與其他物理主機(jī)的IP沖突,在沒(méi)有路由器的環(huán)境下可以通過(guò)SSHNAT連接虛擬機(jī)進(jìn)行學(xué)習(xí),不會(huì)影響網(wǎng)絡(luò)環(huán)境下的虛擬機(jī)IP。第4章一、填空題1.NameNode、DataNode2.NameNode、DataNode3.FsImage、EditLog4.128二、簡(jiǎn)答題1.HDFS文件寫(xiě)入原理:1)Client通過(guò)遠(yuǎn)程過(guò)程調(diào)用(RPC)發(fā)起文件上傳請(qǐng)求,與NameNode建立通信。2)NameNode檢查元數(shù)據(jù)文件的系統(tǒng)目錄樹(shù)。3)若系統(tǒng)目錄樹(shù)的夫目錄下不存在該文件的相關(guān)信息,返回客戶端可以上傳文件。4)客戶端請(qǐng)求上傳第一個(gè)Block數(shù)據(jù)塊以及數(shù)據(jù)塊的副本數(shù)量。5)NameNod檢查元數(shù)據(jù)文件中DataNode信息池,找到可用的DataNode節(jié)點(diǎn)。6)將可用數(shù)據(jù)節(jié)點(diǎn)的IP地址返回給Client。7)Cient請(qǐng)求第一臺(tái)DataNode進(jìn)行數(shù)據(jù)傳輸(本質(zhì)為一個(gè)RPC調(diào)用,建立管道Pipeline),第一臺(tái)DataNode收到請(qǐng)求后會(huì)調(diào)用第二臺(tái)DataNode,第二臺(tái)DataNode再調(diào)用第三臺(tái)DataNode。8)DataNode之間建立Pipeline后,逐個(gè)返回建立完畢的信息。9)Client與DataNode建立數(shù)據(jù)傳輸流,開(kāi)始發(fā)送數(shù)據(jù)包Packet。10)Client向第一臺(tái)DataNode以Packet(默認(rèn)64KB)形式上傳第一個(gè)Block數(shù)據(jù)塊。當(dāng)?shù)谝慌_(tái)DataNode收到該P(yáng)acket之后,會(huì)傳遞給第二臺(tái)DataNode,第二臺(tái)DataNode再傳遞給第三臺(tái)DataNode。第一臺(tái)DataNode每傳送一個(gè)Packet都會(huì)放入一個(gè)應(yīng)答隊(duì)列等待應(yīng)答。11)數(shù)據(jù)被分割成一個(gè)個(gè)Packet數(shù)據(jù)包再Pipeline上依次傳輸,而在Pipeline反方向上,將逐個(gè)發(fā)送Ack確認(rèn),最終由Pipeline中第一臺(tái)DataNode將Pipeline的Ack信息發(fā)送給Client。12)DataNode返回給客戶端,第一個(gè)Block傳輸完成。Client會(huì)再次請(qǐng)求NameNode上傳后續(xù)Block。重復(fù)以上步驟,直到所有Block上傳完成。2.參考4.2.2HDFS文件讀取原理:1)Client向NameNode發(fā)起RPC請(qǐng)求,獲取請(qǐng)求文件Block的所在位置。2)NameNode檢測(cè)元數(shù)據(jù)文件,視情況返回部分Block或全部Block的信息,對(duì)于每個(gè)Block,NameNode都會(huì)返回該Block副本的DataNode地址。3)客戶端會(huì)選取排序靠前的DataNode來(lái)一次讀取Block,每一個(gè)Block都會(huì)進(jìn)行完整性校驗(yàn),若文件不完整,則客戶端繼續(xù)向NameNode獲取下一批的Block列表,知道驗(yàn)證讀取出來(lái)的文件是完整的,則Block讀取完畢。4)Client將所有Block合并成一個(gè)完整的文件。第5章一、選擇題1.A2.B3.A4.B5.D6.A二、判斷題1.√2.√3.×4.√5.√三、簡(jiǎn)答題1.Hadoop是一種分布式系統(tǒng)的平臺(tái),通過(guò)它可以很輕松的搭建一個(gè)高效、高質(zhì)量的分布系統(tǒng),而且它還有許多其它的相關(guān)子項(xiàng)目,也就是對(duì)它的功能的極大擴(kuò)充,包括Zookeeper、Hive、Hbase等。MapReduce是Hadoop的核心組件之一,Hadoop要分布式包括兩部分,一部分是分布式文件系統(tǒng)HDFS,一部分是分布式計(jì)算框架,就是MapReduce,也就是說(shuō),可以通過(guò)MapReduce很容易在Hadoop平臺(tái)上進(jìn)行分布式的計(jì)算編程。2.Map函數(shù)的輸入是來(lái)自于分布式文件系統(tǒng)的文件塊,這些文件塊的格式是任意的,可以是文檔,也可以是二進(jìn)制格式。文件塊是一系列元素的集合,這些元素是任意類型的,同一個(gè)元素不能跨文件塊存儲(chǔ)。Map函數(shù)將輸入的元素轉(zhuǎn)換成<key,value形式的鍵值對(duì),鍵和值的類型也是任意的,其中,鍵不同于一般的標(biāo)志屬性,即鍵沒(méi)有唯一性,不能作為輸出的身份標(biāo)識(shí),即使是同一輸入元素,也可通過(guò)一個(gè)Map任務(wù)生成具有相同鍵的多個(gè)<key,value>。Reduce函數(shù)的任務(wù)就是將輸入的一系列具有相同鍵的鍵值對(duì)以某種方式組合起來(lái),輸出處理后的鍵值對(duì),輸出結(jié)果會(huì)合并成一個(gè)文件。用戶可以指定Reduce任務(wù)的個(gè)數(shù)(如n個(gè)),并通知實(shí)現(xiàn)系統(tǒng),然后主控進(jìn)程通常會(huì)選擇一個(gè)Hash函數(shù),Map任務(wù)輸出的每個(gè)鍵都會(huì)經(jīng)過(guò)Hash函數(shù)計(jì)算,并根據(jù)哈希結(jié)果將該鍵值對(duì)輸入相應(yīng)的Reduce任務(wù)來(lái)處理。對(duì)于處理鍵為k的Reduce任務(wù)的輸入形式為<k,<v1,v2.……vn>>,輸出為<k,v>。3.Shuffle過(guò)程主要包括Map端和Reduce端的Shuffle過(guò)程:1)Map端的Shuffle過(guò)程在Map端,經(jīng)過(guò)map任務(wù)處理后的數(shù)據(jù)(一系列<k,v>鍵值對(duì)),首先進(jìn)入緩存,當(dāng)緩存的數(shù)據(jù)到達(dá)一定容量(緩存空間的溢寫(xiě)比)的時(shí)候,就會(huì)啟動(dòng)Map端的溢寫(xiě)過(guò)程,把map任務(wù)的輸出結(jié)果溢寫(xiě)到磁盤里。在溢寫(xiě)到磁盤之前,會(huì)經(jīng)歷Map端的Shuffle處理階段:分區(qū)、排序、合并,在溢寫(xiě)到磁盤之后,多個(gè)溢寫(xiě)文件會(huì)經(jīng)歷歸并過(guò)程。值得一提的是,Mapreduce的輸入和輸出都是保存到分布式文件系統(tǒng)中的,而中間結(jié)果是保存到本地磁盤中的(而這一點(diǎn)也成為了Mapreduce速度上的雞肋),所以Shuffle過(guò)程會(huì)涉及大量的本地磁盤操作。①分區(qū)數(shù)據(jù)緩存中每個(gè)經(jīng)由map任務(wù)處理后的輸出鍵值對(duì)<k,v>中的key被哈希函數(shù)哈希后再用reduce任務(wù)的數(shù)量進(jìn)行取模,這樣就把一系列<k,y>鍵值對(duì)分成多個(gè)區(qū)(分區(qū)數(shù)目對(duì)應(yīng)reduce任務(wù)數(shù)量),每個(gè)區(qū)的數(shù)據(jù)交給對(duì)應(yīng)的reduce(一個(gè)溢寫(xiě)文件的一個(gè)區(qū)對(duì)應(yīng)一個(gè)reduce任務(wù))去處理,實(shí)現(xiàn)并行計(jì)算。②排序數(shù)據(jù)經(jīng)過(guò)分區(qū)后的數(shù)據(jù),對(duì)于每個(gè)分區(qū)的所有鍵值對(duì),會(huì)按照key進(jìn)行排序。緩存數(shù)據(jù)經(jīng)過(guò)分區(qū)和排序后,就會(huì)被溢寫(xiě)到磁盤,每一次溢寫(xiě)都會(huì)被生成一個(gè)溢寫(xiě)文件,并清空緩存中相應(yīng)的數(shù)據(jù)。③歸并文件每一次溢寫(xiě)都會(huì)被生成一個(gè)溢寫(xiě)文件,這樣隨著map任務(wù)的不斷執(zhí)行,溢寫(xiě)的文件會(huì)在磁盤內(nèi)越堆越多,由此,在map任務(wù)完成后,會(huì)對(duì)磁盤中的溢寫(xiě)文件執(zhí)行文件歸并,把多個(gè)溢寫(xiě)文件歸并成一個(gè)大的溢寫(xiě)文件。2)Reduce端的Shuffle過(guò)程①領(lǐng)取數(shù)據(jù)當(dāng)所有的map任務(wù)都完成之后,Reduce端會(huì)收到通知去Map端上把屬于自己處理的分區(qū)數(shù)據(jù)領(lǐng)取回來(lái),由于存在多個(gè)Map端,自然Reduce端會(huì)分出多個(gè)線程去不同的Map端上領(lǐng)取數(shù)據(jù)。②歸并數(shù)據(jù)和文件當(dāng)所有數(shù)據(jù)領(lǐng)取回來(lái)之后,會(huì)先放到緩存里,當(dāng)緩存的數(shù)據(jù)滿了之后,再溢寫(xiě)到磁盤上,在溢寫(xiě)到磁盤之前也會(huì)對(duì)數(shù)據(jù)進(jìn)行一遍歸并操作,即同樣key的數(shù)據(jù)會(huì)被歸并生成一個(gè)溢寫(xiě)文件,這樣隨著Reduce拉取回來(lái)的數(shù)據(jù)不斷增多,緩沖區(qū)滿了一遍又一遍,自然會(huì)生成多個(gè)溢寫(xiě)文件。當(dāng)Map端的數(shù)據(jù)全部被領(lǐng)回來(lái)的時(shí)候,磁盤中的溢寫(xiě)文件也會(huì)被歸并成大的溢寫(xiě)文件。把磁盤上的多個(gè)溢寫(xiě)文件歸并成大的溢寫(xiě)文件,可能需要執(zhí)行多輪歸并,每輪歸并操作可以歸并的文件數(shù)量是由參數(shù)io.sort.factor的值控制的(默認(rèn)是10),假設(shè)磁盤產(chǎn)生了50個(gè)溢寫(xiě)文件,每輪可以歸并10個(gè)溢寫(xiě)文件,則需要經(jīng)過(guò)5輪歸并,生成5個(gè)溢寫(xiě)文件。磁盤中經(jīng)過(guò)多輪歸并生成的若干個(gè)文件不會(huì)被繼續(xù)歸并成一個(gè)大文件,而是在內(nèi)存中進(jìn)行歸并,歸并完畢后輸入給reduce任務(wù),這樣可以減少磁盤讀寫(xiě)開(kāi)銷。4.答案如下圖所示:
第6章一、選擇題1.A2.B3.D4.D5.AC6.AB7.ABCD8.ABCD二、判斷題1.√2.×3.√4.×5.√6.×7.√8.√三、簡(jiǎn)答題1.ZooKeeper是一個(gè)經(jīng)典的分布式數(shù)據(jù)一致性解決方案,致力于為分布式應(yīng)用提供一個(gè)高性能、高可用,且具有嚴(yán)格順序訪問(wèn)控制能力的分布式協(xié)調(diào)服務(wù)。分布式應(yīng)用程序可以基于ZooKeeper實(shí)現(xiàn)數(shù)據(jù)發(fā)布與訂閱、負(fù)載均衡、命名服務(wù)、分布式協(xié)調(diào)與通知、集群管理、Leader選舉、分布式鎖、分布式隊(duì)列等功能。2.①leader:Leader能為客戶端提供讀和寫(xiě)服務(wù),Leader服務(wù)器是整個(gè)集群工作機(jī)制的核心;事務(wù)請(qǐng)求的唯一調(diào)度者和處理者,保證集群事務(wù)處理的順序性。②follower:擁有選舉權(quán),擁有投票權(quán),接受客戶端的訪問(wèn);如果客戶端執(zhí)行寫(xiě)請(qǐng)求,只是將請(qǐng)求轉(zhuǎn)發(fā)給Leader。③Observer:和follower功能一致,但是不參與leader選舉;只可以為客戶端提供數(shù)據(jù)的查詢和訪問(wèn);如果客戶端執(zhí)行寫(xiě)請(qǐng)求,只是將請(qǐng)求轉(zhuǎn)發(fā)給Leader。3.version:當(dāng)前ZNode版本cversion:當(dāng)前ZNode子節(jié)點(diǎn)版本aversion:當(dāng)前ZNode的ACL版本4.①PERSISTENT-持久節(jié)點(diǎn)除非手動(dòng)刪除,否則節(jié)點(diǎn)一直存在于ZooKeeper上。②EPHEMERAL-臨時(shí)節(jié)點(diǎn)臨時(shí)節(jié)點(diǎn)的生命周期與客戶端會(huì)話綁定,一旦客戶端會(huì)話失效(客戶端與ZooKeeper連接斷開(kāi)不一定會(huì)話失效),那么這個(gè)客戶端創(chuàng)建的所有臨時(shí)節(jié)點(diǎn)都會(huì)被移除。③PERSISTENT_SEQUENTIAL-持久順序節(jié)點(diǎn)基本特性同持久節(jié)點(diǎn),只是增加了順序?qū)傩?,?jié)點(diǎn)名后邊會(huì)追加一個(gè)由父節(jié)點(diǎn)維護(hù)的自增整型數(shù)字。④EPHEMERAL_SEQUENTIAL-臨時(shí)順序節(jié)點(diǎn)基本特性同臨時(shí)節(jié)點(diǎn),增加了順序?qū)傩裕?jié)點(diǎn)名后邊會(huì)追加一個(gè)由父節(jié)點(diǎn)維護(hù)的自增整型數(shù)字。5.ZooKeeper采用了遞增的事務(wù)Id來(lái)標(biāo)識(shí),所有的proposal(提議)都在被提出的時(shí)候加上了zxid,zxid實(shí)際上是一個(gè)64位的數(shù)字,高32位是epoch(時(shí)期;紀(jì)元;世;新時(shí)代)用來(lái)標(biāo)識(shí)leader是否發(fā)生改變,如果有新的leader產(chǎn)生出來(lái),epoch會(huì)自增,低32位用來(lái)遞增計(jì)數(shù)。當(dāng)新產(chǎn)生proposal的時(shí)候,會(huì)依據(jù)數(shù)據(jù)庫(kù)的兩階段過(guò)程,首先會(huì)向其他的server發(fā)出事務(wù)執(zhí)行請(qǐng)求,如果超過(guò)半數(shù)的機(jī)器都能執(zhí)行并且能夠成功,那么就會(huì)開(kāi)始執(zhí)行。6.不是。一個(gè)watch事件是一個(gè)一次性的觸發(fā)器,當(dāng)被設(shè)置了watch的數(shù)據(jù)發(fā)生了改變的時(shí)候,則服務(wù)器將這個(gè)改變發(fā)送給設(shè)置了watch的客戶端,以便通知它們。例如:如果服務(wù)端變動(dòng)頻繁,而監(jiān)聽(tīng)的客戶端很多情況下,每次變動(dòng)都要通知到所有的客戶端,給網(wǎng)絡(luò)和服務(wù)器造成很大壓力。一般是客戶端執(zhí)行g(shù)etData(“/節(jié)點(diǎn)A”,true),如果節(jié)點(diǎn)A發(fā)生了變更或刪除,客戶端會(huì)得到它的watch事件,但是在之后節(jié)點(diǎn)A又發(fā)生了變更,而客戶端又沒(méi)有設(shè)置watch事件,就不再給客戶端發(fā)送。在實(shí)際應(yīng)用中,很多情況下,我們的客戶端不需要知道服務(wù)端的每一次變動(dòng),我只要最新的數(shù)據(jù)即可。7.ZooKeeper本身也是集群,推薦配置不少于3個(gè)服務(wù)器。ZooKeeper自身也要保證當(dāng)一個(gè)節(jié)點(diǎn)宕機(jī)時(shí),其他節(jié)點(diǎn)會(huì)繼續(xù)提供服務(wù)。如果是一個(gè)Follower宕機(jī),還有2臺(tái)服務(wù)器提供訪問(wèn),因?yàn)閆ooKeeper上的數(shù)據(jù)是有多個(gè)副本的,數(shù)據(jù)并不會(huì)丟失;如果是一個(gè)Leader宕機(jī),ZooKeeper會(huì)選舉出新的Leader。ZK集群的機(jī)制是只要超過(guò)半數(shù)的節(jié)點(diǎn)正常,集群就能正常提供服務(wù)。只有在ZK節(jié)點(diǎn)掛得太多,只剩一半或不到一半節(jié)點(diǎn)能工作,集群才失效。所以3個(gè)節(jié)點(diǎn)的cluster可以掛掉1個(gè)節(jié)點(diǎn)(leader可以得到2票>1.5)2個(gè)節(jié)點(diǎn)的cluster就不能掛掉任何1個(gè)節(jié)點(diǎn)了(leader可以得到1票<=1)。8.ZooKeeper是一個(gè)典型的發(fā)布/訂閱模式的分布式數(shù)據(jù)管理與協(xié)調(diào)框架,開(kāi)發(fā)人員可以使用它來(lái)進(jìn)行分布式數(shù)據(jù)的發(fā)布和訂閱。通過(guò)對(duì)ZooKeeper中豐富的數(shù)據(jù)節(jié)點(diǎn)進(jìn)行交叉使用,配合watcher事件通知機(jī)制,可以非常方便的構(gòu)建一系列分布式應(yīng)用中年都會(huì)涉及的核心功能,如數(shù)據(jù)發(fā)布/訂閱、負(fù)載均衡、命名服務(wù)、分布式協(xié)調(diào)/通知、集群管理、Master選舉、分布式鎖、分布式隊(duì)列。第7章一、選擇題1.D2.DE3.ABC二、判斷題1.√2.√3.×4.√三、簡(jiǎn)答題1.YARN的基本組成ResourceManager:一個(gè)集群資源調(diào)度的管理者。NodeManager:一個(gè)節(jié)點(diǎn)資源調(diào)度的管理者(集群各個(gè)節(jié)點(diǎn)資源的工作者)。ApplicationMaster:一個(gè)計(jì)算任務(wù)的管理者。Container:容器(cpu和內(nèi)存)。2.基本原理:按照先后順序決定資源的使用,資源優(yōu)先滿足最先來(lái)的job。第一個(gè)job優(yōu)先獲取所有可用的資源,接下來(lái)第二個(gè)job再獲取剩余資源。以此類推,如果第一個(gè)job沒(méi)有占用所有的資源,那么第二個(gè)job還可以繼續(xù)獲取剩余資源,這樣多個(gè)job可以并行運(yùn)行,如果第一個(gè)job很大,占用所有資源,則第二job就需要等待,等到第一job釋放所有資源。3.YARN的三種調(diào)度方式FIFOScheduler:先進(jìn)先出器(先來(lái)后到的順序)。CapacityScheduler:容量調(diào)度器。FairScheduler:公平調(diào)度器。第8章1.回顧HDFS,說(shuō)明HDFS和HBase的關(guān)系。1)HBase管理的文件多存儲(chǔ)在HDFS上;2)二者均具有良好的擴(kuò)展性和容錯(cuò)性;2.說(shuō)明HDFS和HBase的區(qū)別。1)HDFS是一個(gè)分布式文件系統(tǒng),適合大量數(shù)據(jù)的批量處理,但不支持隨機(jī)查找和數(shù)據(jù)更新,不適合增量數(shù)據(jù)處理;2)HBase是建立在HDFS之上的數(shù)據(jù)庫(kù),支持?jǐn)?shù)據(jù)隨機(jī)查詢和讀寫(xiě),延遲低。第9章1.未被external修飾的是內(nèi)部表,被external修飾的為外部表。內(nèi)部表數(shù)據(jù)由Hive自身管理,外部表數(shù)據(jù)由HDFS管理。內(nèi)部表數(shù)據(jù)存儲(chǔ)的位置是hive.metastore.warehouse.dir(默認(rèn):/user/hive/warehouse),外部表數(shù)據(jù)的存儲(chǔ)位置由自己制定(如果沒(méi)有LOCATION,Hive將在HDFS上的/user/hive/warehouse文件夾下以外部表的表名創(chuàng)建一個(gè)文件夾,并將屬于這個(gè)表的數(shù)據(jù)存放在這里);刪除內(nèi)部表會(huì)直接刪除元數(shù)據(jù)(metadata)及存儲(chǔ)數(shù)據(jù);刪除外部表僅僅會(huì)刪除元數(shù)據(jù),HDFS上的文件并不會(huì)被刪除。2.Hive支持索引(3.0版本之前),但是Hive的索引與關(guān)系型數(shù)據(jù)庫(kù)中的索引并不相同。并且Hive索引提供的功能很有限,效率也并不高,因此Hive索引很少使用。索引適用的場(chǎng)景:適用于不更新的靜態(tài)字段。以免總是重建索引數(shù)據(jù)。每次建立、更新數(shù)據(jù)后,都要重建索引以構(gòu)建索引表。3.Orderby:會(huì)對(duì)輸入做全局排序,因此只有一個(gè)reducer(多個(gè)reducer無(wú)法保證全局有序)。只有一個(gè)reducer,會(huì)導(dǎo)致當(dāng)輸入規(guī)模較大時(shí),需要較長(zhǎng)的計(jì)算時(shí)間。Sortby:不是
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 長(zhǎng)春金融高等??茖W(xué)?!逗蜌馀璧爻练e學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 食品檢驗(yàn)取樣技術(shù)規(guī)程
- 保險(xiǎn)風(fēng)險(xiǎn)應(yīng)對(duì)策略模板
- IT部門年度工作報(bào)告模板
- 聲音科學(xué)詳解模板
- 生物技術(shù)基礎(chǔ)培訓(xùn)模板
- 問(wèn)卷調(diào)查報(bào)告格式
- 二零二五版商用鍋爐運(yùn)行安全保障合同范本3篇
- 統(tǒng)編版五年級(jí)語(yǔ)文上冊(cè)寒假作業(yè)(十)(有答案)
- 2024-2025學(xué)年天津市和平區(qū)高一上學(xué)期期末質(zhì)量調(diào)查數(shù)學(xué)試卷(含答案)
- 影視作品價(jià)值評(píng)估-洞察分析
- 公司員工出差車輛免責(zé)協(xié)議書(shū)
- 2023年浙江杭州師范大學(xué)附屬醫(yī)院招聘聘用人員筆試真題
- 江蘇某小區(qū)園林施工組織設(shè)計(jì)方案
- 藥店醫(yī)保政策宣傳與執(zhí)行制度
- 勘察工作質(zhì)量及保證措施
- 體外膜肺氧合(ECMO)并發(fā)癥及護(hù)理
- 充電樁巡查記錄表
- 心電圖并發(fā)癥預(yù)防及處理
- 疏散樓梯安全要求全解析
- 汽車擾流板產(chǎn)品原材料供應(yīng)與需求分析
評(píng)論
0/150
提交評(píng)論