




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第一章試.述信息技術發(fā)展史上的3次信息化浪潮及具體內(nèi)容。信息化浪潮發(fā)生時間標志解決問題代表公司第一次浪潮年前后個人計算機信息處理t M B蘋果、微軟、聯(lián)想、戴爾、惠普等第二次浪潮年前后互聯(lián)網(wǎng)信息傳輸雅虎、谷歌、阿里巴巴、百度、騰訊等第三次浪潮年前后物理網(wǎng)、云計算和大數(shù)據(jù)信息爆炸將涌現(xiàn)出一批新的市場標桿企業(yè)2.試述數(shù)據(jù)產(chǎn)生方式經(jīng)歷的幾個階段答:運營式系統(tǒng)階段,用戶原創(chuàng)內(nèi)容階段,感知式系統(tǒng)階段。3.試述大數(shù)據(jù)的4個基本特征答:數(shù)據(jù)量大、數(shù)據(jù)類型繁多、處理速度快和價值密度低。4.試述大數(shù)據(jù)時代的“數(shù)據(jù)爆炸”的特性答:大數(shù)據(jù)時代的“數(shù)據(jù)爆炸”的特性是,人類社會產(chǎn)生的數(shù)據(jù)一致都以每年50的%速度增長,也就是說,每兩年增加一倍。數(shù)據(jù)研究經(jīng)歷了哪4個階段?答:人類自古以來在科學研究上先后歷經(jīng)了實驗、理論、計算、和數(shù)據(jù)四種范式。6.試述大數(shù)據(jù)對思維方式的重要影響答:大數(shù)據(jù)時代對思維方式的重要影響是三種思維的轉變:全樣而非抽樣,效率而非精確,相關而非因果。7.大數(shù)據(jù)決策與傳統(tǒng)的基于數(shù)據(jù)倉庫的決策有什么區(qū)別答:數(shù)據(jù)倉庫具備批量和周期性的數(shù)據(jù)加載以及數(shù)據(jù)變化的實時探測、傳播和加載能力,能結合歷史數(shù)據(jù)和實時數(shù)據(jù)實現(xiàn)查詢分析和自動規(guī)則觸發(fā),從而提供對戰(zhàn)略決策和戰(zhàn)術決策。大數(shù)據(jù)決策可以面向類型繁多的、非結構化的海量數(shù)據(jù)進行決策分析。舉例說明大數(shù)據(jù)的基本應用領域大數(shù)據(jù)的應用金融行業(yè)大數(shù)據(jù)在高頻交易、社區(qū)情緒分析和信貸風險分析三大金融創(chuàng)新領域發(fā)揮重要作用。汽車行業(yè)利用大數(shù)據(jù)和物聯(lián)網(wǎng)技術的五人駕駛汽車,在不遠的未來將走進我們的日常生活互聯(lián)網(wǎng)行業(yè)借助于大數(shù)據(jù)技術,可以分析客戶行為,進行商品推薦和有針對性廣告投放個人生活大數(shù)據(jù)還可以應用于個人生活,利用與每個人相關聯(lián)的“個人大數(shù)據(jù)”,分析個人生活行為習慣,為其提供更加周全的個性化服務。舉例說明大數(shù)據(jù)的關鍵技術答:批處理計算,流計算,圖計算,查詢分析計算10大.數(shù)據(jù)產(chǎn)業(yè)包含哪些關鍵技術。答: 基礎設施層、數(shù)據(jù)源層、數(shù)據(jù)管理層、數(shù)據(jù)分析層、數(shù)據(jù)平臺層、數(shù)據(jù)應用層。11定.義并解釋以下術語:云計算、物聯(lián)網(wǎng)答:云計算:云計算就是實現(xiàn)了通過網(wǎng)絡提供可伸縮的、廉價的分布式計算機能力,用戶只需要在具備網(wǎng)絡接入條件的地方,就可以隨時隨地獲得所需的各種資源。物聯(lián)網(wǎng)是物物相連的互聯(lián)網(wǎng),是互聯(lián)網(wǎng)的延伸,它利用局部網(wǎng)絡或互聯(lián)網(wǎng)等通信技術把傳感器、控制器、機器、人類和物等通過新的方式連在一起,形成人與物、物與物相連,實現(xiàn)信息化和遠程管理控制。詳.細闡述大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)三者之間的區(qū)別與聯(lián)系。大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)的區(qū)別大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)的聯(lián)系大數(shù)據(jù)側重于海量數(shù)據(jù)的存儲、處理與分析,海量數(shù)據(jù)中發(fā)現(xiàn)價值,服務于生產(chǎn)和生活;云計算本質上皆在整合和優(yōu)化各種資源并通過網(wǎng)絡已服務的方法,廉價地提供給用戶;物聯(lián)網(wǎng)的發(fā)展目標是實現(xiàn)嗚嗚向量,應用創(chuàng)新是物聯(lián)網(wǎng)的核心從整體來看,大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)這三者是相輔相成的。大數(shù)據(jù)根植于云計算,大數(shù)據(jù)分析的很多技術都來自于云計算,云計算的分布式存儲和管理系統(tǒng)提供了海量數(shù)據(jù)的存儲和管理能力,沒有這些云計算技術作為支撐,大數(shù)據(jù)分析就無從談起。物聯(lián)網(wǎng)的傳感器源源不斷的產(chǎn)生大量數(shù)據(jù),構成了大數(shù)據(jù)的重要數(shù)據(jù)來源,物聯(lián)網(wǎng)需要借助于云計算和大數(shù)據(jù)技術,實現(xiàn)物聯(lián)網(wǎng)大數(shù)據(jù)的存儲、分析和處理。第二章試述和谷歌的 、 等技術之間的關系答: 的核心是分布式文件系統(tǒng) 和 、 是谷歌文件系統(tǒng)的開源實現(xiàn), 是針對谷歌 的開源實現(xiàn)。試述 具有哪些特性。答:高可靠性,高效性,高可擴展性,高容錯性,成本低,運行在平臺,支持多種編程語言試述 在各個領域的應用情況。答:年,雅虎在 總部建立了一一一個包含了 個處理器和容量的 集群系統(tǒng);主要將 平臺用于日志處理,推薦系統(tǒng)和數(shù)據(jù)倉庫等方面;百度主要使用 于日志的存儲和統(tǒng)計、網(wǎng)頁數(shù)據(jù)的分析和挖掘、商業(yè)分析、在線數(shù)據(jù)反饋、網(wǎng)頁聚類等。試述 的項目結構以及每個部分的具體功能。
是為和串行化庫其他子項目提供支持的常用工具,主要包括文件系統(tǒng)、是為和串行化庫其他子項目提供支持的常用工具,主要包括文件系統(tǒng)、是為的子項目,用于數(shù)據(jù)序列化的系統(tǒng),提供了豐富的數(shù)據(jù)結構類是為型、快速可壓縮的二進制數(shù)據(jù)格式、存儲持續(xù)性數(shù)據(jù)的文件集、遠程調(diào)用的功能和簡單的動態(tài)語言集成功能。是 項目的兩個核心之一,它是針對谷歌文件系統(tǒng)的開源實現(xiàn)。是一個提高可靠性、高性能、可伸縮、實時讀寫、分布式的列式數(shù)據(jù)庫,一般采用 作為其底層數(shù)據(jù)存儲。是針對谷歌 的開源實現(xiàn),用于大規(guī)模數(shù)據(jù)集的并行運算。是針對谷歌的一個開源實現(xiàn),是高效和可靠的協(xié)同工作系統(tǒng),提供分布式鎖之類的基本服務,用于構建分布式應用,減輕分布式應用程序所承擔的協(xié)調(diào)任務。是一個基于 的數(shù)據(jù)倉庫工具,可以用于對 文件中的數(shù)據(jù)集進行數(shù)據(jù)整理、特殊查詢和分布存儲。是一種數(shù)據(jù)流語言和運行環(huán)境,適合于使用 和 平臺上查詢大型半結構化數(shù)據(jù)集。可以改進數(shù)據(jù)的互操作性,主要用來在大哦哦哦配合關系數(shù)據(jù)庫之間交
換數(shù)據(jù)。是一個開源的、用于監(jiān)控大型分布式系統(tǒng)的數(shù)據(jù)收集系統(tǒng),可以將各種類型的數(shù)據(jù)收集成適合處理的文件,并保存在中供進行各種操作。第三章.試述分布式文件系統(tǒng)設計的需求。設計需求含義的實現(xiàn)情況透明性具備訪問透明性、位置透明性、性能、和伸縮透明性只能提供一定程度的訪問透明性,完全支持位置透明性、性能和伸縮透明性并發(fā)控制客戶端對于文件的讀寫不應該影響其他客戶端對同一個文件的讀寫機制非常簡單,任何時候都只允許有一個程序寫入某個文件文件復制一個文件可以擁有不同位置的多個副本采用了多副本機制硬件和操作系統(tǒng)的異構性可以在不同的操作系統(tǒng)和計算機上實現(xiàn)同樣的客戶端和服務端程序采用 語言開發(fā),具有很好的跨平臺能力可伸縮性支持節(jié)點的動態(tài)加入或退出建立在大規(guī)模廉價機器上的分布式文件系統(tǒng)集群,具有很好的伸縮性
容錯保證文件服務在客戶端或者服務端出現(xiàn)問題的時候能正常使用具有多副本機制和故障自動檢測、恢復機制安全保證系統(tǒng)的安全性安全性較弱2分布式文件系統(tǒng)是如何實現(xiàn)較高水平擴展的?分布式文件系統(tǒng)在物理結構上是由計算機集群中的多個節(jié)點構成的節(jié)點分為兩類,一類叫“主節(jié)點” 或者也被稱為“名稱結點” ,另一類叫“從節(jié)點”l )或者也被稱為“數(shù)據(jù)節(jié)點”.試述 中的塊和普通文件系統(tǒng)中的塊的區(qū)別。答:在傳統(tǒng)的文件系統(tǒng)中,為了提高磁盤讀寫效率,一般以數(shù)據(jù)塊為單位,惡如不是以字節(jié)為單位。中的塊,默認一個塊大小為,而中的文件會被拆分成多個塊,每個塊作為獨立的單元進行存儲。 在塊的大小的設計上明顯要大于普通文件系統(tǒng)。.試述 中的名稱節(jié)點和數(shù)據(jù)節(jié)點的具體功能。答:名稱節(jié)點負責管理分布式文件系統(tǒng)系統(tǒng)的命名空間,記錄分布式文件系統(tǒng)中的每個文件中各個塊所在的數(shù)據(jù)節(jié)點的位置信息;數(shù)據(jù)節(jié)點是分布式文件系統(tǒng) 的工作節(jié)點,負責數(shù)據(jù)的存儲和讀取,會根據(jù)客戶端或者是名稱節(jié)點的調(diào)度來進行數(shù)據(jù)的存儲和檢索,并向名稱節(jié)點定期發(fā)送自己所存儲的塊的列表。顯示指定的文件的詳細信息
顯示指定的文件的詳細信息指定的文件的內(nèi)容輸出到標準輸出創(chuàng)建指定的文件夾到本地文件系統(tǒng)驗失敗的文件。使用指定的文件或文件夾。到本地文件系統(tǒng)驗失敗的文件。使用指定的文件或文件夾。選項復制文件以及 信息。復制指定的文件選項復制校從本地文件系統(tǒng)中復制 指定的單個或多個源文件到 指定的目標文件系統(tǒng)中。也支持從標準輸入 中讀取輸入寫入目標文件系統(tǒng)。刪除 指定的文件夾及其的所有文件第四章試述在 體系架構中 與其他組成部分的相互關系。答:利用 來處理 中的海量數(shù)據(jù),實現(xiàn)高性能計算;利用 作為協(xié)同服務,實現(xiàn)穩(wěn)定服務和失敗恢復;使用作為高可靠的底層存儲,利用廉價集群提供海量數(shù)據(jù)存儲能力 為的底層數(shù)據(jù)導入功能, 和為 提供了高層語言支持, 是的開源實現(xiàn)。
答:項目文件存儲系統(tǒng)海量數(shù)據(jù)處理協(xié)同服務管理.請闡述的底層技術的對應關系.請闡述和傳統(tǒng)關系數(shù)據(jù)庫的區(qū)別.請闡述的底層技術的對應關系.請闡述和傳統(tǒng)關系數(shù)據(jù)庫的區(qū)別答:區(qū)別傳統(tǒng)關系數(shù)據(jù)庫數(shù)據(jù)類型關系模型數(shù)據(jù)模型數(shù)據(jù)操作插入、刪除、更新、查詢、多表連接插入、查詢、刪除、清空,無法實現(xiàn)表與表之間關聯(lián)存儲模式基于行模式存儲,元組或行會被連續(xù)地存儲在磁盤也中基于列存儲,每個列族都由幾個文件保存,不同列族的文件是分離的數(shù)據(jù)索引針對不同列構建復雜的多個索引只有一個行鍵索引數(shù)據(jù)維護用最新的當前值去替換記錄中原來的舊值更新操作不會刪除數(shù)據(jù)舊的版本,而是生成一個新的版本可伸縮性很難實現(xiàn)橫向擴展,縱向擴展的空間也比較有限輕易地通過在集群中增加或者減少硬件數(shù)量來實現(xiàn)性能的伸縮有哪些類型的訪問接口?答:提供了
答:提供了等訪問接口。請以實例說明 數(shù)據(jù)模型。分別解釋 中行鍵、列鍵和時間戳的概念(1行)鍵是唯一的,在一個表里只出現(xiàn)一次,否則就是在更新同一行,行鍵可以是任意的字節(jié)數(shù)組。(2列)族需要在創(chuàng)建表的時候就定義好,數(shù)量也不宜過多。列族名必須由可打印字符組成,創(chuàng)建表的時候不需要定義好列。(3時)間戳,默認由系統(tǒng)指定,用戶也可以顯示設置。使用不同的時間戳來區(qū)分不同的版本。請舉個實例來闡述 的概念視圖和物理視圖的不同數(shù)據(jù)概念視圖行鍵時間戳列族列族“ ”
” ”” ”“ ”””””””數(shù)據(jù)物理視圖行鍵時間戳列族“ ”= "” ”行鍵時間戳列族“”””在 的概念視圖中,一個表可以視為一個稀疏、多維的映射關系。在物理視圖中,一個表會按照屬于同一列族的數(shù)據(jù)保存在一起
.試述各功能組建及其作用.試述各功能組建及其作用(1)庫函數(shù):鏈接到每個客戶端;()一個 主服務器:主服務器 主要負責表和 的管理工作;()許多個 服務器: 服務器是 中最核心的模塊,負責維護分配給自己的 ,并響應用戶的讀寫請求請闡述 的數(shù)據(jù)分區(qū)機制。答: 采用分區(qū)存儲,一個大的表會被分拆許多個 ,這些會被分發(fā)到不同的服務器上實現(xiàn)分布式存儲。中的分區(qū)是如何定位的。通過構建的映射表的每個條目包含兩項內(nèi)容,一個是標識符,另一個是服務器標識,這個條目就標識和服務器之間的對應關系,從而就可以知道某個被保存在哪個服務器中。試述 的三層結構中各層次的名稱和作用。層次名稱作用第一層文件記錄了 表的位置信息第二層表記錄了 表的 位置信息表只能有一個 。通過 表,就可以訪問 表中的數(shù)據(jù)第三層表記錄了用戶數(shù)據(jù)表的 位置信息, 表可以有多個,保存了 中所有用戶數(shù)據(jù)表的 位置信息請.闡述的三層結構下,客戶端是如何訪問到數(shù)據(jù)的。答:首先訪問 ,獲取表的位置信息,然后訪問表,獲得 表的信息,接著訪問 表,找到所需的 具體位于哪個服務器,最后才會到該 服務器讀取數(shù)據(jù)。試述 系統(tǒng)基本架構以及每個組成部分的作用。(1)客戶端客戶端包含訪問 的接口,同時在緩存中維護著已經(jīng)訪問過的位置信息,用來加快后續(xù)數(shù)據(jù)訪問過程() 服務器可以幫助選舉出一個 作為集群的總管,并保證在任何時刻總有唯一一個 在運行,這就避免了的“單點失效”問題(3)Master主服務器 主要負責表和 的管理工作:管理用戶對表的增加、刪除、修改、查詢等操作;實現(xiàn)不同 服務器之間的負載均衡;在分裂或合并后,負責重新調(diào)整 的分布;對發(fā)生故障失效的 服務器上的 進行遷移() 服務器服務器是 中最核心的模塊,負責維護分配給自己的 ,并響應用戶的讀寫請求請闡述 服務器向 文件系統(tǒng)中讀寫數(shù)據(jù)的基本原理服務器內(nèi)部管理一系列對象和一個文件,其中,是磁盤上面的記錄文件,它記錄著所有的更新操作。每個 對象又是由多個組成的,每個對象了表中的一個列族的存儲。每個又包含了和若干個 ,其中, 是在內(nèi)存中的緩存。試述 的工作原理每個 對應了表中的一個列族的存儲。每個 包括一個 緩存和若干個 文件。 是排序的內(nèi)存緩沖區(qū),當用戶寫入數(shù)據(jù)時,系統(tǒng)首先把數(shù)據(jù)放入緩存,當緩存滿時,就會刷新到磁盤中的一個文件中,當單個文件大小超過一定閾值時,就會觸發(fā)文件分裂操作。試述 的工作原理答: 系統(tǒng)為每個 服務器配置了一個 文件,它是一種預寫式日志( ),用戶更新數(shù)據(jù)必須首先寫入日志后,才能寫入緩存,并且,直到 緩存內(nèi)容對應的日志已經(jīng)寫入磁盤,該緩存內(nèi)容才能被刷寫到磁盤。在 中,每個 服務器維護一個 ,而不是為每個 都單獨維護一個。請說明這種做法的優(yōu)缺點。優(yōu)點:多個 對象的更新操作所發(fā)生的日志修改,只需要不斷把日志記錄追加到單個日志文件中,不需要同時打開、寫入到多個日志文件中。缺點:如果一個 服務器發(fā)生故障,為了恢復其上次的 對象,需要將 服務器上的對象,需要將 服務器上的 按照其所屬的對象進行拆分,然后分發(fā)到其他 服務器上執(zhí)行恢復操作。當一臺 服務器意外終止時, 如何發(fā)現(xiàn)這種意外終止情況?為了恢復這臺發(fā)生意外的 服務器上的 應該做出哪些處理包括如何使用進行恢復會實時監(jiān)測每個 服務器的狀態(tài),當某個 服務器發(fā)生故障時, 會通知 。首先會處理該故障 服務器上面遺留的 文件,這個遺留的文件中包含了來自多個 對象的日志記錄。系統(tǒng)會根據(jù)每條日志記錄所屬的對象對 數(shù)據(jù)進行拆分,分別放到相應對象的目錄下,然后,再將失效的重新分配到可用的服務器中,并把與該 對象相關的 日志記錄也發(fā)送給相應的服務器。服務器領取到分配給自己的 對象以及與之相關的 日志記錄以后,會重新做一遍日志記錄中的各種操作,把日志記錄中的數(shù)據(jù)寫入到緩存中,然后,刷新到磁盤的 文件中,完成數(shù)據(jù)恢復。第五章如何準確理解 的含義?是一種不同于關系數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)設計方式,是對非關系型數(shù)據(jù)庫的一類統(tǒng)稱,它采用的數(shù)據(jù)模型并非傳統(tǒng)關系數(shù)據(jù)庫的關系模型,而是類似鍵/值、列族、文檔等非關系模型。試述關系數(shù)據(jù)庫在哪些方面無法滿族 應用的需求。關系數(shù)據(jù)庫已經(jīng)無法滿足 的需求。主要表現(xiàn)在以下幾個方面:(1)無法滿足海量數(shù)據(jù)的管理需求(2)無法滿足數(shù)據(jù)高并發(fā)的需求(3)無法滿足高可擴展性和高可用性的需求請比較 數(shù)據(jù)庫和關系數(shù)據(jù)庫的優(yōu)缺點。比較標準備注數(shù)據(jù)庫原理完全支持部分支持有關系代數(shù)理論作為基礎沒有統(tǒng)一的理論基礎數(shù)據(jù)規(guī)模大超大很難實現(xiàn)橫向擴展,縱向擴展的空間也比較有限,性能
會隨著數(shù)據(jù)規(guī)模的增大而降低可以很容易通過添加更多設備來支持更大規(guī)模的數(shù)據(jù)數(shù)據(jù)庫模式固定靈活需要定義數(shù)據(jù)庫模式,嚴格遵守數(shù)據(jù)定義和相關約束條件不存在數(shù)據(jù)庫模式,可以自由靈活定義并存儲各種不同類型的數(shù)據(jù)查詢效率快可以實現(xiàn)高效的簡單查詢,但是不具備高度結構化查詢等特性,復雜查詢的性能不盡人意借助于索引機制可以實現(xiàn)快速查詢(包括記錄查詢和范圍查詢)很多數(shù)據(jù)庫沒有面向復雜查詢的索引,雖然可以使用來加速查詢,但是,在復雜查詢方面的性能仍然不如一致性強一致性弱一致性嚴格遵守事務模型,可以保證事務強一致性很多 數(shù)據(jù)庫放
松了對事務 四性的要求,而是遵守模型,只能保證最終一致性數(shù)據(jù)完整性容易實現(xiàn)很難實現(xiàn)任何一個都可以很容易實現(xiàn)數(shù)據(jù)完整性,比如通過主鍵或者非空約束來實現(xiàn)實體完整性,通過主鍵、外鍵來實現(xiàn)參照完整性,通過約束或者觸發(fā)器來實現(xiàn)用戶自定義完整性但是,在數(shù)據(jù)庫卻無法實現(xiàn)擴展性一般好很難實現(xiàn)橫向擴展,縱向擴展的空間也比較有限在設計之初就充分考慮了橫向擴展的需求,可以很容易通過添加廉價設備實現(xiàn)擴展可用性好很好在任何時候都以保證數(shù)據(jù)一致性為優(yōu)先目標,其次才是優(yōu)化系統(tǒng)性能,隨著數(shù)據(jù)規(guī)模的增大,為了保證嚴格
的一致性,只能提供相對較弱的可用性大多數(shù) 都能提供較高的可用性標準化是否已經(jīng)標準化()還沒有行業(yè)標準,不同的 數(shù)據(jù)庫都有自己的查詢語言,很難規(guī)范應用程序接口認為:缺乏統(tǒng)一查詢語言,將會拖慢發(fā)展技術支持高低經(jīng)過幾十年的發(fā)展,已經(jīng)非常成熟,等大型廠商都可以提供很好的技術支持在技術支持方面仍然處于起步階段,還不成熟,缺乏有力的技術支持可維護性復雜復雜需要專門的數(shù)據(jù)庫管理員維護數(shù)據(jù)庫雖然沒有 復雜,也難以
維護試述 數(shù)據(jù)庫的四大類型答:鍵值數(shù)據(jù)庫、列族數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖數(shù)據(jù)庫試試述鍵值數(shù)據(jù)庫、列族數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖數(shù)據(jù)庫的適用場合和優(yōu)缺點。數(shù)據(jù)庫適用場合優(yōu)點缺點鍵值數(shù)據(jù)庫通過鍵而是通過值來查的業(yè)務擴展性好,靈活性好,大量寫操作時性能高無法存儲結構化信息,條件查詢效率較低列族數(shù)據(jù)庫不需要 事務支持的情形查找速度快,可擴展性強,容易進行分布式擴展,復雜性低功能較少,大都不支持強事務一致性文檔數(shù)據(jù)庫只在相同的文檔上添加事務性能好(高并發(fā)),靈活性高,復雜性低,數(shù)據(jù)結構靈活提供嵌入式文檔功能,將經(jīng)常查詢的數(shù)據(jù)存儲在同一個文檔中既可以根據(jù)鍵來構建索引,也可以根據(jù)內(nèi)容構建索引缺乏統(tǒng)一的查詢語法圖形數(shù)據(jù)庫具有高度相互關聯(lián)關系的數(shù)據(jù)靈活性高,支持復雜的圖形算法,可用于構建復雜的關系圖譜復雜性高,只能支持一定的數(shù)據(jù)規(guī)模試述 理論的具體含義。答:所謂的指的是:()t一致性,是指任何一個讀操作總是能夠讀到之前完成的寫操作的結果,也就是在分布式環(huán)境中,多點的數(shù)據(jù)是一致的,或者說,所有節(jié)點在同一時間具有相同的數(shù)據(jù):):可用性,是指快速獲取數(shù)據(jù),可以在確定的時間內(nèi)返回操作結果,保證每個請求不管成功或者失敗都有響應;():分區(qū)容忍性,是指當出現(xiàn)網(wǎng)絡分區(qū)的情況時(即系統(tǒng)中的一部分節(jié)點無法和其他節(jié)點進行通信),分離的系統(tǒng)也能夠正常運行,也就是說,系統(tǒng)中任意信息的丟失或失敗不會影響系統(tǒng)的繼續(xù)運作。請舉例說明不同產(chǎn)品在設計時是如何運用 理論的。選擇。放棄試述數(shù)據(jù)庫的 四性的含義原子性(指事務必須是原子工作單元,對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。一致性( )指事務在完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)。隔離性(指并發(fā)事務所做的修改必須與其他并發(fā)事務所做的修改隔離。持久性(指事務完成之后,它對于系統(tǒng)的影響是永久性的,該修改即使出現(xiàn)致命的系統(tǒng)故障也將一直保持。試述 的具體含義的基本含義是基本可用( )、軟狀態(tài)( )和最終致性( )11請試解釋軟狀態(tài)、無狀態(tài)、硬狀態(tài)的具體含義。“軟狀態(tài)( )”是與“硬狀態(tài)( )”相對應的一種提法。數(shù)據(jù)庫保存的數(shù)據(jù)是“硬狀態(tài)”時,可以保證數(shù)據(jù)一致性,即保證數(shù)據(jù)一直是正確的?!败洜顟B(tài)”是指狀態(tài)可以有一段時間不同步,具有一定的滯后性。12什試么是最終一致性?最終一致性根據(jù)更新數(shù)據(jù)后各進程訪問到數(shù)據(jù)的時間和方式的不同,又可以區(qū)分為:()會話一致性:它把訪問存儲系統(tǒng)的進程放到會話( )的上下文中,只要會話還存在,系統(tǒng)就保證“讀己之所寫”一致性。如果由于某些失敗情形令會話終止,就要建立新的會話,而且系統(tǒng)保證不會延續(xù)到新的會話;(2)單調(diào)寫一致性:系統(tǒng)保證來自同一個進程的寫操作順序執(zhí)行。系統(tǒng)必須保證這種程度的一致性,否則就非常難以編程了(3)單調(diào)讀一致性:如果進程已經(jīng)看到過數(shù)據(jù)對象的某個值,那么任何后續(xù)訪問都不會返回在那個值之前的值()因果一致性:如果進程通知進程它已更新了一個數(shù)據(jù)項,那么進程的后續(xù)訪問將獲得寫入的最新值。而與進程無因果關系的進程的訪問,仍然遵守一般的最終一致性規(guī)則()“讀己之所寫”一致性:可以視為因果一致性的一個特例。當進程自己執(zhí)行一個更新操作之后,它自己總是可以訪問到更新過的值,絕不會看到舊值13試.述不一致性窗口的含義。所有后續(xù)的訪問都可以讀取到操作寫入的最新值。從操作完成到后續(xù)訪問可以最終讀取到寫入的最新值,這之間的時間間隔稱為“不一致性窗口”。14最終一致性根據(jù)更新數(shù)據(jù)后各進程訪問到數(shù)據(jù)的時間和方式的不同,又可以分為哪些不同類型的一致性?會話一致性、單調(diào)寫一致性、單調(diào)寫一致性、因果一致性和“讀己之所寫”一致性。什么是 數(shù)據(jù)庫?是對各種新的可擴展、高性能數(shù)據(jù)庫的簡稱,這類數(shù)據(jù)庫不僅具有 對海量數(shù)據(jù)的存儲管理能力,還保持了傳統(tǒng)數(shù)據(jù)庫支持 和特性。第六章
.試述云數(shù)據(jù)庫的概念。答:云數(shù)據(jù)庫是部署和虛擬化在云計算環(huán)境中的數(shù)據(jù)庫。云數(shù)據(jù)庫是在云計算的大背景下發(fā)展起來的一種新興的共享基礎架構的方法,它極大地增強了數(shù)據(jù)庫的存儲能力,消除了人員、硬件、軟件的重復配置,讓軟、硬件升級變得更加容易,同時,也虛擬化了許多后端功能。云數(shù)據(jù)庫具有高可擴展性、高可用性、采用多租形式和支持資源有效分發(fā)等特點。2.與傳統(tǒng)的軟件使用方式相比,云計算這種模式具有哪些明顯的優(yōu)勢?表6-1 恰統(tǒng)的軟件使用方式和云計算方式的比較項口傳統(tǒng)方式云計算方式求得軟件的方式自己投資建設機房.搭建腰件平臺,峋買軟件在本地安裝.直接購買云計算廠商的軟件服務使用方式本地安裝.本地使用軟件運行在云計拜廠商服務器上.用戶在任何與網(wǎng)絡接入的地方都可以通迎網(wǎng)絡使用軟件服務付費方式需要一次性:k付技大的初期投入成本,包括建設機房,配療硬件,購買各種軟件t操作系統(tǒng).柔毒,業(yè)務軟件等一零成本投入就可以i即獲得所需的it資%只需矍為所鎮(zhèn)用的費源付費,多用案付,少用少付.報K廉價維護成本需嚶自己花錢聘請專業(yè)技術人員維護寄成本,所有維護E作曲云汁克廠商負.獲得IT賢源的速度需霎耗費於長陸間建設機用.購買制安裝調(diào)試設品系統(tǒng)隨時可用.購黑眼務后立即可用共享方式自己建設.自給n足云計算廠商建設好云計算服若平?什后,同時為眾多用戶提供唳分維修速度出現(xiàn)輛毒,靠統(tǒng)助at等問題時,需要自己聘請LT人員維護,彼多普通企業(yè)的n人員技術能力有限,碰到一些問題甚至需要向找外援.通常不能立即解決出現(xiàn)任何系統(tǒng)問題時,云W算廠商都會憑借其專業(yè)化團隊給出及時響應,觸保云服務的正沿使用賈源利川率利用率技低,投入大量雕金建設的!T系統(tǒng)*往往只供企業(yè)自己使用,當企業(yè)不需要那么多IT資源時,就會產(chǎn)生賀源浪費利用率較高.除天都可以為大M用戶描鐵眼翁;當存在閑置陸源時,云計第管理第統(tǒng)會『I動關閉和退出多余貴源;當需亶增加贊源時,又強自動肩卿加入相關資源用戶搬遷時的成本當企業(yè)搬家時,原來的機房設施就暨作廢,需要在新地方重新投入較大成本建設機房企業(yè)無論搬遷到哪限.都可既通過網(wǎng)絡建新零成本立即獲穆云計算服務,因為,賢源在云端,不在用戶端,用戶搬遷不變影mit贊源的分布資源可拓展性企業(yè)自己建設的】于域礎諛魄的服務能力通常超有上限的,當企業(yè)業(yè)務必突然增加時.現(xiàn)有的IT聯(lián)礎咫施無法立即滿足需求,就需要花費時間和金錢購買和安裝新設備;當業(yè)先高峰過去時,多余的設冊就會闌置,選成資源浪救云計算廠商可以為企業(yè)提供近乎無限的IT資源(存儲和計留等費源J,用戶杷用多少都可以立即獲得.當用戶不使用時,只露退訂多余賢源.不存在任何貧源闈M網(wǎng)地.云數(shù)據(jù)庫有哪些特性答:1)動態(tài)可擴展 2高)可用性 3較)低的使用代價4)易用性 5)高性能6)免維護 7)安全.試述云數(shù)據(jù)庫的影響。
答:在大數(shù)據(jù)時代,每個企業(yè)幾乎每天都在不斷產(chǎn)生大量的數(shù)據(jù)。企業(yè)類型不同,對于存儲的需求也千差萬別,而云數(shù)據(jù)庫可以很好地滿足不同企業(yè)的個性化存儲需求。首先,云數(shù)據(jù)庫可以滿足大企業(yè)的海量數(shù)據(jù)存儲需求。云數(shù)據(jù)庫在當前數(shù)據(jù)爆炸的大數(shù)據(jù)時代具有廣闊的應用前景。傳統(tǒng)的關系數(shù)據(jù)庫難以水平擴展,相本無法存儲如此海量的數(shù)據(jù)。因此,具有高可擴展性的云數(shù)據(jù)庫就成為企業(yè)海量數(shù)據(jù)存儲管理的很好選擇。其次,云數(shù)據(jù)庫可以滿足中小企業(yè)的低成本數(shù)據(jù)存儲需求。中小企業(yè)在基礎設施方面的投人比較有限,非??释麖牡谌椒奖恪⒖旖?、廉價地獲得數(shù)據(jù)庫服務。云數(shù)據(jù)庫采用多租戶方式同時為多個用戶提供服務,降低了單個用戶的使用成本,而且用戶使用云數(shù)據(jù)庫服務通常按需付費,不會浪費資源造成額外支出,因此,云數(shù)據(jù)庫使用成本很低,對于中小企業(yè)而言可以大大降低企業(yè)的信息化門檻,讓企業(yè)在付出較低成本的同時,獲得優(yōu)質的專業(yè)級數(shù)據(jù)庫服務,從而有效提升企業(yè)信息化水平。另外,云數(shù)據(jù)庫可以滿足企業(yè)動態(tài)變化的數(shù)據(jù)存儲需求。企業(yè)在不同時期需要存儲的數(shù)據(jù)量是不斷變化的,有時增加,有時減少。在小規(guī)模應用的情況下,系統(tǒng)負載的變化可以由系統(tǒng)空閑的多余資源來處理,但是,在大規(guī)模應用的情況下,傳統(tǒng)的關系數(shù)據(jù)庫由于其伸縮性較差,不僅無法滿足應用需求,而且會給企業(yè)帶來高昂的存儲成本和管理開銷。而云數(shù)據(jù)庫的良好伸縮性,可以讓企業(yè)在需求增加時立即獲得數(shù)據(jù)庫能力的提升,在需求減少時立即釋放多余的數(shù)據(jù)庫能力,較好地滿足企業(yè)的動態(tài)數(shù)據(jù)存儲需求。5.舉例說明云數(shù)據(jù)庫廠商及其代表性產(chǎn)品。答:云數(shù)據(jù)庫供應商主要分為三類。等。涉足數(shù)據(jù)庫市場的云供應商,如、阿里、百度、騰訊等。傳統(tǒng)的數(shù)據(jù)庫廠商,如 、、和等。涉足數(shù)據(jù)庫市場的云供應商,如、阿里、百度、騰訊等。等。新興廠商,如等。表&3 云數(shù)據(jù)盛產(chǎn)品企業(yè)出口f[111AmazonDynamokSimpkDB,RDSGoogleGoogleCloudSQLMicrowftMtcnjEoHSQLA/urcOracleOncleCloudYahoo!PNUTSVertic^AnalyticDamhasu torsheCEoudEnerpnsyDBPosturesPlusintheCloud阿里阿里云RDS百度百度云數(shù)據(jù)庫網(wǎng)訊婚訊云數(shù)據(jù)庫試述系統(tǒng)的功能。系統(tǒng)是構建在一個大的集群之上的,通過多個組件的協(xié)同作業(yè),整個系統(tǒng)實現(xiàn)了對用戶透明的容災、讀寫分離、分庫分表、資源管理、資源調(diào)度、資源隔離和數(shù)據(jù)安全功能。1試容災云數(shù)據(jù)庫必須向用戶提供一直可用的數(shù)據(jù)庫連接,當 實例發(fā)生故障時,系統(tǒng)必須自動執(zhí)行故障恢復,所有故障處理過程對于用戶而言是透明的,用戶不會感知到后臺發(fā)生的一切。為了實現(xiàn)容災,系統(tǒng)會為每個用戶創(chuàng)建兩個實例,一個是主庫,一個是從庫,而且,這兩個 實例之間互相把對方設置為備份機,任意一個 實例上面發(fā)生的更新都會復制到對方。同時, 服務器可以保證只向主庫寫人數(shù)據(jù)。2試讀寫分離由于每個用戶都有兩個實例,即主庫和從庫,因此,可以充分利用主從庫實現(xiàn)用戶讀寫操作的分離,實現(xiàn)負載均衡。系統(tǒng)實現(xiàn)了對于用戶透明的讀寫分離功能,當整個功能被開啟時,負責向用戶提供訪問 數(shù)據(jù)庫服務的 服務器,就會對用戶發(fā)起的語句進行解析,如果屬于寫操作就直接發(fā)送到主庫,如果是讀操作,就會被均衡地發(fā)送到主庫和從庫上執(zhí)行。3試分庫分表支持對用戶透明的分庫分表 。但是,用戶在創(chuàng)建賬號的時候需要指定類型為多實例,并且設置實例的個數(shù),系統(tǒng)會根據(jù)用戶設置來創(chuàng)建多組實例。除此以外,用戶還需要自己設定分庫分表規(guī)則,如需要確定分區(qū)字段,也就是根據(jù)哪個字段進行分庫分表,還要確定分區(qū)字段里的值如何映射到不同的 實例上。4.資源管理系統(tǒng)采用資源池機制來管理數(shù)據(jù)庫服務器上的、內(nèi)存、磁盤等計算資源,所有的計算資源都放在資源池內(nèi)進行統(tǒng)一分配,資源池是為 實例分配資源的基本單位。整個集群中的所有服務器會根據(jù)其機型、所在機房等因素被劃分為多個資源池,每臺服務器會被加人到相應的資源池。在資源池劃分的基礎上,還在每臺服務器內(nèi)部采用 將資源進一步地細化,從而可以限制每個進程組使用資源的上限,同時保證進程組之間相互隔離。.資源調(diào)度系統(tǒng)中有種規(guī)格的用戶,分別是數(shù)據(jù)量和流量比較小的用戶、中等規(guī)模用戶以及需要分庫分表的用戶。多個小規(guī)模用戶可以共享同一個實例。對于中等規(guī)模的用戶,每個用戶獨占個 實例。用戶可以根據(jù)自己的需求來調(diào)整內(nèi)存空間和磁盤空間,如果用戶需要更多的資源,就可以遷移到資源有空閑或者具有更高配置的服務器上對于分庫分表的用戶,會占有多個獨立的 實例,這些實例既可以共存在同一臺物理機上,也可以每個實例獨占一臺物理機。通過 實例的遷移來實現(xiàn)資源調(diào)度。借助于阿里集團中間件團隊開發(fā)的愚公系統(tǒng),可以實現(xiàn)在不停機的情況下動態(tài)擴容、縮容和遷移。.資源隔離當多個用戶共享同一個 實例或者多個 實例共存在同一個物理機上時,為了保護用戶應用和數(shù)據(jù)的安全,必須實現(xiàn)資源隔離,否則,某個用戶過多消耗系統(tǒng)資源會嚴重影響到其他用戶的操作性能。.數(shù)據(jù)安全數(shù)據(jù)安全是讓用戶放心使用云數(shù)據(jù)庫產(chǎn)品的關鍵,尤其是企業(yè)用戶,數(shù)據(jù)庫中存放了很多業(yè)務數(shù)據(jù),有些屬于商業(yè)機密,一旦泄露,會給企業(yè)造成損失。系統(tǒng)設計了多種機制來保證數(shù)據(jù)安全。數(shù)據(jù)庫連接。數(shù)據(jù)訪問 白名單。3)記錄用戶操作日志。攔截。、系統(tǒng)是如何保障數(shù)據(jù)安全的
答:答:數(shù)據(jù)庫連接。 是為網(wǎng)絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,它在傳輸層對網(wǎng)絡連接進行加密。 服務器實現(xiàn)了完整的客戶端服務器協(xié)議,可以與客戶端之間建立 數(shù)據(jù)庫連接。數(shù)據(jù)訪問白名單??梢园言试S訪問云數(shù)據(jù)庫的地址放入“白名單”,只有白名單內(nèi)的地址才能訪問,其他地址的訪問都會被拒絕,從而進一步保證賬戶安全。記錄用戶操作日志。用戶的所有操作記錄都會被記錄到日志分析服務器,通過檢查用戶操作記錄,可以發(fā)現(xiàn)隱藏的安全漏洞。攔截。 服務器可以根據(jù)要求攔截多種類型的 語句,比如全表掃描語句簡述 中實例與數(shù)據(jù)庫的概念。答: 實例或簡稱“實例”,是用戶購買 服務的基本單位。在實例中可以創(chuàng)建多個數(shù)據(jù)庫,可以使用常見的數(shù)據(jù)庫客戶端連接、管理及使用數(shù)據(jù)庫??梢酝ㄟ^管理控制臺或 來創(chuàng)建、修改和刪除數(shù)據(jù)庫。各實例之間相互獨立、資源隔離,相互之間不存在、內(nèi)存、等搶占問題。但是,同一實例中的不同數(shù)據(jù)庫之間是資源共享的。每個實例擁有其自己的特性,如數(shù)據(jù)庫類型、版本等,系統(tǒng)有相應的參數(shù)來控制實例行為。用戶所購買實例的性能,取決于購買實例時所選擇的配置,可供用戶選擇的硬件配置項為內(nèi)存和磁盤容量。數(shù)據(jù)庫或簡稱“數(shù)據(jù)庫”,是用戶在一個實例下創(chuàng)建的邏輯單元,一個實例可以創(chuàng)建多個數(shù)據(jù)庫,在實例內(nèi)數(shù)據(jù)庫命名唯一,所有數(shù)據(jù)庫都會共享該實例下的資源,如、內(nèi)存、磁盤容量等。 不支持使用標準的 語句或客戶端工具創(chuàng)建數(shù)據(jù)庫,必須使用或 管理控制臺進行操作。列舉連接數(shù)據(jù)庫的種方法。列舉連接數(shù)據(jù)庫的種方法。答:方法使用客戶端 訪問。使用客戶端 在連接框中輸人數(shù)據(jù)實例鏈接地址、端口(默認330、6數(shù))據(jù)庫用戶名和數(shù)據(jù)庫密碼后,單擊“確定”按鈕即可。方法使用數(shù)據(jù)庫管理具 t 是一套專為 設計的強大的數(shù)據(jù)庫管理及開發(fā)工具,可以在連接輸人框中輸人數(shù)據(jù)實例地址、端口(默認330)、6數(shù)據(jù)庫用戶名和數(shù)據(jù)庫密碼后,單擊“確定”按鈕即可。方法使用 命令登錄。用戶安裝 客戶端后,可進人命令行方式連接數(shù)據(jù)庫。命令格式如下。其中,指定的是用戶名,指定的是主機名,指定的是端口,指定的是密碼。方法使用阿里云控制臺 訪問。阿里云控制臺 的頁面如圖所示,連接地址以及端口不需要再輸人,只需在“用戶名”中輸人數(shù)據(jù)庫的賬號在“密碼”欄中輸人數(shù)據(jù)庫賬號的密碼,便可以登錄進行數(shù)據(jù)操作了。第七章試述 和 的關系。答:谷歌公司最先提出了分布式并行編程模型 是它的開源實現(xiàn)。谷歌的 運行在分布式文件系統(tǒng)上,與谷歌類似,運行在分布式文件系統(tǒng)上。相對而言, 要比谷歌 的使用門檻低很多,程序員即使沒有任何分布式程序開發(fā)經(jīng)驗,也可以很輕松地開發(fā)出分布式程序并部署到計算機集群中。是處理大數(shù)據(jù)的有力工具,但不是每個任務都可以使用來進行處理。試述適合用 來處理的任務或者數(shù)據(jù)集需滿足怎樣的要求。答:適合用 來處理的數(shù)據(jù)集,需要滿足一個前提條件待處理的數(shù)據(jù)集可以分解成許多小的數(shù)據(jù)集,而且每一個小數(shù)據(jù)集都可以完全并行地進行處理。模型采用結構,試描述模型采用和 的功能。答: 框架采用了 架構,包括一個 和若干個a上運行 上運行 用戶提交的每個計算作業(yè),會被劃分成若千個任務。 負責作業(yè)和任務的調(diào)度,監(jiān)控它們的執(zhí)行,并重新調(diào)度已經(jīng)失敗的任務。 負責執(zhí)行由 指派的任務。試述 的工作流程需包括提交任務、a、的過程)132132口面是一個MapRcdwc算法的執(zhí)行過程EM即Reduce框架使用EputFnnnM楨塊做Map前的預處理,比如、嘛證輸入的格式是杏符臺輸入定義;然后,將輸入文件切分為邏輯上的多個Inputs豳.InputSpHt是MapReduce時文件進行處理和運算的輸入單位只是一個理輯概念.每個InpuESplit并沒有對文件進行腐際切割,只是記錄廣夏處理的數(shù)據(jù)的位置和長度,公因為hiputSplit是邏輯劃分而非物理切分,所以.還需要通過ReeordReader(RR)根據(jù)InpuiSplit中的信息來處理InputSplit中的具體記錄.加載數(shù)據(jù)并轉換為適合Map任務讀取的鍵值對,輸入給Map任務。③M叩任務會根據(jù)用戶白定義的映射規(guī)則.輸川一系列的《虹乂value,作為中網(wǎng)結果④為「讓Reduce可以并行處理Map的結果,需要對Map的輸出進行一定的分區(qū)、排序(SortL合并(Combine)、歸并(Me儂)等操作,得至kk呼⑷21囪>形式的中間結果,再交給時應的RMue進行處理,這個過程稱為ShufHe.⑤Reduct以一系列。邙valu~!i*o中間結果作為輸入.執(zhí)行用戶定義的邏輯,輸出結果給OutputFormat模塊,⑥OntputFormat模塊會驗證輸出目錄是否已經(jīng)存在以及輸出結果類型是否符合配置文件中㈣配置類型,如果都滿足.就輸出Reduce的結果到分布式文件系統(tǒng)口具體如圖02所示.,十點2從分布赤支件基舞中Slittiff14*td?中的鰭果-kc%,vjiitieInpwlljimiaJSliuRk,kc>>:dui*--綿A分布十點2從分布赤支件基舞中Slittiff14*td?中的鰭果-kc%,vjiitieInpwlljimiaJSliuRk,kc>>:dui*--綿A分布Zlft蒙所?'inke>Pvji]ue、”O(jiān)uipeiiF4miitIn^nllcrmiinlAnhbe-lfat用人分布上E科索跣iUll-EWSi赳坪站里<k^AOJUC-1-MT*T-**2口口小.2r rh[Mr5t-4-Jh大數(shù)據(jù)技術原理與應用一概念、存儲、處理、分析與應用7.2.3Shuffie過程詳解Shuff店過程簡介Shuffle過程層MapReduce整個工作流程的核心環(huán)節(jié),理解Shuffle過程的基本原理,對于理解MapReduce流程至關重要所謂Shuflk.是指對Map輸出結果進行分區(qū),排序、合并等處理并交給Reduce的過程,因此,Shuffle過程分為M即端的操作和Reduce端的操作.如圖7-3所示,主要執(zhí)行以下操作.圖7-3ShuHie圖7-3ShuHie過程①在M叩端的Shuffk過程:M叩的輸出結果首先被寫入翟存,當緩存滿時.就啟動溢芍操作.把緩存中的數(shù)據(jù)寫入磁盤文件*并清空緩存,,當啟動溢寫操作口上首先需要把緩存中的數(shù)據(jù)進行分區(qū),然后對每個分區(qū)的數(shù)據(jù)進行排序(Sort)和合并(Combine),之后再寫入磁盤文件每次溢寫操作會生成一個新的磁盤文件,隨著Map任務的執(zhí)行,磁盤中就會生成多個溢寫文件.在M叩任務全部結束之前.這些溢寫文件會被歸并fMerge)成一個大的磁盤文件,然后,通知相應的Reduce任務來領取屬于自己處理的數(shù)據(jù),②在Reduce端的ShuHie過程口Reduce任務從Map端的不同Map機器領回屬于自己處理的那部分數(shù)據(jù),然后*對數(shù)據(jù)進行歸并(Merge)后交給Reduce處理。Map端的Shuff值過程Map端的Shuffle過程包括4個步驟,如圖7-4所示。(I)輸入數(shù)據(jù)和執(zhí)行Map任務M即任務的輸入數(shù)據(jù)一般保存在分布式文件系統(tǒng)(如GFS或HDFS)的文件塊中,這些文件塊的格式是任意的,可以是文檔,也可以是二進制格式的Map任務接受4丹,value作為輸入后,按一定的映射規(guī)則轉換成一批vkey,valueA進行輸出口㈡)寫入緩存①軟人粒物知執(zhí)行M-P”外誨個M叩任務都會被分配一個緩存.①軟人粒物知執(zhí)行M-P”外結果不是匯即寫入磁款.而是首先寫入緩存在緩存中積累一定數(shù)他的M叩輸出結果以后,國一次性批域寫入磁盤.這樣可以大大減少對磁盤I/O的影響因為,磁盤包含機械部件,它是通過磁頭移動和盤片的轉動來尋址定位數(shù)據(jù)的.每次尋址的開銷很大,如果每個M叩輸出結果都再接寫入磁席.會引人很多次尋址開銷,而一次性批觥寫人,就只需要一次尋址.連續(xù)寫入.大大降低了汗銷需要注意的是,在寫入緩存之前.key巧value值都會被序列化成字節(jié)數(shù)組{3)溢寫f分區(qū)、排序和合并)提供給MapReduce的緩存的容址是有限眄.默認大小是100MB隨著Map任翁的執(zhí)行,緩存中M即結果的數(shù)貸會不斷增加.很快就會占滿整個緩存.這時,就必須拮動溢寫[即升1)操作.把緩存中的內(nèi)容一次性寫入磁盤,井清空緩存溢寫的過程通常是由另外-個單獨的后臺線程來完成的.不會選響M用結果往緩存寫人.但是,為了保證Map結果能移不停地持續(xù)寫入緩存,不受溢寫過程的筋響.就必須讓緩存中直有可用的空間,不能等到全部占滿才啟動溢寫過程,所以,一般會設置個溢巧比例,如0.8,也就是說,當1OOMB大小的緩存被填滿8OM13數(shù)據(jù)時*就眉動溢寫過程,把已經(jīng)寫入的80MB數(shù)據(jù)寫入磁敞,剌余20MB空間供M醇結果繼續(xù)寫入口但是,在溢寫到磁盤之前.緩存中的數(shù)據(jù)首先會被分區(qū)(Partition)緩存中的數(shù)據(jù)是士依y,vhIuO形式的鍵值時,這些加值對垠終而要交給不同的Reduce任務進行并行處理MapReduceM過Partitioncr接I」時這些鍵值對進行分區(qū).默認采用的分區(qū)方式是采用Hash函數(shù)對key進行哈帚后再用ReducefE務的數(shù)量進行取模,可以表示成hash(key)modR,其中,R去示Reduce任務的數(shù)瞰.這樣,就可以把M叩輸出結果均勻地分配給這R個Reduce任務去并行處理了口當然.MapReduce也允許用戶通過重載Partitioner接口來自定義分區(qū)方式。對于每個分區(qū)內(nèi)的所有裸值對.后臺線程會根據(jù)key對它們進行內(nèi)存排序(Sort),排序是M卯RMuce的默認操作排序結束后.還包含一個可選的合并(Combi加1操作如果用戶已先沒有定鬢Com由ner函數(shù).就不用進行合并操作如果用戶“先定義了Combiner函數(shù).則這個時候會執(zhí)行合并操作,從而減少需要溢寫到磁盤的數(shù)據(jù)量,所謂“分并二是指將那岫具有相同key的4呼相怕8的value加起來.比如.有兩個鍵值對iXUdmu二D,經(jīng)過合并操作以后就可以得到一個鍵值對UxmiT,".減少廣犍旗對的數(shù)量這里.需要注意.Map端的這種告外操作,其實和Rcdus的功能相似,但是.由于這個操作發(fā)生在Map峭,所以,我們只能稱之為“合并”,從而有別于Reduce不過,并非所有場合都可以使用Cortibiner,因為.Combiner的輸出是Reduce任務的輸入.Combiner絕不能改變RecIiice任務最終的計算結果,一般而言,累加、最大值等場景可以使用合并操作心經(jīng)過分區(qū)、排序以及可能發(fā)生的合弗操作之后,這些緩存中的鍵值時就可以被寫入磁盤,并清空緩存每次溢寫操作都會在磁盤中生成個新的溢寫文件,寫人溢寫文件中的所有鍵值對,都是經(jīng)過分區(qū)和排序的口(4)文件歸并每次溢寫操作都會在磁盤中生成一個新的溢寫文件,附著MapRe而h任務的進行.磁盆中的溢寫文件數(shù)鼠會越來越多當然,如果M即輸出結果很少,磁盤上只會存在一個溢寫文件.但是,通常都會存在笠個溢寸文件最終,在M即任務全部結束之前,系統(tǒng)會對所有溢寫文件中的放據(jù)進行歸并{Me唱記,生成一個大的溢寫文件.這個大的溢寫文件中的所有鍵值對,也是經(jīng)過分區(qū)和排序的.所謂“歸并”(Merge),是指對于具有相同key的鍵值對,會被歸并成一個新的錐值時具體而言.對于若干個具有相同key的健值對4門產(chǎn).<新國產(chǎn)……4心,會被舊并成一個新的VV大數(shù)據(jù)技術原理與座用—概念、存儲,處理、分析與施用|^= 二VV大數(shù)據(jù)技術原理與座用—概念、存儲,處理、分析與施用|^= 二鍵值對4小的“另外,進行文件打并時,如果磁盤中已經(jīng)生成的溢n文件的數(shù)讓超過參數(shù)min.num.spilIsJbncoitibme的值時(默認值是3,用戶可以修改這個值》那么.就可以再次運行Combiner,對數(shù)據(jù)進行合并操作,從而減少寫入磁盤的數(shù)據(jù)如但是,如果磁段中只有-網(wǎng)'個溢寫文件時,執(zhí)行合并操作就會“得不償失”,因為執(zhí)行合并操作本身也需要代價.因此.不會運行Combiner經(jīng)過上述4個步驟以后.Map端的ShuHle過程全部完成.最終生成的一個大文件會被存放在本地磁盤這個大文件中的數(shù)據(jù)層被分區(qū)的,不同的分區(qū)會被發(fā)送到不同的Reduce任務進行并行處理.,JobTr祀ke「會一直監(jiān)測Map任務的執(zhí)行;節(jié)監(jiān)測到一個M叩任務完成后.就會江即逋知相關的Reduce任務來“領取”數(shù)據(jù),然后開始Reduce端的Shuffle過程”RMua端的Shuffle過程相對于Map端而言.Reduce端的Shuflle過程非常簡單,只需要從Map端讀取\1叩結果,然后執(zhí)行歸并操作、最后輸送給Reduce任務進行處理具體而言.Reduce端的Shuffle過程包括以下3個步驟(見圖74):,Reduce!I'在Hedutefl--*1&他國聞/金行務圖7-5Reduce端的Shufile過程(1)“領取”數(shù)據(jù)Map端的Shuffle過程結束后.所有Map輸出結果都保存在Map機器的本地磁盤上,Reduce任務需弊把這些數(shù)據(jù)“領取"Fetch)回來存放到自己所在機器的本地磁盤上,因此,在每個Reduce任務真正開始之前,它大部分時間都在從M叩端把屬下自己處理的那些分區(qū)的數(shù)據(jù)“強取"過來每個Reduce任務會不斷地通過RPC向JobTrackcr聞間Map任務是否已經(jīng)完成;JobTracker吃測到一個Map任務完成后.就會通知相關的Reduce任務來"領取"數(shù)據(jù);一旦一個REub任務收到JobTracker通知.它就會到該Map任務所在機器上把屬于自己處理的分區(qū)數(shù)據(jù)領取到本地磁盤中,一般系統(tǒng)中會存在多個M即機猾,因此,RMucc任務會使用多個線程同時從多個Map機器領回數(shù)據(jù)口(2)歸并數(shù)據(jù)從Map端領回的數(shù)據(jù)、會首先被存放在RMu伏任務所在機器的緩存中,如果緩存被占滿,就會像M即端一樣被溢寫到磁盤中.由于在Shufllg階段,RTuce任務還沒有真正開始執(zhí)行.因此,這時可以把內(nèi)存的大部分空間分配給Shuffle過程作為緩存,需要注意的是,系統(tǒng)中一般存在多個M叩機器,所以,Reduce任務會從多個Map機器領回屬干巴已處理的那些分區(qū)的數(shù)據(jù).因34 …… 此.緩存中的數(shù)據(jù)是來自不同的M叩機器的,股會存在很多可以合并(Combine)的鍵值對當溢寫過程啟動時,具有相同key的鍵值對會被歸并(Merge),如果用戶定義了Combine一則歸用后的數(shù)據(jù)還可以執(zhí)行合并操作.減少寫入礴盤的數(shù)據(jù)量口每個濫寫過程結束后,都會在磁盤中生成一個溢寫文件.因此,磁盤上會存在多個溢寫文件」最終,當所有的M部端數(shù)據(jù)都已經(jīng)被領何時,和M叩端類似,多個溢寫文件會被歸并成一個大文件,歸井的時候還會對鍵值對進行排序.從而使得最終大文件中的罐值對都是有序的°巖然.在數(shù)據(jù)很少的情形F,^存就可以存儲所有效據(jù),就不需要把數(shù)據(jù)溢寫到磁盤,而是直接在內(nèi)存中執(zhí)行歸并操作,然后再接輸出給Reduce任務需要說明的是,把磁盤上的多個溢寫文件歸并成一個大文件,可能需要;執(zhí)行多輪歸并操作,每輪歸并操作可以歸并的文件數(shù)量是由參數(shù)iasort而ctor的值來控制的(默認值是10,可以修改%假設磁盤中生成了50個溢寫文件.每輪可以歸并10個溢巧文件.則需要:經(jīng)過5輪!H并.得到5個歸并后的大文件。(3)把數(shù)據(jù)輸入Reduce任務磁盤:中經(jīng)過多輪歸并后得到的若干個大文件,不會繼續(xù)歸并成一個新的大文件,而是直接輸人給RM呢e任務,這樣可以減少磁盤讀寫開銷口由此,整個Shuffle過程順利結束。接下來,Reduce任務會執(zhí)行Reduce函數(shù)中定義的各種映射,輸出最終結果.并保存到分布式文件系統(tǒng)中(比如GFS或HDFS)Q中有這樣一個原則移動計算比移動數(shù)據(jù)更經(jīng)濟。試述什么是本地計算,并分析為何要采用本地計算。答: 設計的一個理念就是“計算向數(shù)據(jù)靠攏”,而不是“數(shù)據(jù)向計算靠攏”,因為移動數(shù)據(jù)需要大量的網(wǎng)絡傳輸開銷,尤其是在大規(guī)模數(shù)據(jù)環(huán)境下,這種開銷尤為驚人,所以,移動計算要比移動數(shù)據(jù)更加經(jīng)濟。本地計算:在一個集群中,只要有可能, 框架就會將程序就近地在數(shù)據(jù)所在的節(jié)點運行,即將計算節(jié)點和存儲節(jié)點放在一起運行,從而減少了節(jié)點間的數(shù)據(jù)移動開銷。試.說明一個程序在運行期間,所啟動的 任務數(shù)量和試.說明一個程序在運行期間,所啟動的 任務數(shù)量和務數(shù)量各是由什么因素決定的。是否所有的 程序都需要經(jīng)過和 這兩個過程如果不是,請舉例說明。答:不是。對于關系的選擇運算,只需要過程就能實現(xiàn),對于關系中的每個元組檢測是否是滿足條件的所需元組,如果滿足條件,則輸出鍵值對<,>也就,是說,鍵和值都是。這時的函數(shù)就只是一個恒等式,對輸入不做任何變換就直接輸出。。這時的試分析為何采用 可以減少數(shù)據(jù)傳輸量是否所有的 程序都可以采用 為什么答:對于每個分區(qū)內(nèi)的所有鍵值對,后臺線程會根據(jù) 對它們進行內(nèi)存排序排序是 的默認操作。排序結束后,還包含一個可選的合并 操作。如果用戶事先沒有定義 函數(shù),就不用進行合并操作。如果用戶事先定義了函數(shù),則這個時候會執(zhí)行合并操作,從而減少需要溢寫到磁盤的數(shù)據(jù)量。所謂“合并”,是指將那些具有相同的 的 加起來,比如,有兩個鍵值對 和 經(jīng)過合并操作以后就可以得到一個鍵值對 減少了鍵值對的數(shù)量。不過,并非所有場合都可以使用 因為, 的輸出是 任務的輸人, 絕不能改變 任務最終的計算結果,一般而言,累加、最大值等場景可以使用合并操作。程序的輸入文件、輸出文件都存儲在 中,而在 任務完成時的中間結果則存儲在本地磁盤中。試分析中間結果存儲在本地磁盤而不是上有何優(yōu)缺點。第八章、試述在 推出之后其優(yōu)化與發(fā)展主要體現(xiàn)在哪兩個方面。答:對 和 的許多方面做了有針對性的改進提升。為fl-tHwdoop框要自西留直道:從M到20____^—一■―- 為fl-t ■ -j?I_ hMoog.。的出逃HadnopIM的問融 ; ——— -■——---—————— -「^彳〒7而SHA.牌供冬稼節(jié)點熱品用單-落梆節(jié)卓1仔花榮點失箴同螃 機制M;lpR<du£<?■^7菽麗|』法學網(wǎng)應酬板
壽漉管理效率版 ___設MFHDFS盛陶臂理學個命名畢亂麗亍薪IM;lpR<du£<?■^7菽麗|』法學網(wǎng)應酬板
壽漉管理效率版 ___、試述中只包含一個名稱節(jié)點會帶來哪些問題。答: 采用單點名稱節(jié)點的設計,不僅會帶來單點故障問題,還存在可擴展性、性能和隔離性等問題。在可擴展性方面,名稱節(jié)點把整個 文件系統(tǒng)中的元數(shù)據(jù)信息都保存在自己的內(nèi)存中, 中只有一個名稱節(jié)點,不可以水平擴展,而單個名稱節(jié)點的內(nèi)存空間是由上限的,這限制了系統(tǒng)中數(shù)據(jù)塊、文件和目錄的數(shù)目。在系統(tǒng)整體性能方面,整個 文件系統(tǒng)的性能會受限于單個名稱節(jié)點的吞吐量。在隔離性方面,單個名稱節(jié)點難以提供不同程序之間的隔離性,一個程序可能會影響會影響其他運行的程序。、請描述 架構組成組建及其具體功能。答:在一個典型的集群中,一般設置兩個名稱節(jié)點,其中一個名稱節(jié)點處于“活躍”狀態(tài),另一個處于“待命”狀態(tài)。處于活躍狀態(tài)的名稱節(jié)點負責對外處理所有客戶端的請求,而處于待命狀態(tài)的名稱節(jié)點則作為備用節(jié)點,保存了足夠多的系統(tǒng)元數(shù)據(jù),當名稱節(jié)點出現(xiàn)故障時提供快速回復能力也就是說,在中,處于待命狀態(tài)的名稱節(jié)點提供了“熱備份”,一旦活躍名稱節(jié)點出現(xiàn)故障,就可以立即切換到待命名稱節(jié)點,不會影響到系統(tǒng)的正常對外服務。、請分析架構中數(shù)據(jù)節(jié)點如何和名稱節(jié)點保持通信。、請分析架構中數(shù)據(jù)節(jié)點如何和名稱節(jié)點保持通信。答:在聯(lián)邦中,所有名稱節(jié)點會共享底層的數(shù)據(jù)節(jié)點存儲資源。每個數(shù)據(jù)節(jié)點要向集群中所有的名稱節(jié)點注冊,并周期性地向名稱節(jié)點發(fā)送“心跳”和塊信息,報告自己的狀態(tài),同時也會處理來自名稱節(jié)點的指令。、請描述 聯(lián)邦中“塊池”的概念,并分析為什么 聯(lián)邦中的一個名稱節(jié)點失效,也不會影響到與它相關的數(shù)據(jù)節(jié)點繼續(xù)為其他名稱節(jié)點提供服務。答: 聯(lián)邦擁有多個獨立的命名空間,其中,每一個命名空間管理屬于自己的一組塊,這些屬于同一個命名空間的塊構成一個“塊池”。每個數(shù)據(jù)節(jié)點會為多個塊池提供塊的存儲??梢钥闯觯瑪?shù)據(jù)節(jié)點是一個物理邏輯,而塊池則屬于邏輯概念,一個塊池是一組塊的邏輯集合,塊池中的各個塊實際上是存儲在各個不同的數(shù)據(jù)節(jié)點中的。因此聯(lián)邦中的一個名稱節(jié)點失效,也不會影響到與它相關的數(shù)據(jù)節(jié)點繼續(xù)為其他名稱節(jié)點提供服務。、請闡述 體系結構中存在的問題。答:(1)存在單點故障;() “大包大攬”導致任務過重;(3)容易出現(xiàn)內(nèi)存溢出;(4)資源劃分不合理。、請描述 架構中各組件的功能。組件功能①處理客戶端請求②啟動監(jiān)控③監(jiān)控④資源分配與調(diào)度①為應用程序申請資源,并分配給內(nèi)部任務②任務調(diào)度、監(jiān)控與容錯①單個節(jié)點上的資源管理②處理來自 的命令③處理來自 的命令、請描述在 框架中執(zhí)行一個 程序時,從提交到完成需要經(jīng)歷的具體步驟。答:①用戶編寫客戶端應用程序,向 提交應用程序,提交的內(nèi)容包括程序、啟動 的命令、用戶程序等。中的 負責接收和處理來自客戶端的請求。接到客戶端應用程序請求后, 里面的調(diào)度器會為應用程序分配一個容器。同時, 的應用程序管理器會與該容器所在的 通信,為該應用程序在該容器中啟動一個被創(chuàng)建后會首先向 注冊,從而使得用戶可以通過 來直接查看應用程序的運行狀態(tài)采用輪詢的方式通過協(xié)議向 申請資源。以“容器”的形式向提出申請的 分配資源,一旦 申請到資源后,就會與該容器所在的進行通信,要求它啟動任務。⑥當 要求容器啟動任務時,它會為任務設置好運行環(huán)境(包括環(huán)境變量、 包、二進制程序等),然后將任務啟動命令寫到一個腳本中,最后通過在容器中運行該腳本來啟動任務。
⑦各個任務通過某個 協(xié)議向 匯報自己的狀態(tài)和進度,讓可以隨時掌握各個任務的運行狀態(tài),從而可以在任務失敗時重啟任務。⑧應用程序運行完成后, 向 的應用程序管理器注銷并關閉自己。若 因故失敗, 中的應用程序管理器會監(jiān)測到失敗的情形,然后將其重新啟動,直到所有任務執(zhí)行完畢。、請對和 框架進行優(yōu)劣勢對比分析。答:()大大減少了承擔中心服務功能的 的資源消耗。中的 需要同時承擔資源管理、任務調(diào)度和任務監(jiān)控等三大功能,而 中的 只需要負責資源管理,需要消耗大量資源的任務調(diào)度和監(jiān)控重啟工作則交由 來完成。由于每個作業(yè)都有與之關聯(lián)的獨立的 ,所以,系統(tǒng)中存在多個作業(yè)時,就會同時存在多個 ,這就實現(xiàn)了監(jiān)控任務的分布化,不再像TOC\o"1-5"\h\z那樣監(jiān)控任務只集中在一個 上。() 既是一個計算框架,又是一個資源管理調(diào)度框架,但是只能支持 編程模型。而 則是一個純粹的資源調(diào)度管理框架,在它上面可以運行包括 在內(nèi)的不同類型的計算框架,默認類型是 。因為,中的 是可變更的,針對不同的計算框架,用戶可以采用任何編程語言自己編寫服務于該計算框架的 。比如,可以編寫一個面向 計算框架的 ,從而使得計算框架可以運行在 框架之上。同理,還可以編寫面向 a等計算框架的 ,從而使得、 等計算框架也可以運行在 框架之上。() 中的資源管理比 更加高效。 采用容器為單位進行資源管理和分配,而不是以槽為單位,避免了 中槽的閑置浪費情況,大大提高了資源的利用率。、請分別描述、和 的功能。答:①(包含生態(tài)系統(tǒng)的一個組件,提供了類似的 語言答:①(包含生態(tài)系統(tǒng)的一個組件,提供了類似的 語言等操作,同時也支持用戶自定義函數(shù)),允許用戶通過編寫簡單的腳本來實現(xiàn)復雜的數(shù)據(jù)分析,而不需要編寫復雜的應用程序, 會自動把用戶編寫的腳本轉換成 作業(yè)在集群上運行,而且具備對生成的 程序進行自動優(yōu)化的功能,所以用戶在編寫 程序的時候,不需要關心程序的運行效率,這就大大減少了用戶編程時間。是 開源的支持 作業(yè)的計算框架,直接源于 框架,核心思想是將和 兩個操作進一步進行拆分,即被拆分成、eo和、 被拆分成 、 、 、r 和 等,經(jīng)過分解后的這些元操作可以進行自由任意組合產(chǎn)生新的操作,經(jīng)過一些控制程序組裝后就可形成一個大的 作業(yè)。通過作業(yè)的方式運行 作業(yè),提供了程序運行的整體處理邏輯,就可以去除工作流當中多余的階段,減少不必要的操作,提升數(shù)據(jù)處理的性能。把應用到數(shù)據(jù)倉庫 的優(yōu)化中,使得性能提升了約 倍。是由 公司開發(fā)的一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),用戶通過 系統(tǒng)可以發(fā)布大量的消息,同時也能實時訂閱消費消息。設計的初衷是構建一個可以處理海量日志、用戶行為和網(wǎng)站運營統(tǒng)計等的數(shù)據(jù)處理框架。第九章是基于內(nèi)存計算的大數(shù)據(jù)計算平臺,試述 的主要特點。答: 具有如下個主要特點:①運行速度快;②容易使用;③通用性;④運行模式多樣。的出現(xiàn)是為了解決 的不足,試列舉的幾個缺陷,并說明 具備哪些優(yōu)點。答:() 存在以下缺點:①表達能力有限;②磁盤開銷大;③延遲高主要有如下優(yōu)點:的計算模式也屬于 ,但不局限于 和操作,還提供了多種數(shù)據(jù)集操作類型,編程模型比 更靈活;提供了內(nèi)存計算,中間結果直接存放內(nèi)存中,帶來更高的迭代運算效率;基于 的任務調(diào)度執(zhí)行機制,要優(yōu)于 的迭代執(zhí)行機制。3美國加州大學伯克利分校提出的數(shù)據(jù)分析的軟件棧 認為目前的大數(shù)據(jù)處理可以分為哪三個類型?答:①復雜的批量數(shù)據(jù)處理:時間跨度通常在數(shù)十分鐘到數(shù)小時之間;②基于歷史數(shù)據(jù)的交互式查詢:時間跨度通常在數(shù)十秒到數(shù)分鐘之間;③基于實時數(shù)據(jù)流的數(shù)據(jù)處理:時間跨度通常在數(shù)百毫秒到數(shù)秒之間。已打造出結構一體化,功能多樣化的大數(shù)據(jù)生態(tài)系統(tǒng),試述的生態(tài)系統(tǒng)。答: 的設計遵循“一個軟件棧滿足不同應用場景”的理念,逐漸形成一套完整生態(tài)系統(tǒng),既能夠提供內(nèi)存計算框架,也可以支持即席查詢、實時流式計算、機器學習和圖計算等。 可以部署在資源管理器之上,提供一站式的大數(shù)據(jù)解決方案。因此, 所提供的生態(tài)系統(tǒng)同時支持批處理、交互式查詢和流數(shù)據(jù)處理。5從 架構轉向 架構可帶來哪些好處?答:(1)實現(xiàn)一鍵式安裝和配置、線程級別的任務監(jiān)控和告警;(2)降低硬件集群、軟件維護、任務監(jiān)控和應用開發(fā)的難度;(3)便于做成統(tǒng)一的硬件、計算平臺資源池。6試述“ ”的概念。答: 可以運行與 之上,與 進行統(tǒng)一部署,即“ R其架構如圖所示,資源管理和調(diào)度以來 ,分布式存儲則以來 。、試述如下 的幾個主要概念: 、 、階段、分區(qū)、窄依賴、寬依1答:①:.是彈性分布式數(shù)據(jù)集( )的英文寫,是分布式內(nèi)存的一個抽象概念,提供了一種高度受限的共享內(nèi)存模型。②:是、」 (有向無環(huán)圖)的英文縮寫,反映 之的依賴關系。③階段:是作業(yè)的基本調(diào)度單位,一個作業(yè)會分為多組任務,每組任務被稱為“段”,或者也被稱為“任務集”。④分區(qū):一個 就是一個分布式對象集合,本質上是一個只讀的分區(qū)記錄集展每個 可以分成多個分區(qū),每個分區(qū)就是一個數(shù)據(jù)集片段。⑤窄依賴:女 的一個分區(qū)只被一個子的一個分區(qū)所使用就是窄依賴。⑥寬依賴父 的一個分區(qū)被一個子的多個分區(qū)所使用就是寬依賴。⑤窄依賴:女 的一個分區(qū)只被一個子的一個分區(qū)所使用就是窄依賴。⑥寬依賴父 的一個分區(qū)被一個子的多個分區(qū)所使用就是寬依賴。8對 的操作主要分為行動( )和轉換( )種類型,兩種類型操作的區(qū)別是什么?答:行動( ):在數(shù)據(jù)集上進行運算,返回計算值。轉換( ):基于現(xiàn)有的數(shù)據(jù)集創(chuàng)建一個新的數(shù)據(jù)集。第十章試述流數(shù)據(jù)的概念流數(shù)據(jù),即數(shù)據(jù)以大量、快速、時變的流形式持續(xù)到達2試述流數(shù)據(jù)的特點流數(shù)據(jù)具有如下特征:數(shù)據(jù)快速持續(xù)到達,潛在大小也許是無窮無盡的數(shù)據(jù)來源眾多,格式復雜數(shù)據(jù)量大,但是不十分關注存儲,一旦經(jīng)過處理,要么被丟棄,要么被歸檔存儲注重數(shù)據(jù)的整體價值,不過分關注個別數(shù)據(jù)數(shù)據(jù)順序顛倒,或者不完整,系統(tǒng)無法控制將要處理的新到達的數(shù)據(jù)元素的順序4試述流計算的需求對于一個流計算系統(tǒng)來說,它應達到如下需求:高性能:處理大數(shù)據(jù)的基本要求,如每秒處理幾十萬條數(shù)據(jù)海量式:支持級甚至是級的數(shù)據(jù)規(guī)模實時性:保證較低的延遲時間,達到秒級別,甚至是毫秒級別分布式:支持大數(shù)據(jù)的基本架構,必須能夠平滑擴展易用性:能夠快速進行開發(fā)和部署可靠性:能可靠地處理流數(shù)據(jù)7列舉幾個常見的流計算框架目前有三類常見的流計算框架和平臺:商業(yè)級的流計算平臺、開源流計算框架、公司為支持自身業(yè)務開發(fā)的流計算框架商業(yè)級:較為常見的是開源流計算框架,代表如下:r免費、開源的分布式實時計算系統(tǒng),可簡單、高效、可靠地處理大量的流數(shù)據(jù)( ):開源流計算平臺,是通用的、分布式的、可擴展的、分區(qū)容錯的、可插拔的流式系統(tǒng)3公司為支持自身業(yè)務開發(fā)的流計算框架:FacebookPuma(百度)銀河流數(shù)據(jù)處理平臺(淘寶)8試述流計算的一般處理流程流計算的處理流程一般包含三個階段:數(shù)據(jù)實時采集、數(shù)據(jù)實時計算、實時查詢服務數(shù)據(jù)實時采集數(shù)據(jù)實時計算用戶查詢.實時查詢服務 查詢結果一流計算處理流程示意圖試列舉幾個 框架的應用領域框架可以方便地與數(shù)據(jù)庫系統(tǒng)進行整合,從而開發(fā)出強大的實時計算系統(tǒng)可用于許多領域中,如實時分析、在線機器學習、持續(xù)計算、遠程、數(shù)據(jù)提取加載轉換等的主要術語包括分別簡要描述這幾個術語e 將流數(shù)據(jù) 描述成一個無限的 序列,這些序列會以分布式的方式并行地創(chuàng)建和處理框架可以方便地與數(shù)據(jù)庫系統(tǒng)進行整合,從而開發(fā)出強大的實時計算系統(tǒng)l將 的狀態(tài)轉換過程抽象為 。即可以處理,也可以將處理后的 作為新的 發(fā)送給其他:將和 組成的網(wǎng)絡抽象成 ,它可以被提交到集群執(zhí)行。 可視為流轉換圖,圖中節(jié)點是一個 或,邊則表示 訂閱了哪個 。當或者 發(fā)送元組時,它會把元組發(fā)送到每個訂閱了該 的 上進行處理:將和 組成的網(wǎng)絡抽象成 ,它可以被提交到集群執(zhí)行。 可視為流轉換圖,圖中節(jié)點是一個 或,邊則表示 訂閱了哪個 。當或者 發(fā)送元組時,它會把元組發(fā)送到每個訂閱了該 的 上進行處理一個 由哪些組件組成?里面的每個處理組件( 或)都包含處理邏輯,而組件之間的連接則表示數(shù)據(jù)流動的方向集群中的節(jié)點和 節(jié)點各自運行什么后臺進程?這些進程又分別負責什么工作?集群采用“一”的節(jié)點方式:節(jié)點運行名為“ ”的后臺程序(類似 中的“ ”),負責在集群范圍內(nèi)分發(fā)代碼、為 分配任務和監(jiān)測故障
節(jié)點運行名為“”的后臺程序,負責監(jiān)聽分配給它所在機器的工作,節(jié)點運行名為“”的后臺程序,負責監(jiān)聽分配給它所在機器的工作,即根據(jù) 分配的任務來決定啟動或停止 進程,一個節(jié)點上同時運行若干個 進程試述在框架中的作用使用來作為分布式協(xié)調(diào)組件,負責和多個之間的所有協(xié)調(diào)工作。借助于,若進程或進程意外終止,重啟時也能讀取、恢復之前的狀態(tài)并繼續(xù)工作,使得極其穩(wěn)定試述 框架的工作流程的工作流程如下圖所示:節(jié)點首先將提交的節(jié)點首先將提交的,并將和?所有 任務的提交必須在 客戶端節(jié)點上進行,提交后,由節(jié)點分配給其他 節(jié)點進行處理進行分片,分成一個個 ,分配給相應相關的信息提交到 集群上
會去集群上認領自己的 ,通知自己的進程會去集群上認領自己的 ,通知自己的進程進行的處理?說明:在提交了一個之后,就會創(chuàng)建實例并進行序列化。之后,將序列化的組件發(fā)送給所有的任務所在的機器即節(jié)點)在每一個任務上反序列化組件第11章、試述模型中的超步的個組件及具體含義。答:①局部通信。每個參與的處理器都有自身的計算任務,它們只讀取存儲在本地內(nèi)存中的值,不同處理器的計算任務都是異步并且獨立的。②通信。處理器群相互交換數(shù)據(jù),交換的形式是,由一方發(fā)起推送()和獲?。ǎ┎僮鳍蹡艡谕?。當一個處理器遇到“路障”(或柵欄),會等其他所有的處理器完成它們的計算步驟;每一次同步也是一個超步的完成和下一個超步的開始。2 為什么選擇一種純消息傳遞模型F答:采用這種做法主要基于以下兩個原因。①消息傳遞具有足夠的表達能力,沒有必要使用遠程讀取或共享內(nèi)存的方式。②有助于提升系統(tǒng)整體性能。大型圖計算通常是由一個集群完成的,集群環(huán)境中執(zhí)行遠程數(shù)據(jù)讀取會有較高的時間延遲; 的消息模式采用異步和批量的方式傳遞消息,因此可以緩解遠程讀取的延遲。、請簡述 的作用,并以具體 的作用,并以具體的例子做說明。答: 提供了一種全局通信、監(jiān)控和數(shù)據(jù)查看的機制。 的聚合功能,允許在整型和字符串類型上執(zhí)行最大值、最小值、求和操作,比如可以定義一個“” 來統(tǒng)計每個頂點的出射邊數(shù)量,最后相加可以得到整個圖的邊的數(shù)量。 還可以實現(xiàn)全局協(xié)同的功能,比如當可以設計“” 來決定在某個超步中 u函數(shù)是否執(zhí)行某些邏輯分支,只有當“” 顯示所有頂點都滿足了某條件時,才去執(zhí)行這些邏輯分支。6簡述的執(zhí)行過程。答:(1)選擇集群中的多臺機器執(zhí)行圖計算任務,每臺機器上運行用戶程序的一個副本,其中,有一臺機器會被選為 ,其他機器作為 。C) 把一個圖分成多個分區(qū),并把分區(qū)分配到多個。C) 會把用戶輸入劃分成多個部分,通常是基于文件邊界進行劃分。()向每個 發(fā)送指令, 收到指令后,開始運行一個超步。當完成以后,會通知,并把自己在下一個超步還處于“活躍”狀態(tài)的頂點的數(shù)量報告給 。上述步驟會被不斷重復,直到所有頂點都不再活躍并且系統(tǒng)中不會有任何消息在傳輸,這時,執(zhí)行過程才會結束。()計算過程結束后, 會給所有的 發(fā)送指令,通知每個對自己的計算結果進行持久化存儲。、試述 和的作用。答:的作用:借助于名稱服務系統(tǒng)定位到 的位置,并向發(fā)送自己的注冊信息, 會為每個 分配一個唯一的。在一個中,它所管轄的分區(qū)狀態(tài)信息被保存在內(nèi)存。在每個超步中, 會對自己所管轄分區(qū)中的每個頂點進行遍歷,并調(diào)用頂點上的 函數(shù)。的作用: 采用檢查點( )機制來實現(xiàn)容錯。在每個超步的開始,會通知所有的 把自己管轄的分區(qū)的狀態(tài)寫入持久化存儲設備。 周期地每個,收到消息后向反饋消息。如果在指定的時間間隔內(nèi)沒有收到某個 的反饋, 就會將它標為“失效”,并啟動恢復模式。第12章1、試述數(shù)據(jù)可視化的概念。答:數(shù)據(jù)可視化是指將大型數(shù)據(jù)集中的數(shù)據(jù)以圖形圖像形式表示,并利用數(shù)據(jù)分析和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年東營市“英才進廣饒”(教師類)事業(yè)單位引進人才招聘(31人)模擬試卷完整參考答案詳解
- 2025年福建省莆田華僑職業(yè)中專學校校聘教師招聘1人模擬試卷附答案詳解(突破訓練)
- 2025年臨沂蘭山區(qū)教育和體育局部分事業(yè)單位公開招聘教師(55名)模擬試卷及答案詳解(必刷)
- 2025年濰坊護理職業(yè)學院公開招聘控制總量工作人員(30人)模擬試卷及完整答案詳解一套
- 2025年麗水市人民醫(yī)院引進高層次人才69人模擬試卷(含答案詳解)
- 2025貴州遵義市務川自治縣應急管理局、林業(yè)局和醫(yī)保局招聘城鎮(zhèn)公益性崗位人員3人考前自測高頻考點模擬試題完整答案詳解
- 2025年神木市孫家岔九年制學校教師招聘(4人)考前自測高頻考點模擬試題含答案詳解
- 2025年西夏區(qū)自治區(qū)級公益性崗位招聘考前自測高頻考點模擬試題及答案詳解(名校卷)
- 2025廣東廣州市中級人民法院招聘勞動合同制審判輔助人員46人考前自測高頻考點模擬試題及1套參考答案詳解
- 2025北京銀行社會招聘模擬試卷及答案詳解一套
- 2025房地產(chǎn)無底薪業(yè)務員傭金提成及獎金分配協(xié)議
- 胰腺腫瘤WHO分類2025
- 過濾式消防自救呼吸器
- 應急救援技術專業(yè)教學標準(中等職業(yè)教育)2025修訂
- 布洛芬藥物分析關鍵要點
- 【新】2025國職游泳教練考試題庫(120題完整版)
- 國家儲備林建設項目可行性研究報告
- 2025年中央一號文件高頻重點考試題庫150題(含答案解析)
- 海豚的基礎知識
- 交通事故責任認定書復議申請書
- 《藥包材變更研究技術指南》(T-CNPPA 3009-2020)
評論
0/150
提交評論