版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章1.試述信息技術(shù)發(fā)展史上3次信息化浪潮及詳細(xì)內(nèi)容。信息化浪潮發(fā)生時(shí)間標(biāo)志處理問題代表企業(yè)第一次浪潮1980年前后個(gè)人計(jì)算機(jī)信息處理Intel、AMD、IBM、蘋果、微軟、聯(lián)想、戴爾、惠普等第二次浪潮1995年前后互聯(lián)網(wǎng)信息傳輸雅虎、谷歌、阿里巴巴、baidu、騰訊等第三次浪潮前后物理網(wǎng)、云計(jì)算和大數(shù)據(jù)信息爆炸將涌現(xiàn)出一批新市場(chǎng)標(biāo)桿企業(yè)試述數(shù)據(jù)產(chǎn)生方式經(jīng)歷幾個(gè)階段答:運(yùn)行式系統(tǒng)階段,用戶原創(chuàng)內(nèi)容階段,感知式系統(tǒng)階段。試述大數(shù)據(jù)4個(gè)基本特征答:數(shù)據(jù)量大、數(shù)據(jù)類型繁多、處理速度快和價(jià)值密度低。試述大數(shù)據(jù)時(shí)代“數(shù)據(jù)爆炸”特征答:大數(shù)據(jù)時(shí)代“數(shù)據(jù)爆炸”特征是,人類社會(huì)產(chǎn)生數(shù)據(jù)一致都以每年50%速度增加,也就是說,每?jī)赡暝黾右槐丁?shù)據(jù)研究經(jīng)歷了哪4個(gè)階段?答:人類自古以來在科學(xué)研究上先后歷經(jīng)了試驗(yàn)、理論、計(jì)算、和數(shù)據(jù)四種范式。試述大數(shù)據(jù)對(duì)思維方式主要影響答:大數(shù)據(jù)時(shí)代對(duì)思維方式主要影響是三種思維轉(zhuǎn)變:全樣而非抽樣,效率而非精準(zhǔn),相關(guān)而非因果。大數(shù)據(jù)決議與傳統(tǒng)基于數(shù)據(jù)倉庫決議有什么區(qū)分答:數(shù)據(jù)倉庫具備批量和周期性數(shù)據(jù)加載以及數(shù)據(jù)改變實(shí)時(shí)探測(cè)、傳輸和加載能力,能結(jié)合歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)實(shí)現(xiàn)查詢分析和自動(dòng)規(guī)則觸發(fā),從而提供對(duì)戰(zhàn)略決議和戰(zhàn)術(shù)決議。大數(shù)據(jù)決議能夠面向類型繁多、非結(jié)構(gòu)化海量數(shù)據(jù)進(jìn)行決議分析。舉例說明大數(shù)據(jù)基本應(yīng)用答:領(lǐng)域大數(shù)據(jù)應(yīng)用金融行業(yè)大數(shù)據(jù)在高頻交易、小區(qū)情緒分析和信貸風(fēng)險(xiǎn)分析三大金融創(chuàng)新領(lǐng)域發(fā)揮主要作用。汽車行業(yè)利用大數(shù)據(jù)和物聯(lián)網(wǎng)技術(shù)五人駕駛汽車,在不遠(yuǎn)未來將走進(jìn)我們?nèi)粘I罨ヂ?lián)網(wǎng)行業(yè)借助于大數(shù)據(jù)技術(shù),能夠分析客戶行為,進(jìn)行商品推薦和有針對(duì)性廣告投放個(gè)人生活大數(shù)據(jù)還能夠應(yīng)用于個(gè)人生活,利用與每個(gè)人相關(guān)聯(lián)“個(gè)人大數(shù)據(jù)”,分析個(gè)人生活行為習(xí)慣,為其提供愈加周全個(gè)性化服務(wù)。舉例說明大數(shù)據(jù)關(guān)鍵技術(shù)答:批處理計(jì)算,流計(jì)算,圖計(jì)算,查詢分析計(jì)算大數(shù)據(jù)產(chǎn)業(yè)包含哪些關(guān)鍵技術(shù)。答:IT基礎(chǔ)設(shè)施層、數(shù)據(jù)源層、數(shù)據(jù)管理層、數(shù)據(jù)分析層、數(shù)據(jù)平臺(tái)層、數(shù)據(jù)應(yīng)用層。定義并解釋以下術(shù)語:云計(jì)算、物聯(lián)網(wǎng)答:云計(jì)算:云計(jì)算就是實(shí)現(xiàn)了經(jīng)過網(wǎng)絡(luò)提供可伸縮、廉價(jià)分布式計(jì)算機(jī)能力,用戶只需要在具備網(wǎng)絡(luò)接入條件地方,就能夠隨時(shí)隨地取得所需各種IT資源。物聯(lián)網(wǎng)是物物相連互聯(lián)網(wǎng),是互聯(lián)網(wǎng)延伸,它利用局部網(wǎng)絡(luò)或互聯(lián)網(wǎng)等通信技術(shù)把傳感器、控制器、機(jī)器、人類和物等經(jīng)過新方式連在一起,形成人與物、物與物相連,實(shí)現(xiàn)信息化和遠(yuǎn)程管理控制。詳細(xì)闡述大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)三者之間區(qū)分與聯(lián)絡(luò)。大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)區(qū)分大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)聯(lián)絡(luò)大數(shù)據(jù)側(cè)重于海量數(shù)據(jù)存放、處理與分析,海量數(shù)據(jù)中發(fā)覺價(jià)值,服務(wù)于生產(chǎn)和生活;云計(jì)算本質(zhì)上皆在整合和優(yōu)化各種IT資源并經(jīng)過網(wǎng)絡(luò)已服務(wù)方法,廉價(jià)地提供給用戶;物聯(lián)網(wǎng)發(fā)展目標(biāo)是實(shí)現(xiàn)嗚嗚向量,應(yīng)用創(chuàng)新是物聯(lián)網(wǎng)關(guān)鍵從整體來看,大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)這三者是相輔相成。大數(shù)據(jù)根植于云計(jì)算,大數(shù)據(jù)分析很多技術(shù)都來自于云計(jì)算,云計(jì)算分布式存放和管理系統(tǒng)提供了海量數(shù)據(jù)存放和管理能力,沒有這些云計(jì)算技術(shù)作為支撐,大數(shù)據(jù)分析就無從談起。物聯(lián)網(wǎng)傳感器源源不停產(chǎn)生大量數(shù)據(jù),組成了大數(shù)據(jù)主要數(shù)據(jù)起源,物聯(lián)網(wǎng)需要借助于云計(jì)算和大數(shù)據(jù)技術(shù),實(shí)現(xiàn)物聯(lián)網(wǎng)大數(shù)據(jù)存放、分析和處理。第二章試述hadoop和谷歌mapreduce、gfs等技術(shù)之間關(guān)系答:Hadoop關(guān)鍵是分布式文件系統(tǒng)HDFS和MapReduce,HDFS是谷歌文件系統(tǒng)GFS開源實(shí)現(xiàn),MapReduces是針對(duì)谷歌MapReduce開源實(shí)現(xiàn)。試述Hadoop具備哪些特征。答:高可靠性,高效性,高可擴(kuò)展性,高容錯(cuò)性,成本低,運(yùn)行在Linux平臺(tái),支持多個(gè)編程語言試述Hadoop在各個(gè)領(lǐng)域應(yīng)用情況。答:,雅虎在Sunnyvale總部建立了M45——一個(gè)包含了4000個(gè)處理器和1.5PB容量Hadooop集群系統(tǒng);Facebook主要將Hadoop平臺(tái)用于日志處理,推薦系統(tǒng)和數(shù)據(jù)倉庫等方面;baidu主要使用Hadoop于日志存放和統(tǒng)計(jì)、網(wǎng)頁數(shù)據(jù)分析和挖掘、商業(yè)分析、在線數(shù)據(jù)反饋、網(wǎng)頁聚類等。試述Hadoop項(xiàng)目結(jié)構(gòu)以及每個(gè)部分詳細(xì)功效。答:PigChukwaHiveHBaseMapReduceHDFSZookeeperCommonAvroCommeon是為Hadoop其余子項(xiàng)目提供支持慣用工具,主要包含文件系統(tǒng)、RPC和串行化庫Avro是為Hadoop子項(xiàng)目,用于數(shù)據(jù)序列化系統(tǒng),提供了豐富數(shù)據(jù)結(jié)構(gòu)類型、快速可壓縮二進(jìn)制數(shù)據(jù)格式、存放連續(xù)性數(shù)據(jù)文件集、遠(yuǎn)程調(diào)用功效和簡(jiǎn)單動(dòng)態(tài)語言集成功效。HDFS是Hadoop項(xiàng)目標(biāo)兩個(gè)關(guān)鍵之一,它是針對(duì)谷歌文件系統(tǒng)開源實(shí)現(xiàn)。HBase是一個(gè)提升可靠性、高性能、可伸縮、實(shí)時(shí)讀寫、分布式列式數(shù)據(jù)庫,通常采取HDFS作為其底層數(shù)據(jù)存放。MapReduce是針對(duì)谷歌MapReduce開源實(shí)現(xiàn),用于大規(guī)模數(shù)據(jù)集并行運(yùn)算。Zoookepper是針對(duì)谷歌Chubby一個(gè)開源實(shí)現(xiàn),是高效和可靠協(xié)同工作系統(tǒng),提供分布式鎖之類基本服務(wù),用于構(gòu)建分布式應(yīng)用,減輕分布式應(yīng)用程序所負(fù)擔(dān)協(xié)調(diào)任務(wù)。Hive是一個(gè)基于Hadoop數(shù)據(jù)倉庫工具,能夠用于對(duì)Hadoop文件中數(shù)據(jù)集進(jìn)行數(shù)據(jù)整理、特殊查詢和分布存放。Pig是一個(gè)數(shù)據(jù)流語言和運(yùn)行環(huán)境,適合于使用Hadoop和MapReducce平臺(tái)上查詢大型半結(jié)構(gòu)化數(shù)據(jù)集。Sqoop能夠改進(jìn)數(shù)據(jù)互操作性,主要用來在H大哦哦哦配合關(guān)系數(shù)據(jù)庫之間交換數(shù)據(jù)。Chukwa是一個(gè)開源、用于監(jiān)控大型分布式系統(tǒng)數(shù)據(jù)搜集系統(tǒng),能夠?qū)⒏鞣N類型數(shù)據(jù)搜集成適合Hadoop處理文件,并保留在HDFS中供Hadoop進(jìn)行各種MapReduce操作。第三章試述分布式文件系統(tǒng)設(shè)計(jì)需求。設(shè)計(jì)需求含義HDFS實(shí)現(xiàn)情況透明性具備訪問透明性、位置透明性、性能、和伸縮透明性只能提供一定程度訪問透明性,完全支持位置透明性、性能和伸縮透明性并發(fā)控制客戶端對(duì)于文件讀寫不應(yīng)該影響其余客戶端對(duì)同一個(gè)文件讀寫機(jī)制非常簡(jiǎn)單,任何時(shí)候都只允許有一個(gè)程序?qū)懭肽硞€(gè)文件文件復(fù)制一個(gè)文件能夠擁有不一樣位置多個(gè)副本HDFS采取了多副本機(jī)制硬件和操作系統(tǒng)異構(gòu)性能夠在不一樣操作系統(tǒng)和計(jì)算機(jī)上實(shí)現(xiàn)一樣客戶端和服務(wù)端程序采取Java語言開發(fā),具備很好跨平臺(tái)能力可伸縮性支持節(jié)點(diǎn)動(dòng)態(tài)加入或退出建立在大規(guī)模廉價(jià)機(jī)器上分布式文件系統(tǒng)集群,具備很好伸縮性容錯(cuò)確保文件服務(wù)在客戶端或者服務(wù)端出現(xiàn)問題時(shí)候能正常使用具備多副本機(jī)制和故障自動(dòng)檢測(cè)、恢復(fù)機(jī)制安全確保系統(tǒng)安全性安全性較弱分布式文件系統(tǒng)是怎樣實(shí)現(xiàn)較高水平擴(kuò)展?分布式文件系統(tǒng)在物理結(jié)構(gòu)上是由計(jì)算機(jī)集群中多個(gè)節(jié)點(diǎn)組成,這些節(jié)點(diǎn)分為兩類,一類叫“主節(jié)點(diǎn)”(MasterNode)或者也被稱為“名稱結(jié)點(diǎn)”(NameNode),另一類叫“從節(jié)點(diǎn)”(SlaveNode)或者也被稱為“數(shù)據(jù)節(jié)點(diǎn)”(DataNode)試述HDFS中塊和普通文件系統(tǒng)中塊區(qū)分。答:在傳統(tǒng)文件系統(tǒng)中,為了提升磁盤讀寫效率,通常以數(shù)據(jù)塊為單位,惡如不是以字節(jié)為單位。HDFS中塊,默認(rèn)一個(gè)塊大小為64MB,而HDFS中文件會(huì)被拆分成多個(gè)塊,每個(gè)塊作為獨(dú)立單元進(jìn)行存放。HDFS在塊大小設(shè)計(jì)上顯著要大于普通文件系統(tǒng)。試述HDFS中名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)詳細(xì)功效。答:名稱節(jié)點(diǎn)負(fù)責(zé)管理分布式文件系統(tǒng)系統(tǒng)命名空間,統(tǒng)計(jì)分布式文件系統(tǒng)中每個(gè)文件中各個(gè)塊所在數(shù)據(jù)節(jié)點(diǎn)位置信息;數(shù)據(jù)節(jié)點(diǎn)是分布式文件系統(tǒng)HDFS工作節(jié)點(diǎn),負(fù)責(zé)數(shù)據(jù)存放和讀取,會(huì)依照客戶端或者是名稱節(jié)點(diǎn)調(diào)度來進(jìn)行數(shù)據(jù)存放和檢索,并向名稱節(jié)點(diǎn)定時(shí)發(fā)送自己所存放塊列表。hadoopfs-ls<path>顯示<path>指定文件詳細(xì)信息hadoopfs-cat<path>將<path>指定文件內(nèi)容輸出到標(biāo)準(zhǔn)輸出hadoopfs-mkdir<path>創(chuàng)建<path>指定文件夾hadoopfs-get[-ignorecrc][-crc]<src><localdst>復(fù)制<src>指定文件到當(dāng)?shù)匚募到y(tǒng)<localdst>指定文件或文件夾。-ignorecrc選項(xiàng)復(fù)制CRC校驗(yàn)失敗文件。使用-crc選項(xiàng)復(fù)制文件以及CRC信息。hadoopfs-put<localsrc><dst>從當(dāng)?shù)匚募到y(tǒng)中復(fù)制<localsrc>指定單個(gè)或多個(gè)源文件到<dst>指定目標(biāo)文件系統(tǒng)中。也支持從標(biāo)準(zhǔn)輸入(stdin)中讀取輸入寫入目標(biāo)文件系統(tǒng)。hadoopfs-rmr<path>刪除<path>指定文件夾及其全部文件第四章試述在Hadoop體系架構(gòu)中HBase與其余組成部分相互關(guān)系。答:HBase利用HadoopMapReduce來處理HBase中海量數(shù)據(jù),實(shí)現(xiàn)高性能計(jì)算;利用Zookeeper作為協(xié)同服務(wù),實(shí)現(xiàn)穩(wěn)定服務(wù)和失敗恢復(fù);使用HDFS作為高可靠底層存放,利用廉價(jià)集群提供海量數(shù)據(jù)存放能力;Sqoop為HBase底層數(shù)據(jù)導(dǎo)入功效,Pig和Hive為HBase提供了高層語言支持,HBase是BigTable開源實(shí)現(xiàn)。請(qǐng)闡述HBase和BigTable底層技術(shù)對(duì)應(yīng)關(guān)系答:項(xiàng)目BigTableHBase文件存放系統(tǒng)GFSHDFS海量數(shù)據(jù)處理MapReduceHadoopMapReduce協(xié)同服務(wù)管理ChubbyZookeeper請(qǐng)闡述HBase和傳統(tǒng)關(guān)系數(shù)據(jù)庫區(qū)分答:區(qū)分傳統(tǒng)關(guān)系數(shù)據(jù)庫HBase數(shù)據(jù)類型關(guān)系模型數(shù)據(jù)模型數(shù)據(jù)操作插入、刪除、更新、查詢、多表連接插入、查詢、刪除、清空,無法實(shí)現(xiàn)表與表之間關(guān)聯(lián)存放模式基于行模式存放,元組或行會(huì)被連續(xù)地存放在磁盤也中基于列存放,每個(gè)列族都由幾個(gè)文件保留,不一樣列族文件是分離數(shù)據(jù)索引針對(duì)不一樣列構(gòu)建復(fù)雜多個(gè)索引只有一個(gè)行鍵索引數(shù)據(jù)維護(hù)用最新當(dāng)前值去替換統(tǒng)計(jì)中原來舊值更新操作不會(huì)刪除數(shù)據(jù)舊版本,而是生成一個(gè)新版本可伸縮性極難實(shí)現(xiàn)橫向擴(kuò)展,縱向擴(kuò)展空間也比較有限輕易地經(jīng)過在集群中增加或者降低硬件數(shù)量來實(shí)現(xiàn)性能伸縮HBase有哪些類型訪問接口?答:HBase提供了NativeJavaAPI,HBaseShell,ThriftGateway,RESTGateWay,Pig,Hive等訪問接口。請(qǐng)以實(shí)例說明HBase數(shù)據(jù)模型。列限定符列族列限定符列族答:InfoNameMajorEmailLuoMinMathLiuJunMathXieYouMath行鍵單元格單元格有兩個(gè)時(shí)間戳ts1和ts2行鍵單元格單元格有兩個(gè)時(shí)間戳ts1和ts2每個(gè)時(shí)間戳對(duì)應(yīng)一個(gè)數(shù)據(jù)版本分別解釋HBase中行鍵、列鍵和時(shí)間戳概念行鍵是唯一,在一個(gè)表里只出現(xiàn)一次,不然就是在更新同一行,行鍵能夠是任意字節(jié)數(shù)組。列族需要在創(chuàng)建表時(shí)候就定義好,數(shù)量也不宜過多。列族名必須由可打印字符組成,創(chuàng)建表時(shí)候不需要定義好列。時(shí)間戳,默認(rèn)由系統(tǒng)指定,用戶也能夠顯示設(shè)置。使用不一樣時(shí)間戳來區(qū)分不一樣版本。請(qǐng)舉個(gè)實(shí)例來闡述HBase概念視圖和物理視圖不一樣HBase數(shù)據(jù)概念視圖行鍵時(shí)間戳列族contents列族anchor“n.www”T5Anchor:=”CNN”T3Anchor:my.look.ca=”CNN”“n.www”T3Content:html=”<html>...”T2Content:html=”<html>...”T1Content:html=”<html>...”HBase數(shù)據(jù)物理視圖行鍵時(shí)間戳列族anchor“n.www”T5Anchor:=”CNN”T4Anchor:my.look.ca=”CNN”行鍵時(shí)間戳列族contents“n.www”T3Content:html=”<html>...”T2Content:html=”<html>...”T1Content:html=”<html>...”在HBase概念視圖中,一個(gè)表能夠視為一個(gè)稀疏、多維映射關(guān)系。在物理視圖中,一個(gè)表會(huì)按照屬于同一列族數(shù)據(jù)保留在一起試述HBase各功效組建及其作用(1)庫函數(shù):鏈接到每個(gè)客戶端;(2)一個(gè)Master主服務(wù)器:主服務(wù)器Master主要負(fù)責(zé)表和Region管理工作;(3)許多個(gè)Region服務(wù)器:Region服務(wù)器是HBase中最關(guān)鍵模塊,負(fù)責(zé)維護(hù)分配給自己Region,并響應(yīng)用戶讀寫請(qǐng)求請(qǐng)闡述HBase數(shù)據(jù)分區(qū)機(jī)制。答:HBase采取分區(qū)存放,一個(gè)大表會(huì)被分拆許多個(gè)Region,這些Region會(huì)被分發(fā)到不一樣服務(wù)器上實(shí)現(xiàn)分布式存放。HBase中分區(qū)是怎樣定位。經(jīng)過構(gòu)建映射表每個(gè)條目包含兩項(xiàng)內(nèi)容,一個(gè)是Regionde標(biāo)識(shí)符,另一個(gè)是Region服務(wù)器標(biāo)識(shí),這個(gè)條目就標(biāo)識(shí)Region和Region服務(wù)器之間對(duì)應(yīng)關(guān)系,從而就能夠知道某個(gè)Region被保留在哪個(gè)Region服務(wù)器中。試述HBase三層結(jié)構(gòu)中各層次名稱和作用。層次名稱作用第一層Zookeeper文件統(tǒng)計(jì)了-ROOT-表位置信息第二層-ROOT-表統(tǒng)計(jì)了.META.表Region位置信息-ROOT-表只能有一個(gè)Region。經(jīng)過-ROOT-表,就能夠訪問.META.表中數(shù)據(jù)第三層.META.表統(tǒng)計(jì)了用戶數(shù)據(jù)表Region位置信息,.META.表能夠有多個(gè)Region,保留了HBase中全部用戶數(shù)據(jù)表Region位置信息請(qǐng)闡述HBase三層結(jié)構(gòu)下,客戶端是怎樣訪問到數(shù)據(jù)。答:首先訪問Zookeeper,獲取-ROOT表位置信息,然后訪問-Root-表,取得.MATA.表信息,接著訪問.MATA.表,找到所需Region詳細(xì)位于哪個(gè)Region服務(wù)器,最終才會(huì)到該Region服務(wù)器讀取數(shù)據(jù)。試述HBase系統(tǒng)基本架構(gòu)以及每個(gè)組成部分作用。(1)客戶端客戶端包含訪問HBase接口,同時(shí)在緩存中維護(hù)著已經(jīng)訪問過Region位置信息,用來加緊后續(xù)數(shù)據(jù)訪問過程(2)Zookeeper服務(wù)器Zookeeper能夠幫助選舉出一個(gè)Master作為集群總管,并確保在任何時(shí)刻總有唯一一個(gè)Master在運(yùn)行,這就防止了Master“單點(diǎn)失效”問題(3)Master主服務(wù)器Master主要負(fù)責(zé)表和Region管理工作:管理用戶對(duì)表增加、刪除、修改、查詢等操作;實(shí)現(xiàn)不一樣Region服務(wù)器之間負(fù)載均衡;在Region分裂或合并后,負(fù)責(zé)重新調(diào)整Region分布;對(duì)發(fā)生故障失效Region服務(wù)器上Region進(jìn)行遷移(4)Region服務(wù)器Region服務(wù)器是HBase中最關(guān)鍵模塊,負(fù)責(zé)維護(hù)分配給自己Region,并響應(yīng)用戶讀寫請(qǐng)求請(qǐng)闡述Region服務(wù)器向HDFS文件系統(tǒng)中讀寫數(shù)據(jù)基本原理Region服務(wù)器內(nèi)部管理一系列Region對(duì)象和一個(gè)HLog文件,其中,HLog是磁盤上面統(tǒng)計(jì)文件,它統(tǒng)計(jì)著全部更新操作。每個(gè)Region對(duì)象又是由多個(gè)Store組成,每個(gè)Store對(duì)象了表中一個(gè)列族存放。每個(gè)Store又包含了MemStore和若干個(gè)StoreFile,其中,MemStore是在內(nèi)存中緩存。試述HStore工作原理每個(gè)Store對(duì)應(yīng)了表中一個(gè)列族存放。每個(gè)Store包含一個(gè)MenStore緩存和若干個(gè)StoreFile文件。MenStore是排序內(nèi)存緩沖區(qū),當(dāng)用戶寫入數(shù)據(jù)時(shí),系統(tǒng)首先把數(shù)據(jù)放入MenStore緩存,當(dāng)MemStore緩存滿時(shí),就會(huì)刷新到磁盤中一個(gè)StoreFile文件中,當(dāng)單個(gè)StoreFile文件大小超出一定閾值時(shí),就會(huì)觸發(fā)文件分裂操作。試述HLog工作原理答:HBase系統(tǒng)為每個(gè)Region服務(wù)器配置了一個(gè)HLog文件,它是一個(gè)預(yù)寫式日志(WriteAheadLog),用戶更新數(shù)據(jù)必須首先寫入日志后,才能寫入MemStore緩存,而且,直到MemStore緩存內(nèi)容對(duì)應(yīng)日志已經(jīng)寫入磁盤,該緩存內(nèi)容才能被刷寫到磁盤。在HBase中,每個(gè)Region服務(wù)器維護(hù)一個(gè)HLog,而不是為每個(gè)Region都單獨(dú)維護(hù)一個(gè)HLog。請(qǐng)說明這種做法優(yōu)缺點(diǎn)。優(yōu)點(diǎn): 多個(gè)Region對(duì)象更新操作所發(fā)生日志修改,只需要不停把日志統(tǒng)計(jì)追加到單個(gè)日志文件中,不需要同時(shí)打開、寫入到多個(gè)日志文件中。缺點(diǎn):假如一個(gè)Region服務(wù)器發(fā)生故障,為了恢復(fù)其上次Region對(duì)象,需要將Region服務(wù)器上對(duì)象,需要將Region服務(wù)器上HLog按照其所屬Region對(duì)象進(jìn)行拆分,然后分發(fā)到其余Region服務(wù)器上執(zhí)行恢復(fù)操作。當(dāng)一臺(tái)Region服務(wù)器意外終止時(shí),Master怎樣發(fā)覺這種意外終止情況?為了恢復(fù)這臺(tái)發(fā)生意外Region服務(wù)器上Region,Master應(yīng)該做出哪些處理(包含怎樣使用HLog進(jìn)行恢復(fù))?Zookeeper會(huì)實(shí)時(shí)監(jiān)測(cè)每個(gè)Region服務(wù)器狀態(tài),當(dāng)某個(gè)Region服務(wù)器發(fā)生故障時(shí),Zookeeper會(huì)通知Master。Master首先會(huì)處理該故障Region服務(wù)器上面遺留HLog文件,這個(gè)遺留HLog文件中包含了來自多個(gè)Region對(duì)象日志統(tǒng)計(jì)。系統(tǒng)會(huì)依照每條日志統(tǒng)計(jì)所屬Region對(duì)象對(duì)HLog數(shù)據(jù)進(jìn)行拆分,分別放到對(duì)應(yīng)Region對(duì)象目錄下,然后,再將失效Region重新分配到可用Region服務(wù)器中,并把與該Region對(duì)象相關(guān)HLog日志統(tǒng)計(jì)也發(fā)送給對(duì)應(yīng)Region服務(wù)器。Region服務(wù)器領(lǐng)取到分配給自己Region對(duì)象以及與之相關(guān)HLog日志統(tǒng)計(jì)以后,會(huì)重新做一遍日志統(tǒng)計(jì)中各種操作,把日志統(tǒng)計(jì)中數(shù)據(jù)寫入到MemStore緩存中,然后,刷新到磁盤StoreFile文件中,完成數(shù)據(jù)恢復(fù)。第五章怎樣準(zhǔn)確了解NoSQL含義?NoSQL是一個(gè)不一樣于關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)方式,是對(duì)非關(guān)系型數(shù)據(jù)庫一類統(tǒng)稱,它采取數(shù)據(jù)模型并非傳統(tǒng)關(guān)系數(shù)據(jù)庫關(guān)系模型,而是類似鍵/值、列族、文檔等非關(guān)系模型。試述關(guān)系數(shù)據(jù)庫在哪些方面無法滿族Web2.0應(yīng)用需求。 關(guān)系數(shù)據(jù)庫已經(jīng)無法滿足Web2.0需求。主要表現(xiàn)在以下幾個(gè)方面:(1)無法滿足海量數(shù)據(jù)管理需求(2)無法滿足數(shù)據(jù)高并發(fā)需求(3)無法滿足高可擴(kuò)展性和高可用性需求請(qǐng)比較NoSQL數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫優(yōu)缺點(diǎn)。比較標(biāo)準(zhǔn)RDBMSNoSQL備注數(shù)據(jù)庫原理完全支持部分支持RDBMS關(guān)于系代數(shù)理論作為基礎(chǔ)NoSQL沒有統(tǒng)一理論基礎(chǔ)數(shù)據(jù)規(guī)模大超大RDBMS極難實(shí)現(xiàn)橫向擴(kuò)展,縱向擴(kuò)展空間也比較有限,性能會(huì)伴隨數(shù)據(jù)規(guī)模增大而降低NoSQL能夠很輕易經(jīng)過添加更多設(shè)備來支持更大規(guī)模數(shù)據(jù)數(shù)據(jù)庫模式固定靈活RDBMS需要定義數(shù)據(jù)庫模式,嚴(yán)格恪守?cái)?shù)據(jù)定義和相關(guān)約束條件NoSQL不存在數(shù)據(jù)庫模式,能夠自由靈活定義并存放各種不一樣類型數(shù)據(jù)查詢效率快能夠?qū)崿F(xiàn)高效簡(jiǎn)單查詢,不過不具備高度結(jié)構(gòu)化查詢等特征,復(fù)雜查詢性能不盡人意RDBMS借助于索引機(jī)制能夠?qū)崿F(xiàn)快速查詢(包含統(tǒng)計(jì)查詢和范圍查詢)很多NoSQL數(shù)據(jù)庫沒有面向復(fù)雜查詢索引,即使NoSQL能夠使用MapReduce來加速查詢,不過,在復(fù)雜查詢方面性能依然不如RDBMS一致性強(qiáng)一致性弱一致性RDBMS嚴(yán)格恪守事務(wù)ACID模型,能夠確保事務(wù)強(qiáng)一致性很多NoSQL數(shù)據(jù)庫放松了對(duì)事務(wù)ACID四性要求,而是恪守BASE模型,只能確保最終一致性數(shù)據(jù)完整性輕易實(shí)現(xiàn)極難實(shí)現(xiàn)任何一個(gè)RDBMS都能夠很輕易實(shí)現(xiàn)數(shù)據(jù)完整性,比如經(jīng)過主鍵或者非空約束來實(shí)現(xiàn)實(shí)體完整性,經(jīng)過主鍵、外鍵來實(shí)現(xiàn)參考完整性,經(jīng)過約束或者觸發(fā)器來實(shí)現(xiàn)用戶自定義完整性不過,在NoSQL數(shù)據(jù)庫卻無法實(shí)現(xiàn)擴(kuò)展性通常好RDBMS極難實(shí)現(xiàn)橫向擴(kuò)展,縱向擴(kuò)展空間也比較有限NoSQL在設(shè)計(jì)之初就充分考慮了橫向擴(kuò)展需求,能夠很輕易經(jīng)過添加廉價(jià)設(shè)備實(shí)現(xiàn)擴(kuò)展可用性好很好RDBMS在任何時(shí)候都以確保數(shù)據(jù)一致性為優(yōu)先目標(biāo),其次才是優(yōu)化系統(tǒng)性能,伴隨數(shù)據(jù)規(guī)模增大,RDBMS為了確保嚴(yán)格一致性,只能提供相對(duì)較弱可用性大多數(shù)NoSQL都能提供較高可用性標(biāo)準(zhǔn)化是否RDBMS已經(jīng)標(biāo)準(zhǔn)化(SQL)NoSQL還沒有行業(yè)標(biāo)準(zhǔn),不一樣NoSQL數(shù)據(jù)庫都有自己查詢語言,極難規(guī)范應(yīng)用程序接口StoneBraker認(rèn)為:NoSQL缺乏統(tǒng)一查詢語言,將會(huì)拖慢NoSQL發(fā)展技術(shù)支持高低RDBMS經(jīng)過幾十年發(fā)展,已經(jīng)非常成熟,Oracle等大型廠商都能夠提供很好技術(shù)支持NoSQL在技術(shù)支持方面依然處于起步階段,還不成熟,缺乏有力技術(shù)支持可維護(hù)性復(fù)雜復(fù)雜RDBMS需要專門數(shù)據(jù)庫管理員(DBA)維護(hù)NoSQL數(shù)據(jù)庫即使沒有DBMS復(fù)雜,也難以維護(hù)5.試述NoSQL數(shù)據(jù)庫四大類型答:鍵值數(shù)據(jù)庫、列族數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖數(shù)據(jù)庫6.試述鍵值數(shù)據(jù)庫、列族數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖數(shù)據(jù)庫適用場(chǎng)所和優(yōu)缺點(diǎn)。數(shù)據(jù)庫適用場(chǎng)所優(yōu)點(diǎn)缺點(diǎn)鍵值數(shù)據(jù)庫經(jīng)過鍵而是經(jīng)過值來查業(yè)務(wù)擴(kuò)展性好,靈活性好,大量寫操作時(shí)性能高無法存放結(jié)構(gòu)化信息,條件查詢效率較低列族數(shù)據(jù)庫不需要ACID事務(wù)支持情形查找速度快,可擴(kuò)展性強(qiáng),輕易進(jìn)行分布式擴(kuò)展,復(fù)雜性低功效較少,大都不支持強(qiáng)事務(wù)一致性文檔數(shù)據(jù)庫只在相同文檔上添加事務(wù)性能好(高并發(fā)),靈活性高,復(fù)雜性低,數(shù)據(jù)結(jié)構(gòu)靈活提供嵌入式文檔功效,將經(jīng)常查詢數(shù)據(jù)存放在同一個(gè)文檔中既能夠依照鍵來構(gòu)建索引,也能夠依照內(nèi)容構(gòu)建索引缺乏統(tǒng)一查詢語法圖形數(shù)據(jù)庫具備高度相互關(guān)聯(lián)關(guān)系數(shù)據(jù)靈活性高,支持復(fù)雜圖形算法,可用于構(gòu)建復(fù)雜關(guān)系圖譜復(fù)雜性高,只能支持一定數(shù)據(jù)規(guī)模7.試述CAP理論詳細(xì)含義。答:所謂CAP指是:C(Consistency):一致性,是指任何一個(gè)讀操作總是能夠讀到之前完成寫操作結(jié)果,也就是在分布式環(huán)境中,多點(diǎn)數(shù)據(jù)是一致,或者說,全部節(jié)點(diǎn)在同一時(shí)間具備相同數(shù)據(jù)A:(Availability):可用性,是指快速獲取數(shù)據(jù),能夠在確定時(shí)間內(nèi)返回操作結(jié)果,確保每個(gè)請(qǐng)求不論成功或者失敗都有響應(yīng);P(ToleranceofNetworkPartition):分區(qū)容忍性,是指當(dāng)出現(xiàn)網(wǎng)絡(luò)分區(qū)情況時(shí)(即系統(tǒng)中一部分節(jié)點(diǎn)無法和其余節(jié)點(diǎn)進(jìn)行通信),分離系統(tǒng)也能夠正常運(yùn)行,也就是說,系統(tǒng)中任意信息丟失或失敗不會(huì)影響系統(tǒng)繼續(xù)運(yùn)作。8.請(qǐng)舉例說明不一樣產(chǎn)品在設(shè)計(jì)時(shí)是怎樣利用CAP理論。9.試述數(shù)據(jù)庫ACID四性含義1.原子性(Atomicity)指事務(wù)必須是原子工作單元,對(duì)于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。2.一致性(consistency)指事務(wù)在完成時(shí),必須使全部數(shù)據(jù)都保持一致狀態(tài)。隔離性(Isolation)指并發(fā)事務(wù)所做修改必須與其余并發(fā)事務(wù)所做修改隔離。持久性(Durability)指事務(wù)完成之后,它對(duì)于系統(tǒng)影響是永久性,該修改即使出現(xiàn)致命系統(tǒng)故障也將一直保持。10.試述BASE詳細(xì)含義BASE基本含義是基本可用(BasicallyAvailble)、軟狀態(tài)(Soft-state)和最終一致性(Eventualconsistency)11.請(qǐng)解釋軟狀態(tài)、無狀態(tài)、硬狀態(tài)詳細(xì)含義?!败洜顟B(tài)(soft-state)”是與“硬狀態(tài)(hard-state)”相對(duì)應(yīng)一個(gè)提法。數(shù)據(jù)庫保留數(shù)據(jù)是“硬狀態(tài)”時(shí),能夠確保數(shù)據(jù)一致性,即確保數(shù)據(jù)一直是正確。“軟狀態(tài)”是指狀態(tài)能夠有一段時(shí)間不一樣時(shí),具備一定滯后性。12.什么是最終一致性?最終一致性依照更新數(shù)據(jù)后各進(jìn)程訪問到數(shù)據(jù)時(shí)間和方式不一樣,又能夠區(qū)分為:會(huì)話一致性:它把訪問存放系統(tǒng)進(jìn)程放到會(huì)話(session)上下文中,只要會(huì)話還存在,系統(tǒng)就確?!白x己之所寫”一致性。假如因?yàn)橐恍┦∏樾瘟顣?huì)話終止,就要建立新會(huì)話,而且系統(tǒng)確保不會(huì)延續(xù)到新會(huì)話;單調(diào)寫一致性:系統(tǒng)確保來自同一個(gè)進(jìn)程寫操作次序執(zhí)行。系統(tǒng)必須確保這種程度一致性,不然就非常難以編程了單調(diào)讀一致性:假如進(jìn)程已經(jīng)看到過數(shù)據(jù)對(duì)象某個(gè)值,那么任何后續(xù)訪問都不會(huì)返回在那個(gè)值之前值因果一致性:假如進(jìn)程A通知進(jìn)程B它已更新了一個(gè)數(shù)據(jù)項(xiàng),那么進(jìn)程B后續(xù)訪問將取得A寫入最新值。而與進(jìn)程A無因果關(guān)系進(jìn)程C訪問,依然恪守通常最終一致性規(guī)則“讀己之所寫”一致性:能夠視為因果一致性一個(gè)特例。當(dāng)進(jìn)程A自己執(zhí)行一個(gè)更新操作之后,它自己總是能夠訪問到更新過值,絕不會(huì)看到舊值試述不一致性窗口含義。全部后續(xù)訪問都能夠讀取到操作OP寫入最新值。從OP操作完成到后續(xù)訪問能夠最終讀取到OP寫入最新值,這之間時(shí)間間隔稱為“不一致性窗口”。14最終一致性依照更新數(shù)據(jù)后各進(jìn)程訪問到數(shù)據(jù)時(shí)間和方式不一樣,又能夠分為哪些不一樣類型一致性?會(huì)話一致性、單調(diào)寫一致性、單調(diào)寫一致性、因果一致性和“讀己之所寫”一致性。什么是NewSQL數(shù)據(jù)庫?NewSQL是對(duì)各種新可擴(kuò)展、高性能數(shù)據(jù)庫簡(jiǎn)稱,這類數(shù)據(jù)庫不但具備NoSQL對(duì)海量數(shù)據(jù)存放管理能力,還保持了傳統(tǒng)數(shù)據(jù)庫支持ACID和SQL特征。第六章1.試述云數(shù)據(jù)庫概念。答:云數(shù)據(jù)庫是布署和虛擬化在云計(jì)算環(huán)境中數(shù)據(jù)庫。云數(shù)據(jù)庫是在云計(jì)算大背景下發(fā)展起來一個(gè)新興共享基礎(chǔ)架構(gòu)方法,它極大地增強(qiáng)了數(shù)據(jù)庫存放能力,消除了人員、硬件、軟件重復(fù)配置,讓軟、硬件升級(jí)變得愈加輕易,同時(shí),也虛擬化了許多后端功效。云數(shù)據(jù)庫具備高可擴(kuò)展性、高可用性、采取多租形式和支持資源有效分發(fā)等特點(diǎn)。
2.與傳統(tǒng)軟件使用方式相比,云計(jì)算這種模式具備哪些顯著優(yōu)勢(shì)?3.云數(shù)據(jù)庫有哪些特征?答:1)動(dòng)態(tài)可擴(kuò)展 2)高可用性 3)較低使用代價(jià)4)易用性 5)高性能 6)免維護(hù) 7)安全4.試述云數(shù)據(jù)庫影響。答:
在大數(shù)據(jù)時(shí)代,每個(gè)企業(yè)幾乎天天都在不停產(chǎn)生大量數(shù)據(jù)。企業(yè)類型不一樣,對(duì)于存放需求也千差萬別,而云數(shù)據(jù)庫能夠很好地滿足不一樣企業(yè)個(gè)性化存放需求。
首先,云數(shù)據(jù)庫能夠滿足大企業(yè)海量數(shù)據(jù)存放需求。云數(shù)據(jù)庫在當(dāng)前數(shù)據(jù)爆炸大數(shù)據(jù)時(shí)代具備寬廣應(yīng)用前景。傳統(tǒng)關(guān)系數(shù)據(jù)庫難以水平擴(kuò)展,相本無法存放如此海量數(shù)據(jù)。所以,具備高可擴(kuò)展性云數(shù)據(jù)庫就成為企業(yè)海量數(shù)據(jù)存放管理很好選擇。
其次,云數(shù)據(jù)庫能夠滿足中小企業(yè)低成本數(shù)據(jù)存放需求。中小企業(yè)在IT
基礎(chǔ)設(shè)施方面投人比較有限,非??释麖牡谌椒奖恪⒖旖?、廉價(jià)地取得數(shù)據(jù)庫服務(wù)。云數(shù)據(jù)庫采取多租戶方式同時(shí)為多個(gè)用戶提供服務(wù),降低了單個(gè)用戶使用成本,而且用戶使用云數(shù)據(jù)庫服務(wù)通常按需付費(fèi),不會(huì)浪費(fèi)資源造成額外支出,所以,云數(shù)據(jù)庫使用成本很低,對(duì)于中小企業(yè)而言能夠大大降低企業(yè)信息化門檻,讓企業(yè)在付出較低成本同時(shí),取得優(yōu)質(zhì)專業(yè)級(jí)數(shù)據(jù)庫服務(wù),從而有效提升企業(yè)信息化水平。
另外,云數(shù)據(jù)庫能夠滿足企業(yè)動(dòng)態(tài)改變數(shù)據(jù)存放需求。企業(yè)在不一樣時(shí)期需要存放數(shù)據(jù)量是不停改變,有時(shí)增加,有時(shí)降低。在小規(guī)模應(yīng)用情況下,系統(tǒng)負(fù)載改變能夠由系統(tǒng)空閑多出資源來處理,不過,在大規(guī)模應(yīng)用情況下,傳統(tǒng)關(guān)系數(shù)據(jù)庫因?yàn)槠渖炜s性較差,不但無法滿足應(yīng)用需求,而且會(huì)給企業(yè)帶來高昂存放成本和管理開銷。而云數(shù)據(jù)庫良好伸縮性,能夠讓企業(yè)在需求增加時(shí)立刻取得數(shù)據(jù)庫能力提升,在需求降低時(shí)立刻釋放多出數(shù)據(jù)庫能力,很好地滿足企業(yè)動(dòng)態(tài)數(shù)據(jù)存放需求。
5.舉例說明云數(shù)據(jù)庫廠商及其代表性產(chǎn)品。答:云數(shù)據(jù)庫供給商主要分為三類。傳統(tǒng)數(shù)據(jù)庫廠商,如Teradata、Oracle、IBMDB2和MicrosoftSQL
Server等。涉足數(shù)據(jù)庫市場(chǎng)云供給商,如Amazon、谷歌.Yahoo!、阿里、baidu、騰訊等。新興廠商,如IVertica.LongJump
和EnterpriseDB等。7.試述UMP
系統(tǒng)功效。答:
UMP系統(tǒng)是構(gòu)建在一個(gè)大集群之上,經(jīng)過多個(gè)組件協(xié)同作業(yè),整個(gè)系統(tǒng)實(shí)現(xiàn)了對(duì)用戶透明容災(zāi)、讀寫分離、分庫分表、資源管理、資源調(diào)度、資源隔離和數(shù)據(jù)安全功效。
1.容災(zāi)
云數(shù)據(jù)庫必須向用戶提供一直可用數(shù)據(jù)庫連接,當(dāng)MySQL實(shí)例發(fā)生故障時(shí),系統(tǒng)必須自動(dòng)執(zhí)行故障恢復(fù),全部故障處理過程對(duì)于用戶而言是透明,用戶不會(huì)感知到后臺(tái)發(fā)生一切。
為了實(shí)現(xiàn)容災(zāi),UMP系統(tǒng)會(huì)為每個(gè)用戶創(chuàng)建兩個(gè)MySQL實(shí)例,一個(gè)是主庫,一個(gè)是從庫,而且,這兩個(gè)MySQL
實(shí)例之間相互把對(duì)方設(shè)置為備份機(jī),任意一個(gè)MySQL實(shí)例上面發(fā)生更新都會(huì)復(fù)制到對(duì)方。同時(shí),Proxy服務(wù)器能夠確保只向主庫寫人數(shù)據(jù)。
2.讀寫分離
因?yàn)槊總€(gè)用戶都有兩個(gè)MySQL實(shí)例,即主庫和從庫,所以,能夠充分利用主從庫實(shí)現(xiàn)用戶讀寫操作分離,實(shí)現(xiàn)負(fù)載均衡。UMP系統(tǒng)實(shí)現(xiàn)了對(duì)于用戶透明讀寫分離功效,當(dāng)整個(gè)功效被開啟時(shí),負(fù)責(zé)向用戶提供訪問MySQL數(shù)據(jù)庫服務(wù)Proxy
服務(wù)器,就會(huì)對(duì)用戶發(fā)起SQL
語句進(jìn)行解析,假如屬于寫操作,就直接發(fā)送到主庫,假如是讀操作,就會(huì)被均衡地發(fā)送到主庫和從庫上執(zhí)行。
3.分庫分表
UMP支持對(duì)用戶透明分庫分表(Shard/Horizontal
Partition)。不過,用戶在創(chuàng)建賬號(hào)時(shí)候需要指定類型為多實(shí)例,而且設(shè)置實(shí)例個(gè)數(shù),系統(tǒng)會(huì)依照用戶設(shè)置來創(chuàng)建多組MySQL實(shí)例。除此以外,用戶還需要自己設(shè)定分庫分表規(guī)則,如需要確定分區(qū)字段,也就是依照哪個(gè)字段進(jìn)行分庫分表,還要確定分區(qū)字段里值怎樣映射到不一樣MySQL
實(shí)例上。
4.資源管理
UMP系統(tǒng)采取資源池機(jī)制來管理數(shù)據(jù)庫服務(wù)器上CPU、內(nèi)存、磁盤等計(jì)算資源,全部計(jì)算資源都放在資源池內(nèi)進(jìn)行統(tǒng)一分配,資源池是為MySQL
實(shí)例分配資源基本單位。整個(gè)集群中全部服務(wù)器會(huì)依照其機(jī)型、所在機(jī)房等原因被劃分為多個(gè)資源池,每臺(tái)服務(wù)器會(huì)被加人到對(duì)應(yīng)資源池。在資源池劃分基礎(chǔ)上,UMP還在每臺(tái)服務(wù)器內(nèi)部采取Cgroup將資源深入地細(xì)化,從而能夠限制每個(gè)進(jìn)程組使用資源上限,同時(shí)確保進(jìn)程組之間相互隔離。
5.資源調(diào)度
UMP系統(tǒng)中有3種規(guī)格用戶,分別是數(shù)據(jù)量和流量比較小用戶、中等規(guī)模用戶以及需要分庫分表用戶。多個(gè)小規(guī)模用戶能夠共享同一個(gè)MySQL實(shí)例。對(duì)于中等規(guī)模用戶,每個(gè)用戶獨(dú)占個(gè)MySQL
實(shí)例。用戶能夠依照自己需求來調(diào)整內(nèi)存空間和磁盤空間,假如用戶需要更多資源,就能夠遷移到資源有空閑或者具備更高配置服務(wù)器上對(duì)于分庫分表用戶,會(huì)占有多個(gè)獨(dú)立MySQL
實(shí)例,這些實(shí)例既能夠共存在同一臺(tái)物理機(jī)上,也能夠每個(gè)實(shí)例獨(dú)占一臺(tái)物理機(jī)。
UMP經(jīng)過MySQL實(shí)例遷移來實(shí)現(xiàn)資源調(diào)度。借助于阿里集團(tuán)中間件團(tuán)體開發(fā)愚公系統(tǒng),UMP
能夠?qū)崿F(xiàn)在不停機(jī)情況下動(dòng)態(tài)擴(kuò)容、縮容和遷移。
6.資源隔離
當(dāng)多個(gè)用戶共享同一個(gè)MySQL
實(shí)例或者多個(gè)MySQL
實(shí)例共存在同一個(gè)物理機(jī)上時(shí),為了保護(hù)用戶應(yīng)用和數(shù)據(jù)安全,必須實(shí)現(xiàn)資源隔離,不然,某個(gè)用戶過多消耗系統(tǒng)資源會(huì)嚴(yán)重影響到其余用戶操作性能。7.數(shù)據(jù)安全
數(shù)據(jù)安全是讓用戶放心使用云數(shù)據(jù)庫產(chǎn)品關(guān)鍵,尤其是企業(yè)用戶,數(shù)據(jù)庫中存放了很多業(yè)務(wù)數(shù)據(jù),有些屬于商業(yè)機(jī)密,一旦泄露,會(huì)給企業(yè)造成損失。UMP
系統(tǒng)設(shè)計(jì)了多個(gè)機(jī)制來確保數(shù)據(jù)安全。SSL
數(shù)據(jù)庫連接。
數(shù)據(jù)訪問IP
白名單。統(tǒng)計(jì)用戶操作日志。
SQL攔截。
13.
UMP
系統(tǒng)是怎樣保障數(shù)據(jù)安全?答:SSL
數(shù)據(jù)庫連接。
SSL(SecureSocketsLayer)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性一個(gè)安全協(xié)議,它在傳輸層對(duì)網(wǎng)絡(luò)連接進(jìn)行加密。Proxy服務(wù)器實(shí)現(xiàn)了完整MySQL客戶端服務(wù)器協(xié)議,能夠與客戶端之間建立SSL數(shù)據(jù)庫連接。數(shù)據(jù)訪問IP
白名單。能夠把允許訪問云數(shù)據(jù)庫IP地址放入“白名單”,只有白名單內(nèi)IP地址才能訪問,其余IP地址訪問都會(huì)被拒絕,從而深入確保賬戶安全。統(tǒng)計(jì)用戶操作日志。
用戶全部操作統(tǒng)計(jì)都會(huì)被統(tǒng)計(jì)到日志分析服務(wù)器,經(jīng)過檢驗(yàn)用戶操作統(tǒng)計(jì),能夠發(fā)覺隱藏安全漏洞。SQL攔截。Proxy服務(wù)器能夠依照要求攔截多個(gè)類型SQL語句,比如全表掃描語句"select*”。15.
簡(jiǎn)述RDS
中實(shí)例與數(shù)據(jù)庫概念。答:
RDS實(shí)例或簡(jiǎn)稱“實(shí)例”,是用戶購置RDS服務(wù)基本單位。在實(shí)例中能夠創(chuàng)建多個(gè)數(shù)據(jù)庫,能夠使用常見數(shù)據(jù)庫客戶端連接、管理及使用數(shù)據(jù)庫。能夠經(jīng)過RDS管理控制臺(tái)或OPEN
API來創(chuàng)建、修改和刪除數(shù)據(jù)庫。各實(shí)例之間相互獨(dú)立、資源隔離,相互之間不存在CPU、內(nèi)存、IOPS等搶占問題。不過,同一實(shí)例中不一樣數(shù)據(jù)庫之間是資源共享。每個(gè)實(shí)例擁有其自己特征,如數(shù)據(jù)庫類型、版本等,系統(tǒng)有對(duì)應(yīng)參數(shù)來控制實(shí)例行為。用戶所購置RDS實(shí)例性能,取決于購置RDS實(shí)例時(shí)所選擇配置,可供用戶選擇硬件配置項(xiàng)為內(nèi)存和磁盤容量。 RDS數(shù)據(jù)庫或簡(jiǎn)稱“數(shù)據(jù)庫”,是用戶在一個(gè)實(shí)例下創(chuàng)建邏輯單元,一個(gè)實(shí)例能夠創(chuàng)建多個(gè)數(shù)據(jù)庫,在實(shí)例內(nèi)數(shù)據(jù)庫命名唯一,全部數(shù)據(jù)庫都會(huì)共享該實(shí)例下資源,如CPU、內(nèi)存、磁盤容量等。RDS不支持使用標(biāo)準(zhǔn)SQL
語句或客戶端工具創(chuàng)建數(shù)據(jù)庫,必須使用OPEN
API或RDS管理控制臺(tái)進(jìn)行操作。
16.
列舉連接RDS
for
MySQL
數(shù)據(jù)庫4
種方法。答:
方法1:
使用客戶端MySQL-Front訪問。使用客戶端MySQL-Front,在連接Host
框中輸人數(shù)據(jù)實(shí)例鏈接地址、端口(默認(rèn)3306)、數(shù)據(jù)庫用戶名和數(shù)據(jù)庫密碼后,單擊“確定”按鈕即可。
方法2:使用數(shù)據(jù)庫管理T
具Navicat
MySQL。Navicat_MySQL
是一套專為MySQL
設(shè)計(jì)強(qiáng)大數(shù)據(jù)庫管理及開發(fā)工具,能夠在連接輸人框中輸人數(shù)據(jù)實(shí)例地址、端口(默認(rèn)3306
)、數(shù)據(jù)庫用戶名和數(shù)據(jù)庫密碼后,單擊“確定”按鈕即可。
方法3:
使用MySQL
命令登錄。用戶安裝MySQL
客戶端后,可進(jìn)人命令行方式連接數(shù)據(jù)庫。命令格式以下。
mysql-u
user_name-h-P3306-pxxxx
其中,-u指定是用戶名,-h指定是主機(jī)名,-P指定是端口,-p指定是密碼。
方法4:
使用阿里云控制臺(tái)iDB
Cloud訪問。阿里云控制臺(tái)iDB
Cloud頁面如圖6-7
所表示,RDS
連接地址以及端口不需要再輸人,只需在“用戶名”中輸人數(shù)據(jù)庫賬號(hào),在“密碼”欄中輸人數(shù)據(jù)庫賬號(hào)密碼,便能夠登錄RDS進(jìn)行數(shù)據(jù)操作了。
第七章1.試述MapReduce和Hadoop關(guān)系。答:
谷歌企業(yè)最先提出了分布式并行編程模型MapReduce,HadoopMapReduce是它開源實(shí)現(xiàn)。谷歌MapReduce運(yùn)行在分布式文件系統(tǒng)GFS上,與谷歌類似,HadoopMapReduce運(yùn)行在分布式文件系統(tǒng)HDFS上。相對(duì)而言,HadoopMapReduce
要比谷歌MapReduce
使用門檻低很多,程序員即使沒有任何分布式程序開發(fā)經(jīng)驗(yàn),也能夠很輕松地開發(fā)出分布式程序并布署到計(jì)算機(jī)集群中。
2.MapReduce
是處理大數(shù)據(jù)有力工具,但不是每個(gè)任務(wù)都能夠使用MapReduce
來進(jìn)行處理。試述適適用MapReduce來處理任務(wù)或者數(shù)據(jù)集需滿足怎樣要求。答:
適適用MapReduce來處理數(shù)據(jù)集,需要滿足一個(gè)前提條件:
待處理數(shù)據(jù)集能夠分解成許多小數(shù)據(jù)集,而且每一個(gè)小數(shù)據(jù)集都能夠完全并行地進(jìn)行處理。
3.MapReduce模型采取Master(JobTracker)-Slave(TaskTracker)結(jié)構(gòu),試描述JobTracker和TasKTracker功效。
答:
MapReduce
框架采取了Master/Slave
架構(gòu),包含一個(gè)Master
和若干個(gè)Slave。Master
上運(yùn)行JobTracker,Slave
上運(yùn)行TaskTrackero
用戶提交每個(gè)計(jì)算作業(yè),會(huì)被劃分成若千個(gè)任務(wù)。JobTracker
負(fù)責(zé)作業(yè)和任務(wù)調(diào)度,監(jiān)控它們執(zhí)行,并重新調(diào)度已經(jīng)失敗任務(wù)。TaskTracker負(fù)責(zé)執(zhí)行由JobTracker指派任務(wù)。
6.試述MapReduce工作流程(需包含提交任務(wù)、Map、Shuffle、Reduce過程)。
9.MapReduce中有這么一個(gè)標(biāo)準(zhǔn):移動(dòng)計(jì)算比移動(dòng)數(shù)據(jù)更經(jīng)濟(jì)。試述什么是當(dāng)?shù)赜?jì)算,并分析為何要采取當(dāng)?shù)赜?jì)算。答:
MapReduce設(shè)計(jì)一個(gè)理念就是“計(jì)算向數(shù)據(jù)靠攏”,而不是“數(shù)據(jù)向計(jì)算靠攏”,因?yàn)橐苿?dòng)數(shù)據(jù)需要大量網(wǎng)絡(luò)傳輸開銷,尤其是在大規(guī)模數(shù)據(jù)環(huán)境下,這種開銷尤為驚人,所以,移動(dòng)計(jì)算要比移動(dòng)數(shù)據(jù)愈加經(jīng)濟(jì)。當(dāng)?shù)赜?jì)算:在一個(gè)集群中,只要有可能,MapReduce框架就會(huì)將Map程序就近地在HDFS數(shù)據(jù)所在節(jié)點(diǎn)運(yùn)行,即將計(jì)算節(jié)點(diǎn)和存放節(jié)點(diǎn)放在一起運(yùn)行,從而降低了節(jié)點(diǎn)間數(shù)據(jù)移動(dòng)開銷。
10.試說明一個(gè)MapReduce程序在運(yùn)行期間,所開啟Map任務(wù)數(shù)量和Reduce
任務(wù)數(shù)量各是由什么原因決定。
11.是否全部MapReduce程序都需要經(jīng)過Map和Reduce這兩個(gè)過程?假如不是,請(qǐng)舉例說明。
答:不是。對(duì)于關(guān)系選擇運(yùn)算,只需要Map過程就能實(shí)現(xiàn),對(duì)于關(guān)系R
中每個(gè)元組t,檢測(cè)是否是滿足條件所需元組,假如滿足條件,則輸出鍵值對(duì)<,>,也就是說,鍵和值都是t。這時(shí)Reduce函數(shù)就只是一個(gè)恒等式,對(duì)輸入不做任何變換就直接輸出。
12.試分析為何采取Combiner能夠降低數(shù)據(jù)傳輸量?是否全部MapReduce程序都能夠采取Combiner?為何?答:
對(duì)于每個(gè)分區(qū)內(nèi)全部鍵值對(duì),后臺(tái)線程會(huì)依照key
對(duì)它們進(jìn)行內(nèi)存排序(Sort
),排序是MapReduce
默認(rèn)操作。排序結(jié)束后,還包含一個(gè)可選合并(Combine
)操作。假如用戶事先沒有定義Combiner
函數(shù),就不用進(jìn)行合并操作。假如用戶事先定義了Combiner
函數(shù),則這個(gè)時(shí)候會(huì)執(zhí)行合并操作,從而降低需要溢寫到磁盤數(shù)據(jù)量。
所謂“合并”,是指將那些具備相同key
<key,value>value
加起來,比如,有兩個(gè)鍵值對(duì)<*xmu",1>和<*xmu",1>,經(jīng)過合并操作以后就能夠得到一個(gè)鍵值對(duì)<*xmu",2>,降低了鍵值正確數(shù)量。 不過,并非全部場(chǎng)所都能夠使用Combiner,因?yàn)?,Combiner輸出是Reduce任務(wù)輸人,Combiner絕不能改變Reduce任務(wù)最終計(jì)算結(jié)果,通常而言,累加、最大值等場(chǎng)景能夠使用合并操作。
13.MapReduce程序輸入文件、輸出文件都存放在HDFS中,而在Map任務(wù)完成時(shí)中間結(jié)果則存放在當(dāng)?shù)卮疟P中。試分析中間結(jié)果存放在當(dāng)?shù)卮疟P而不是HDFS上有何優(yōu)缺點(diǎn)。
答:
第八章試述在Hadoop推出之后其優(yōu)化與發(fā)展主要表現(xiàn)在哪兩個(gè)方面。答:Hadoop對(duì)MapReduce和GDFS許多方面做了有針對(duì)性改進(jìn)提升。試述HDFS1.0中只包含一個(gè)名稱節(jié)點(diǎn)會(huì)帶來哪些問題。答:HDFS1.0采取單點(diǎn)名稱節(jié)點(diǎn)設(shè)計(jì),不但會(huì)帶來單點(diǎn)故障問題,還存在可擴(kuò)展性、性能和隔離性等問題。在可擴(kuò)展性方面,名稱節(jié)點(diǎn)把整個(gè)HDFS文件系統(tǒng)中元數(shù)據(jù)信息都保留在自己內(nèi)存中,HDFS1.0中只有一個(gè)名稱節(jié)點(diǎn),不能夠水平擴(kuò)展,而單個(gè)名稱節(jié)點(diǎn)內(nèi)存空間是由上限,這限制了系統(tǒng)中數(shù)據(jù)塊、文件和目錄數(shù)目。在系統(tǒng)整體性能方面,整個(gè)HDFS文件系統(tǒng)性能會(huì)受限于單個(gè)名稱節(jié)點(diǎn)吞吐量。在隔離性方面,單個(gè)名稱節(jié)點(diǎn)難以提供不一樣程序之間隔離性,一個(gè)程序可能會(huì)影響會(huì)影響其余運(yùn)行程序。請(qǐng)描述HDFSHA架構(gòu)組成組建及其詳細(xì)功效。答:在一個(gè)經(jīng)典HA集群中,通常設(shè)置兩個(gè)名稱節(jié)點(diǎn),其中一個(gè)名稱節(jié)點(diǎn)處于“活躍”狀態(tài),另一個(gè)處于“待命”狀態(tài)。處于活躍狀態(tài)名稱節(jié)點(diǎn)負(fù)責(zé)對(duì)外處理全部客戶端請(qǐng)求,而處于待命狀態(tài)名稱節(jié)點(diǎn)則作為備用節(jié)點(diǎn),保留了足夠多系統(tǒng)元數(shù)據(jù),當(dāng)名稱節(jié)點(diǎn)出現(xiàn)故障時(shí)提供快速回復(fù)能力也就是說,在HDFSHA中,處于待命狀態(tài)名稱節(jié)點(diǎn)提供了“熱備份”,一旦活躍名稱節(jié)點(diǎn)出現(xiàn)故障,就能夠立刻切換到待命名稱節(jié)點(diǎn),不會(huì)影響到系統(tǒng)正常對(duì)外服務(wù)。請(qǐng)分析HDFSHA架構(gòu)中數(shù)據(jù)節(jié)點(diǎn)怎樣和名稱節(jié)點(diǎn)保持通信。答:在HDFS聯(lián)邦中,全部名稱節(jié)點(diǎn)會(huì)共享底層數(shù)據(jù)節(jié)點(diǎn)存放資源。每個(gè)數(shù)據(jù)節(jié)點(diǎn)要向集群中全部名稱節(jié)點(diǎn)注冊(cè),并周期性地向名稱節(jié)點(diǎn)發(fā)送“心跳”和塊信息,匯報(bào)自己狀態(tài),同時(shí)也會(huì)處理來自名稱節(jié)點(diǎn)指令。6、請(qǐng)描述HDFS聯(lián)邦中“塊池”概念,并分析為何HDFS聯(lián)邦中一個(gè)名稱節(jié)點(diǎn)失效,也不會(huì)影響到與它相關(guān)數(shù)據(jù)節(jié)點(diǎn)繼續(xù)為其余名稱節(jié)點(diǎn)提供服務(wù)。答:HDFS聯(lián)邦擁有多個(gè)獨(dú)立命名空間,其中,每一個(gè)命名空間管理屬于自己一組塊,這些屬于同一個(gè)命名空間塊組成一個(gè)“塊池”。每個(gè)數(shù)據(jù)節(jié)點(diǎn)會(huì)為多個(gè)塊池提供塊存放。能夠看出,數(shù)據(jù)節(jié)點(diǎn)是一個(gè)物理邏輯,而塊池則屬于邏輯概念,一個(gè)塊池是一組塊邏輯集合,塊池中各個(gè)塊實(shí)際上是存放在各個(gè)不一樣數(shù)據(jù)節(jié)點(diǎn)中。所以HDFS聯(lián)邦中一個(gè)名稱節(jié)點(diǎn)失效,也不會(huì)影響到與它相關(guān)數(shù)據(jù)節(jié)點(diǎn)繼續(xù)為其余名稱節(jié)點(diǎn)提供服務(wù)。請(qǐng)闡述MapReduce1.0體系結(jié)構(gòu)中存在問題。答:(1)存在單點(diǎn)故障;JobTracker“大包大攬”造成任務(wù)過重;輕易出現(xiàn)內(nèi)存溢出;資源劃分不合理。請(qǐng)描述YARN架構(gòu)中各組件功效。答:組件功效ResourceManager①處理客戶端請(qǐng)求②開啟/監(jiān)控ApplicationMaster③監(jiān)控NodeManager④資源分配與調(diào)度ApplicationMaster①為應(yīng)用程序申請(qǐng)資源,并分配給內(nèi)部任務(wù)②任務(wù)調(diào)度、監(jiān)控與容錯(cuò)NodeManager①單個(gè)節(jié)點(diǎn)上資源管理②處理來自ResourceManager命令③處理來自ApplicationMaster命令請(qǐng)描述在YARN框架中執(zhí)行一個(gè)MapReduce程序時(shí),從提交到完成需要經(jīng)歷詳細(xì)步驟。答:①用戶編寫客戶端應(yīng)用程序,向YARN提交應(yīng)用程序,提交內(nèi)容包含ApplicationMaster程序、開啟ApplicationMaster命令、用戶程序等。②YARN中ResourceManager負(fù)責(zé)接收和處理來自客戶端請(qǐng)求。接到客戶端應(yīng)用程序請(qǐng)求后,ResourceManager里面調(diào)度器會(huì)為應(yīng)用程序分配一個(gè)容器。同時(shí),ResourceManager應(yīng)用程序管理器會(huì)與該容器所在NodeManager通信,為該應(yīng)用程序在該容器中開啟一個(gè)ApplicationMaster③ApplicationMaster被創(chuàng)建后會(huì)首先向ResourceManager注冊(cè),從而使得用戶能夠經(jīng)過ResourceManager來直接查看應(yīng)用程序運(yùn)行狀態(tài)④ApplicationMaster采取輪詢方式經(jīng)過RPC協(xié)議向ResourceManager申請(qǐng)資源。⑤ResourceManager以“容器”形式向提出申請(qǐng)ApplicationMaster分配資源,一旦ApplicationMaster申請(qǐng)到資源后,就會(huì)與該容器所在NodeManager進(jìn)行通信,要求它開啟任務(wù)。⑥當(dāng)ApplicationMaster要求容器開啟任務(wù)時(shí),它會(huì)為任務(wù)設(shè)置好運(yùn)行環(huán)境(包含環(huán)境變量、JAR包、二進(jìn)制程序等),然后將任務(wù)開啟命令寫到一個(gè)腳本中,最終經(jīng)過在容器中運(yùn)行該腳原來開啟任務(wù)。⑦各個(gè)任務(wù)經(jīng)過某個(gè)RPC協(xié)議向ApplicationMaster匯報(bào)自己狀態(tài)和進(jìn)度,讓ApplicationMaster能夠隨時(shí)掌握各個(gè)任務(wù)運(yùn)行狀態(tài),從而能夠在任務(wù)失敗時(shí)重啟任務(wù)。⑧應(yīng)用程序運(yùn)行完成后,ApplicationMaster向ResourceManager應(yīng)用程序管理器注銷并關(guān)閉自己。若ApplicationMaster因故失敗,ResourceManager中應(yīng)用程序管理器會(huì)監(jiān)測(cè)到失敗情形,然后將其重新開啟,直到全部任務(wù)執(zhí)行完成。請(qǐng)對(duì)YARN和MapReduce1.0框架進(jìn)行優(yōu)劣勢(shì)對(duì)比分析。答:(1)大大降低了負(fù)擔(dān)中心服務(wù)功效ResourceManager資源消耗。MapReduce1.0中JobTracker需要同時(shí)負(fù)擔(dān)資源管理、任務(wù)調(diào)度和任務(wù)監(jiān)控等三大功效,而YARN中ResourceManager只需要負(fù)責(zé)資源管理,需要消耗大量資源任務(wù)調(diào)度和監(jiān)控重啟工作則交由ApplicationMaster來完成。因?yàn)槊總€(gè)作業(yè)都有與之關(guān)聯(lián)獨(dú)立ApplicationMaster,所以,系統(tǒng)中存在多個(gè)作業(yè)時(shí),就會(huì)同時(shí)存在多個(gè)ApplicationMaster,這就實(shí)現(xiàn)了監(jiān)控任務(wù)分布化,不再像MapReduce1.0那樣監(jiān)控任務(wù)只集中在一個(gè)JobTracker上。MapReduce1.0既是一個(gè)計(jì)算框架,又是一個(gè)資源管理調(diào)度框架,不過只能支持MapReduce編程模型。而YARN則是一個(gè)純粹資源調(diào)度管理框架,在它上面能夠運(yùn)行包含MapReduce在內(nèi)不一樣類型計(jì)算框架,默認(rèn)類型是MapReduce。因?yàn)?,YARN中ApplicationMaster是可變更,針對(duì)不一樣計(jì)算框架,用戶能夠采取任何編程語言自己編寫服務(wù)于該計(jì)算框架ApplicationMaster。比如,能夠編寫一個(gè)面向MapReduce計(jì)算框架ApplicationMaster,從而使得MapReduce計(jì)算框架能夠運(yùn)行在YARN框架之上。同理,還能夠編寫面向Spark、Storm等計(jì)算框架ApplicationMaster,從而使得Spark、Storm等計(jì)算框架也能夠運(yùn)行在YARN框架之上。YARN中資源管理比MapReduce1.0愈加高效。YARN采取容器為單位進(jìn)行資源管理和分配,而不是以槽為單位,防止了MapReduce1.0中槽閑置浪費(fèi)情況,大大提升了資源利用率。請(qǐng)分別描述Pig、Tez和Kafka功效。答:①Pig是Hadoop生態(tài)系統(tǒng)一個(gè)組件,提供了類似SQLPigLatin語言(包含F(xiàn)ilter、GroupBy、Join、OrderBy等操作,同時(shí)也支持用戶自定義函數(shù)),允許用戶經(jīng)過編寫簡(jiǎn)單腳原來實(shí)現(xiàn)復(fù)雜數(shù)據(jù)分析,而不需要編寫復(fù)雜MapReduce應(yīng)用程序,Pig會(huì)自動(dòng)把用戶編寫腳本轉(zhuǎn)換成MapReduce作業(yè)在Hadoop集群上運(yùn)行,而且具備對(duì)生成MapReduce程序進(jìn)行自動(dòng)優(yōu)化功效,所以用戶在編寫Pig程序時(shí)候,不需要關(guān)心程序運(yùn)行效率,這就大大降低了用戶編程時(shí)間。②Tez是Apache開源支持DAG作業(yè)計(jì)算框架,直接源于MapReduce框架,關(guān)鍵思想是將Map和Reduce兩個(gè)操作深入進(jìn)行拆分,即Map被拆分成Input、Processor、Sort、Merge和Output,Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,經(jīng)過分解后這些元操作能夠進(jìn)行自由任意組合產(chǎn)生新操作,經(jīng)過一些控制程序組裝后就可形成一個(gè)大DAG作業(yè)。經(jīng)過DAG作業(yè)方式運(yùn)行MapReduce作業(yè),提供了程序運(yùn)行整體處理邏輯,就能夠去除工作流當(dāng)中多出Map階段,降低無須要操作,提升數(shù)據(jù)處理性能。Hortonworks把Tez應(yīng)用到數(shù)據(jù)倉庫Hive優(yōu)化中,使得性能提升了約100倍。③Kafka是由LinkedIn企業(yè)開發(fā)一個(gè)高吞吐量分布式公布訂閱消息系統(tǒng),用戶經(jīng)過Kafka系統(tǒng)能夠公布大量消息,同時(shí)也能實(shí)時(shí)訂閱消費(fèi)消息。Kafka設(shè)計(jì)初衷是構(gòu)建一個(gè)能夠處理海量日志、用戶行為和網(wǎng)站運(yùn)行統(tǒng)計(jì)等數(shù)據(jù)處理框架。第九章Spark是基于內(nèi)存計(jì)算大數(shù)據(jù)計(jì)算平臺(tái),試述Spark主要特點(diǎn)。答:Spark具備以下4個(gè)主要特點(diǎn):①運(yùn)行速度快;②輕易使用;③通用性;④運(yùn)行模式多樣。Spark出現(xiàn)是為了處理HadoopMapReduce不足,試列舉HadoopMapReduce幾個(gè)缺點(diǎn),并說明Spark具備哪些優(yōu)點(diǎn)。答:(1)Hadoop存在以下缺點(diǎn):①表示能力有限;②磁盤IO開銷大;③延遲高Spark主要有以下優(yōu)點(diǎn):①Spark計(jì)算模式也屬于MapReduce,但不局限于Map和Reduce操作,還提供了多個(gè)數(shù)據(jù)集操作類型,編程模型比MapReduce更靈活;②Spark提供了內(nèi)存計(jì)算,中間結(jié)果直接存放內(nèi)存中,帶來更高迭代運(yùn)算效率;③Spark基于DAG任務(wù)調(diào)度執(zhí)行機(jī)制,要優(yōu)于MapReduce迭代執(zhí)行機(jī)制。美國加州大學(xué)伯克利分校提出數(shù)據(jù)分析軟件棧BDAS認(rèn)為現(xiàn)在大數(shù)據(jù)處理能夠分為哪三個(gè)類型?答:①復(fù)雜批量數(shù)據(jù)處理:時(shí)間跨度通常在數(shù)十分鐘到數(shù)小時(shí)之間;②基于歷史數(shù)據(jù)交互式查詢:時(shí)間跨度通常在數(shù)十秒到數(shù)分鐘之間;③基于實(shí)時(shí)數(shù)據(jù)流數(shù)據(jù)處理:時(shí)間跨度通常在數(shù)百毫秒到數(shù)秒之間。Spark已打造出結(jié)構(gòu)一體化,功效多樣化大數(shù)據(jù)生態(tài)系統(tǒng),試述Spark生態(tài)系統(tǒng)。答:Spark設(shè)計(jì)遵照“一個(gè)軟件棧滿足不一樣應(yīng)用場(chǎng)景”理念,逐步形成一套完整生態(tài)系統(tǒng),既能夠提供內(nèi)存計(jì)算框架,也能夠支持SQL即席查詢、實(shí)時(shí)流式計(jì)算、機(jī)器學(xué)習(xí)和圖計(jì)算等。Spark能夠布署在資源管理器YARN之上,提供一站式大數(shù)據(jù)處理方案。所以,Spark所提供生態(tài)系統(tǒng)同時(shí)支持批處理、交互式查詢和流數(shù)據(jù)處理。從Hadoop+Storm架構(gòu)轉(zhuǎn)向Spark架構(gòu)可帶來哪些好處?答:(1)實(shí)現(xiàn)一鍵式安裝和配置、線程級(jí)別任務(wù)監(jiān)控和告警;(2)降低硬件集群、軟件維護(hù)、任務(wù)監(jiān)控和應(yīng)用開發(fā)難度;便于做成統(tǒng)一硬件、計(jì)算平臺(tái)資源池。試述“SparkonYARN”概念。答:Spark能夠運(yùn)行與YARN之上,與Hadoop進(jìn)行統(tǒng)一布署,即“SparkonYARN”,其架構(gòu)如圖所表示,資源管理和調(diào)度以來YARN,分布式存放則以來HDFS。試述以下Spark幾個(gè)主要概念:RDD、DAG、階段、分區(qū)、窄依賴、寬依賴。答:①RDD:是彈性分布式數(shù)據(jù)集(ResilientDistributedDataset)英文縮寫,是分布式內(nèi)存一個(gè)抽象概念,提供了一個(gè)高度受限共享內(nèi)存模型。②DAG:是DirectedAcyclicGraph(有向無環(huán)圖)英文縮寫,反應(yīng)RDD之間依賴關(guān)系。③階段:是作業(yè)基本調(diào)度單位,一個(gè)作業(yè)會(huì)分為多組任務(wù),每組任務(wù)被稱為“階段”,或者也被稱為“任務(wù)集”。④分區(qū):一個(gè)RDD就是一個(gè)分布式對(duì)象集合,本質(zhì)上是一個(gè)只讀分區(qū)統(tǒng)計(jì)集合,每個(gè)RDD能夠分成多個(gè)分區(qū),每個(gè)分區(qū)就是一個(gè)數(shù)據(jù)集片段。⑤窄依賴:父RDD一個(gè)分區(qū)只被一個(gè)子RDD一個(gè)分區(qū)所使用就是窄依賴。⑥寬依賴:父RDD一個(gè)分區(qū)被一個(gè)子RDD多個(gè)分區(qū)所使用就是寬依賴。Spark對(duì)RDD操作主要分為行動(dòng)(Action)和轉(zhuǎn)換(Transformation)兩種類型,兩種類型操作區(qū)分是什么?答:行動(dòng)(Action):在數(shù)據(jù)集上進(jìn)行運(yùn)算,返回計(jì)算值。轉(zhuǎn)換(Transformation):基于現(xiàn)有數(shù)據(jù)集創(chuàng)建一個(gè)新數(shù)據(jù)集。第十章1試述流數(shù)據(jù)概念流數(shù)據(jù),即數(shù)據(jù)以大量、快速、時(shí)變流形式連續(xù)抵達(dá)2試述流數(shù)據(jù)特點(diǎn)流數(shù)據(jù)具備以下特征:數(shù)據(jù)快速連續(xù)抵達(dá),潛在大小可能是無窮無盡數(shù)據(jù)起源眾多,格式復(fù)雜數(shù)據(jù)量大,不過不十分關(guān)注存放,一旦經(jīng)過處理,要么被丟棄,要么被歸檔存放重視數(shù)據(jù)整體價(jià)值,不過分關(guān)注個(gè)別數(shù)據(jù)數(shù)據(jù)次序顛倒,或者不完整,系統(tǒng)無法控制將要處理新抵達(dá)數(shù)據(jù)元素次序4試述流計(jì)算需求對(duì)于一個(gè)流計(jì)算系統(tǒng)來說,它應(yīng)達(dá)成以下需求:高性能:處理大數(shù)據(jù)基本要求,如每秒處理幾十萬條數(shù)據(jù)海量式:支持TB級(jí)甚至是PB級(jí)數(shù)據(jù)規(guī)模實(shí)時(shí)性:確保較低延遲時(shí)間,達(dá)成秒級(jí)別,甚至是毫秒級(jí)別分布式:支持大數(shù)據(jù)基本架構(gòu),必須能夠平滑擴(kuò)展易用性:能夠快速進(jìn)行開發(fā)和布署可靠性:能可靠地處理流數(shù)據(jù)7列舉幾個(gè)常見流計(jì)算框架現(xiàn)在有三類常見流計(jì)算框架和平臺(tái):商業(yè)級(jí)流計(jì)算平臺(tái)、開源流計(jì)算框架、企業(yè)為支持本身業(yè)務(wù)開發(fā)流計(jì)算框架1商業(yè)級(jí):IBMInfoSphereStreams和IBMStreamBase2較為常見是開源流計(jì)算框架,代表以下:TwitterStorm:無償、開源分布式實(shí)時(shí)計(jì)算系統(tǒng),可簡(jiǎn)單、高效、可靠地處理大量流數(shù)據(jù)Yahoo!S4(SimpleScalableStreamingSystem):開源流計(jì)算平臺(tái),是通用、分布式、可擴(kuò)展、分區(qū)容錯(cuò)、可插拔流式系統(tǒng)3企業(yè)為支持本身業(yè)務(wù)開發(fā)流計(jì)算框架:FacebookPumaDstream(baidu)銀河流數(shù)據(jù)處理平臺(tái)(淘寶)8試述流計(jì)算通常處理流程流計(jì)算處理流程通常包含三個(gè)階段:數(shù)據(jù)實(shí)時(shí)采集、數(shù)據(jù)實(shí)時(shí)計(jì)算、實(shí)時(shí)查詢服務(wù)流計(jì)算處理流程示意圖20試列舉幾個(gè)Storm框架應(yīng)用領(lǐng)域Storm框架能夠方便地與數(shù)據(jù)庫系統(tǒng)進(jìn)行整合,從而開發(fā)出強(qiáng)大實(shí)時(shí)計(jì)算系統(tǒng)Storm可用于許多領(lǐng)域中,如實(shí)時(shí)分析、在線機(jī)器學(xué)習(xí)、連續(xù)計(jì)算、遠(yuǎn)程RPC、數(shù)據(jù)提取加載轉(zhuǎn)換等21Storm主要術(shù)語包含Streams,Spouts、Bolts、Topology和StreamGroupings,請(qǐng)分別簡(jiǎn)明描述這幾個(gè)術(shù)語Streams:Storm將流數(shù)據(jù)Stream描述成一個(gè)無限Tuple序列,這些Tuple序列會(huì)以分布式方式并行地創(chuàng)建和處理Storm框架能夠方便地與數(shù)據(jù)庫系統(tǒng)進(jìn)行整合,從而開發(fā)出強(qiáng)大實(shí)時(shí)計(jì)算系統(tǒng)Bolt:Storm將Streams狀態(tài)轉(zhuǎn)換過程抽象為Bolt。Bolt即能夠處理Tuple,也能夠?qū)⑻幚砗骉uple作為新Streams發(fā)送給其余BoltTopology:Storm將Spouts和Bolts組成網(wǎng)絡(luò)抽象成Topology,它能夠被提交到Storm集群執(zhí)行。Topology可視為流轉(zhuǎn)換圖,圖中節(jié)點(diǎn)是一個(gè)Spout或Bolt,邊則表示Bolt訂閱了哪個(gè)Stream。當(dāng)Spout或者Bolt發(fā)送元組時(shí),它會(huì)把元組發(fā)送到每個(gè)訂閱了該StreamBolt上進(jìn)行處理Topology:Storm將Spouts和Bolts組成網(wǎng)絡(luò)抽象成Topology,它能夠被提交到Storm集群執(zhí)行。Topology可視為流轉(zhuǎn)換圖,圖中節(jié)點(diǎn)是一個(gè)Spout或Bolt,邊則表示Bolt訂閱了哪個(gè)Stream。當(dāng)Spout或者Bolt發(fā)送元組時(shí),它會(huì)把元組發(fā)送到每個(gè)訂閱了該StreamBolt上進(jìn)行處理22一個(gè)Topolog由哪些組件組成?Topology里面每個(gè)處理組件(Spout或Bolt)都包含處理邏輯,而組件之間連接則表示數(shù)據(jù)流動(dòng)方向27Storm集群中Master節(jié)點(diǎn)和Work節(jié)點(diǎn)各自運(yùn)行什么后臺(tái)進(jìn)程?這些進(jìn)程又分別負(fù)責(zé)什么工作?Storm集群采取“Master—Worker”節(jié)點(diǎn)方式:Master節(jié)點(diǎn)運(yùn)行名為“Nimbus”后臺(tái)程序(類似Hadoop中“JobTracker”),負(fù)責(zé)在集群范圍內(nèi)分發(fā)代碼、為Worker分配任務(wù)和監(jiān)測(cè)故障Worker節(jié)點(diǎn)運(yùn)行名為“Supervisor”后臺(tái)程序,負(fù)責(zé)監(jiān)聽分配給它所在機(jī)器工作,即依照Nimbus分配任務(wù)來決定開啟或停頓Worker進(jìn)程,一個(gè)Worker節(jié)點(diǎn)上同時(shí)運(yùn)行若干個(gè)Worker進(jìn)程28試述Zookeeper在Storm框架中作用Storm使用Zookeeper來作為分布式協(xié)調(diào)組件,負(fù)責(zé)Nimbus和多個(gè)Supervisor之間全部協(xié)調(diào)工作。借助于Zookeeper,若Nimbus進(jìn)程或Supervisor進(jìn)程意外終止,重啟時(shí)也能讀取、恢復(fù)之前狀態(tài)并繼續(xù)工作,使得Storm極其穩(wěn)定31試述Storm框架工作流程Storm工作流程以下列圖所表示:全部Topology任務(wù)提交必須在Storm客戶端節(jié)點(diǎn)上進(jìn)行,提交后,由Nimbus節(jié)點(diǎn)分配給其余Supervisor節(jié)點(diǎn)進(jìn)行處理Nimbus節(jié)點(diǎn)首先將提交Topology進(jìn)行分片,分成一個(gè)個(gè)Task,分配給對(duì)應(yīng)Supervisor,并將Task和Supervisor相關(guān)信息提交到Zookeeper集群上Supervisor會(huì)去Zookeeper集群上認(rèn)領(lǐng)自己Task,通知自己Worker進(jìn)程進(jìn)行Task處理說明:在提交了一個(gè)Topology之后,Storm就會(huì)創(chuàng)建Spout/Bolt實(shí)例并進(jìn)行序列化。之后,將序列化組件發(fā)送給全部任務(wù)所在機(jī)器(即Supervisor節(jié)點(diǎn)),在每一個(gè)任務(wù)上反序列化組件第11章試述BSP模型中超步3個(gè)組件及詳細(xì)含義。答:①局部通信。每個(gè)參加處理器都有本身計(jì)算任務(wù),它們只讀取存放在當(dāng)?shù)貎?nèi)存中值,不一樣處理器計(jì)算任務(wù)都是異步而且獨(dú)立。②通信。處理器群相互交換數(shù)據(jù),交換形式是,由一方發(fā)起推送(Put)和獲?。℅et)操作③柵欄同時(shí)。當(dāng)一個(gè)處理器碰到“路障”(或柵欄),會(huì)等其余全部處理器完成它們計(jì)算步驟;每一次同時(shí)也是一個(gè)超步完成和下一個(gè)超步開始。Pregel為何選擇一個(gè)純消息傳遞模型?答:采取這種做法主要基于以下兩個(gè)原因。①消息傳遞具備足夠表示能力,沒有必要使用遠(yuǎn)程讀取或共享內(nèi)存方式。②有利于提升系統(tǒng)整體性能。大型圖計(jì)算通常是由一個(gè)集群完成,集群環(huán)境中執(zhí)行遠(yuǎn)程數(shù)據(jù)讀取會(huì)有較高時(shí)間延遲;Pregel消息模式采取異步和批量方式傳遞消息,所以能夠緩解遠(yuǎn)程讀取延遲。4、請(qǐng)簡(jiǎn)述Aggregator作用,并以詳細(xì)Aggregator作用,并以詳細(xì)Aggregator例子做說明。答:Aggregator提供了一個(gè)全局通信、監(jiān)控和數(shù)據(jù)查看機(jī)制。Aggregator聚合功效,允許在整型和字符串類型上執(zhí)行最大值、最小值、求和操作,比如能夠定義一個(gè)“Sum”Aggregator來統(tǒng)計(jì)每個(gè)頂點(diǎn)出射邊數(shù)量,最終相加能夠得到整個(gè)圖邊數(shù)量。Aggregator還能夠?qū)崿F(xiàn)全局協(xié)同功效,比如當(dāng)能夠設(shè)計(jì)“and”Aggregator來決定在某個(gè)超步中Compute()函數(shù)是否執(zhí)行一些邏輯分支,只有當(dāng)“and”Aggregator顯示全部頂點(diǎn)都滿足了某條件時(shí),才去執(zhí)行這些邏輯分支。簡(jiǎn)述Pregel執(zhí)行過程。答:(1)選擇集群中多臺(tái)機(jī)器執(zhí)行圖計(jì)算任務(wù),每臺(tái)機(jī)器上運(yùn)行用戶程序一個(gè)副本,其中,有一臺(tái)機(jī)器會(huì)被選為Master,其余機(jī)器作為Worker。(2)Master把一個(gè)圖分成多個(gè)分區(qū),并把分區(qū)分配到多個(gè)Worker。(3)Master會(huì)把用戶輸入劃分成多個(gè)部分,通常是基于文件邊界進(jìn)行劃分。(4)Master向每個(gè)Worker發(fā)送指令,Worker收到指令后,開始運(yùn)行一個(gè)超步。當(dāng)完成以后,Worker會(huì)通知Master,并把自己在下一個(gè)超步還處于“活躍”狀態(tài)頂點(diǎn)數(shù)量匯報(bào)給Master。上述步驟會(huì)被不停重復(fù),直到全部頂點(diǎn)都不再活躍而且系統(tǒng)中不會(huì)有任何消息在傳輸,這時(shí),執(zhí)行過程才會(huì)結(jié)束。(5)計(jì)算過程結(jié)束后,Master會(huì)給全部Worker發(fā)送指令,通知每個(gè)Worker對(duì)自己計(jì)算結(jié)果進(jìn)行持久化存放。8、試述Worker和Master作用。答:Worker作用:借助于名稱服務(wù)系統(tǒng)定位到Master位置,并向Master發(fā)送自己注冊(cè)信息,Master會(huì)為每個(gè)Worker分配一個(gè)唯一ID。在一個(gè)Worker中,它所管轄分區(qū)狀態(tài)信息被保留在內(nèi)存。在每個(gè)超步中,Worker會(huì)對(duì)自己所管轄分區(qū)中每個(gè)頂點(diǎn)進(jìn)行遍歷,并調(diào)用頂點(diǎn)上Compute()函數(shù)。Master作用:Pregel采取檢驗(yàn)點(diǎn)(CheckPoint)機(jī)制來實(shí)現(xiàn)容錯(cuò)。在每個(gè)超步開始,Master會(huì)通知全部Worker把自己管轄分區(qū)狀態(tài)寫入持久化存放設(shè)備。Master周期地ping每個(gè)Worker,Worker收到ping消息后向Master反饋消息。假如在指定時(shí)間間隔內(nèi)沒有收到某個(gè)Worker反饋,Master就會(huì)將它標(biāo)為“失效”,并開啟恢復(fù)模式。第12章試述數(shù)據(jù)可視化概念。答:數(shù)據(jù)可視化是指將大型數(shù)據(jù)集中數(shù)據(jù)以圖形圖像形式表示,并利用數(shù)據(jù)分析和開發(fā)工具發(fā)覺其中未知信息處理過程。數(shù)據(jù)可視化技術(shù)基本思想是將數(shù)據(jù)庫中每一個(gè)數(shù)據(jù)項(xiàng)作為單個(gè)圖元素表示,大量數(shù)據(jù)集組成數(shù)據(jù)圖像,同時(shí)將數(shù)據(jù)各個(gè)屬性值以多維數(shù)據(jù)形式表示,能夠從不一樣維度觀察數(shù)據(jù),從而對(duì)數(shù)據(jù)進(jìn)行更深入觀察和分析。試述數(shù)據(jù)可視化主要作用。答:①觀察、跟蹤數(shù)據(jù)。利用改變數(shù)據(jù)生成實(shí)時(shí)改變可視化圖表,能夠讓人們一眼看出各種參數(shù)動(dòng)態(tài)改變過程,有效跟蹤各種參數(shù)值。②分析數(shù)據(jù)。利用可視化技術(shù),實(shí)時(shí)展現(xiàn)當(dāng)前分析結(jié)果,引導(dǎo)用戶參加分析過程,依照用戶反饋信息執(zhí)行后續(xù)分析操作,完成用戶與分析算法全程交互,實(shí)現(xiàn)數(shù)據(jù)分析算法與用戶領(lǐng)域知識(shí)完美結(jié)合。③輔助了解數(shù)據(jù)。幫助普通用戶更加快、更準(zhǔn)確地了解數(shù)據(jù)背后定義。④增強(qiáng)數(shù)據(jù)吸引力。枯燥數(shù)據(jù)被制成具備強(qiáng)大視覺沖擊力和說服力圖像,能夠大大增強(qiáng)讀者閱讀興趣??梢暬ぞ咧饕男╊愋停扛髯源懋a(chǎn)品有哪些?答:主要包含入門級(jí)工具(Excel)、信息圖表工具(谷歌ChartAPI、D3、Visual.ly、Raphael、Flot、Tableau、大數(shù)據(jù)魔鏡)、地圖工具(ModestMaps、Leaflet、PolyMaps、OpenLayers、Kartography、谷歌FushionTables、QuanumGIS)、時(shí)間線工具(Ti
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度跨境電商貨物采購合同取消協(xié)議
- 二零二五年度豬場(chǎng)租賃及飼料供應(yīng)一體化合同
- 二零二五年度貨車司機(jī)勞動(dòng)合同及貨運(yùn)車輛油耗管理協(xié)議
- 2025年度物業(yè)服務(wù)合同關(guān)于物業(yè)服務(wù)企業(yè)變更的補(bǔ)充協(xié)議
- 二零二五年度農(nóng)藥殘留檢測(cè)技術(shù)服務(wù)合同3篇
- 二零二五版門窗行業(yè)品牌推廣與宣傳合同4篇
- 二零二五年度文化產(chǎn)業(yè)發(fā)展基金擔(dān)保貸款合同樣本3篇
- 二零二五年度建設(shè)工程施工合同擔(dān)保服務(wù)協(xié)議2篇
- 2025年離婚補(bǔ)充協(xié)議辦理及情感咨詢合同2篇
- 2025年度銅棒生產(chǎn)安全防護(hù)與應(yīng)急救援合同
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測(cè)試+英語+ 含答案
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)五 引發(fā)用戶共鳴外部條件的把控
- 工程造價(jià)專業(yè)職業(yè)能力分析
- 醫(yī)藥高等數(shù)學(xué)知到章節(jié)答案智慧樹2023年浙江中醫(yī)藥大學(xué)
- 沖渣池施工方案
- 人教版初中英語八年級(jí)下冊(cè) 單詞默寫表 漢譯英
- 學(xué)校網(wǎng)絡(luò)信息安全管理辦法
- 中國古代文學(xué)史 馬工程課件(下)21第九編晚清文學(xué) 緒論
- 2023年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招(語文)試題庫含答案解析
- 2205雙相不銹鋼的焊接工藝
- 2023年全國高中數(shù)學(xué)聯(lián)賽江西省預(yù)賽試題及答案
評(píng)論
0/150
提交評(píng)論