Hadoop面試題匯總_第1頁
Hadoop面試題匯總_第2頁
Hadoop面試題匯總_第3頁
Hadoop面試題匯總_第4頁
Hadoop面試題匯總_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單選題1. 下面哪個程序負責數(shù)據(jù)存儲。a) b) c) d) e)答案 C2. 中的 默認保存幾份?a)3 份 b)2 份 c)1 份 d) 不確定答案A默認3分3. 下列哪個程序通常與在一個節(jié)點啟動?a) b) c) d)答案 D4. 作者a) b) c)答案 C5. 默認a)32 b)64 c)128答案: 1 版本是 64M2 版本是128M6. 下列哪項通常是集群的最主要瓶頸a) b) 網(wǎng)絡 c) 磁盤 d) 內存答案:C磁盤7. 所創(chuàng)立的項目的名稱都受到其家人的啟發(fā),以下項目不是由他創(chuàng)立的項目是A8.CD答案: D8. 配置時,包含在哪一個配置文件中A8CD答案: B9 配置文件中,

2、顯示覆蓋里的內容。在版本0.20 中,被分離成三個文件,不包括ABCD答案: A10默認的當前工作目錄是$,的值需要在哪個配置文件內說明A.B.C.D. 以上均不是答案: B11. 關于單機模式和偽分布式模式的說法,正確是A兩者都起守護進程,且守護進程運行在一臺機器上8 單機模式不使用,但加載守護進程C兩者都不與守護進程交互,避免復雜性D后者比前者增加了輸入輸出以及可檢查內存使用情況答案:D12. 下列關于的說法錯誤的是A的文件不是通用的,只用于文件系統(tǒng)B類的默認實例化方法是以系統(tǒng)的資源配置為基礎的13 / 33C對象存儲文件和目錄的元數(shù)據(jù)D是的子類答案:A13的負責管理文件系統(tǒng)的命名空間,將

3、所有的文件和文件夾的元數(shù)據(jù)保存在一個文件系統(tǒng)樹中,這些信息也會在硬盤上保存成以下文件:A.日志B.命名空間鏡像C.兩者都是答案: C14 . 的保存了一個文件包括哪些數(shù)據(jù)塊,分布在哪些數(shù)據(jù)節(jié)點上,這些信息也存儲在硬盤上。A.正確B.錯誤答案: B知識點:在系統(tǒng)啟動的時候從數(shù)據(jù)節(jié)點收集而成的15 就是出現(xiàn)問題時的備用節(jié)點A 正確B.錯誤答案: B知識點:它和元數(shù)據(jù)節(jié)點負責不同的事情。其主要功能就是周期性將元數(shù)據(jù)節(jié)點的命名空間鏡像文件和修改日志合并,以防日志文件過大。合并過后的命名空間鏡像文件也在 保存了一份,以防失敗的時候,可以恢復。16的是基于流數(shù)據(jù)模式訪問和處理超大文件的需求而開發(fā)的,默認的

4、最基本的存儲單位是 64M,具有高容錯、高可靠性、高 可擴展性、高吞吐率等特征,適合的讀寫任務是A. 一次寫入,少次讀寫B(tài).多次寫入,少次讀寫C. 一次寫入,多次讀寫D多次寫入,多次讀寫答案: C17無法高效存儲大量小文件,想讓它能處理好小文件,比較可行的改進策略不包括A利用、等方式歸檔小文件B多設計C大小適當調小D調大內存或將文件系統(tǒng)元數(shù)據(jù)存到硬盤里答案:D18. 關于的文件寫入,正確的是A支持多用戶對同一文件的寫操作B用戶可以在文件任意位置進行修改C默認將文件塊復制成三份存放D復制的文件塊默認都存在同一機架上答案:C19 中的和命令操作對象是A文件B目錄C兩者都是答案:C20 在啟動時自動

5、進入安全模式,在安全模式階段,說法錯誤的是A安全模式目的是在系統(tǒng)啟動時檢查各個上數(shù)據(jù)塊的有效性B根據(jù)策略對數(shù)據(jù)塊進行必要的復制或刪除C當數(shù)據(jù)塊最小百分比數(shù)滿足的最小副本數(shù)條件時,會自動退出安全模式D文件系統(tǒng)允許有修改答案:D21. 下列關于為存儲并行切分和處理的數(shù)據(jù)做的設計,錯誤的是A 擴展了以支持隨機讀B 為實現(xiàn)細粒度并行,輸入分片 ( )應該越小越好C 一臺機器可能被指派從輸入文件的任意位置開始處理一個分片D 輸入分片是一種記錄的邏輯劃分,而數(shù)據(jù)塊是對輸入數(shù)據(jù)的物理分割答案: B多選題1. 關于哪項是正確的?a) 它是的熱備b) 它對內存沒有要求c) 它的目的是幫助合并編輯日志,減少啟動時

6、間d) 應與 部署到一個節(jié)點答案 C D2. 下列哪項可以作為集群的管理?a) b) c) d)答案1:3. 配置機架感知的下面哪項正確a) 如果一個機架出問題,不會影響數(shù)據(jù)讀寫b) 寫入數(shù)據(jù)的時候會寫到不同機架的中c) 會根據(jù)機架獲取離自己比較近的網(wǎng)絡數(shù)據(jù)答案具體可以參考機架感知加強集群穩(wěn)固性,該如何配置機架感知4. 端上傳文件的時候下列哪項正確a) 數(shù)據(jù)經(jīng)過傳遞給b) 端將文件切分為,依次上傳c) 只上傳數(shù)據(jù)到一臺,然后由負責 復制工作答案 B5. 下列哪個是運行的模式a) 單機版 b) 偽分布式c) 分布式答案6. 提供哪幾種安裝的方法a) b) c) d)答案:具體可以參考四種安裝方式

7、總結及實例指導簡答題1. 集群可以運行的3 個模式?1) 單機(本地)模式;2) 偽分布式模式;3) 全分布式模式;2. 單機(本地)模式中的注意點?在單機模式() 中不會存在守護進程,所有東西都運行在一個上。 這里同樣沒有,使用的是本地文件系統(tǒng)。單機模式適用于開發(fā)過程中運行程序,這也是最少使用的一個模式。3. 偽分布模式中的注意點?偽分布式 () 適用于開發(fā)和測試環(huán)境,在這個模式中,所有守護進程都在同一臺機器上運行。4. 全分布模式又有什么注意點?全分布模式通常被用于生產(chǎn)環(huán)境,這里我們使用N 臺主機組成一個集群,守護進程運行在每臺主機之上。這里會存在運行的主機,運行的主機,以及運行的主機。在

8、分布式環(huán)境下,主節(jié)點和從節(jié)點會分開。5. 是否遵循模式?是的,在用例下,還擁有“”目錄。6. 的核心配置是什么?的核心配置通過兩個文件來完成:1, ; 2, 。 這些文件都使用格式, 因此每個中都有一些屬性,包括名稱和值,但是當下這些文件都已不復存在。7. 那當下又該如何配置?現(xiàn)在擁有3 個配置文件:1,;2,;3,。這些文件都保存在子目錄下。8. 只是單一的目錄?只是一個目錄。9. 的 3 個主要屬性?決定的是元數(shù)據(jù)存儲的路徑以及的存儲方式(磁盤或是遠端)決定的是數(shù)據(jù)存儲的路徑用于第二10. 如何退出輸入模式?退出輸入的方式有:1, 按;2, 鍵入 (如果你沒有輸入任何當下)或者鍵入(如果你

9、已經(jīng)輸入當下),并且按下。11. “”命令的用處?這個命令可以檢查、 是否正常工作。12. 如何重啟?點擊,再點擊。鍵入 (),(),(),及0.20 ()。13. 的全名?全名是:。14. 命令的作用?可以讓你知道哪個節(jié)點是。15. 命令的作用是?說明了守護進程(服務)的位置或狀態(tài),其實是特性,和關系不大。16. 如何在瀏覽器中查找?如果你確實需要在瀏覽器中查找,你不再需要:8021 ,的端口號是50070。提供了中. 的運行環(huán)境。18. 文件是否提供了多個入口?是的你可以擁有多個文件接口。19. 文件當下的位置?現(xiàn)在位于。20. 在中,代表了什么?代表了“ ”。21. 用于做什么?用來存儲

10、。22. 需求什么樣的網(wǎng)絡?核心使用()來驅動從節(jié)點上的服務器進程,并在主節(jié)點和從節(jié)點之間使用連接。23. 全分布式環(huán)境下為什么需求?這主要因為集群中通信過于頻繁,需要盡可能快的給發(fā)布任務。24. 工作的端口號是?工作的端口號是.22, 當然可以通過它來配置,22是默認的端口號。25. 為什么本地主機需要密碼?在中使用密碼主要是增加安全性,在某些情況下也根本不會設置密碼通信。26. 如果在中添加,是否還需要設置密碼?是的,即使在中添加了,還是需要設置密碼。27. 假如中沒有數(shù)據(jù)會怎么樣?沒有數(shù)據(jù)的就不能稱之為,通常情況下,肯定會有數(shù)據(jù)28. 當 宕掉時,會發(fā)生什么?當 失敗時,集群仍然可以正常

11、工作,只要沒問題。29. 是否可以在上運行?你最好不要這么做,或者是才是的最佳操作系統(tǒng)。在安裝中, 通常不會被使用,因為會出現(xiàn)各種各樣的問題。因此, 絕對不是的推薦系統(tǒng)。30. 簡要描述如何安裝配置一個開源版,描述即可,列出步驟更好1. 配置主機名2. 配置4. 安裝5. 安裝6. 配置(1) 修改(2) 修改(3) 修改(4) 修改(5) 修改(6) 修改7. 配置的環(huán)境變量8. 格式化32 . 請列出正常工作的集群中都需要啟動哪些進程,他們的作用3. 配置面密碼互通17 / 33分別是什么?名字節(jié)點,存儲元數(shù)據(jù)輔助實現(xiàn)文件和文件的合弁存儲數(shù)據(jù)的節(jié)點負責集群中所有資源的統(tǒng)一管理和分,它接收來

12、自各個節(jié)點()的資源匯報信息,弁把這些信息按照一定的策略分配給各個應用 程序是中每個節(jié)點上的代理,它管理集群中單個計算節(jié)點,包括與 保持通信,監(jiān)督的生命周期管理,監(jiān)控每個的資源使用(內存、 等)情況,追蹤節(jié)點健康狀況,管理日志和不同應用程序用到的 附屬服務()33 .請寫出以下執(zhí)行命令1)殺死一個?一2)刪除上的目錄3加入一個新的存儲節(jié)點和刪除一個計算節(jié)點需要刷新集群狀態(tài) 命令?5 .請列出你所知道的調度器,弁簡要說明其工作方法?(1)默認的調度器(2)計算能力調度器(3)公平調度器(4)適用于異構集群的調度器(5)適用于實時作業(yè)的調度器和6 .請列出在你以前工作中所使用過的開發(fā)的語言?7 .

13、當前日志采樣格式為34有哪些方式保存元數(shù)據(jù),各有哪些特點?原生使用作為元數(shù)據(jù)庫,無法弁發(fā)調用可以將元數(shù)據(jù)保存在數(shù)據(jù)庫中遠程服務器模式,在服務器端啟動一個,客戶端利用 協(xié)議通過訪問元數(shù)據(jù)庫35 .請簡述怎么樣實現(xiàn)二級排序?有兩種方法進行二次排序,分別為:和。對于 ,主要思想是:在()函數(shù)中,將某個對應的所有保 存下來,然后進行排序。這種方法最大的缺點是:可能會造成對于,主要思想是:將和部分拼接成一個組合(實現(xiàn)接口或 者調用函數(shù)),這樣獲取的結果便是先按排序, 后按排序的結果, 需要注意的是,用戶需要自己實現(xiàn),以便只按照進行數(shù)據(jù)劃分36 . 簡述實現(xiàn)的幾種方法?2.1是一種最簡單的方式,其主要思想

14、如下:在階段,函數(shù)同時讀取兩個文件1 和2,為了區(qū)分兩種來源的數(shù)據(jù)對,對每條數(shù)據(jù)打一個標簽(), 比如: 0 表示來自文件1, 2表示來自文件2。即:階段的主要任務是對不同文件中的數(shù)據(jù)打標簽。在階段,函數(shù)獲取相同的來自1 和 2 文件的 , 然后對于同一個,對 1 和 2 中的數(shù)據(jù)進行(笛卡爾乘積)。即:階段進行實際的連接操作。2.2之所以存在,是因為在階段不能獲取所有需要的字段,即:同一個對應的字段可能位于不同中。是非常低效的,因為階段要進行大量的數(shù)據(jù)傳輸。是針對以下場景進行的優(yōu)化:兩個待連接表中,有一個表非常大,而另一個表非常小,以至于小表可以直接存放到內存中。這樣,我們可以將小表復制多份

15、,讓每個內存中存在一份(比如存放到 中),然后只掃描大表:對于大表中的每一條記錄,在中查找是否有相同的的記錄,如果有,則連接后輸出即可。為了支持文件的復制,提供了一個類,使用該類的方法如下:( 1 )用戶使用靜態(tài)方法() 指定要復制的文件,它的參數(shù)是文件的(如果是上的文件,可以這樣::9000 ,其中 9000是自己配置的端口號)。在作業(yè)啟動之前會獲取這個列表,并將相應的文件拷貝到各個的本地磁盤上。( 2) 用戶使用() 方法獲取文件目錄,并使用標準的文件讀寫讀取相應的文件。2.3,也叫半連接,是從分布式數(shù)據(jù)庫中借鑒過來的方法。它的產(chǎn)生動機是:對于,跨機器的數(shù)據(jù)傳輸量非常大,這成了操作的一個瓶

16、頸, 如果能夠在端過濾掉不會參加操作的數(shù)據(jù),則可以大大節(jié)省網(wǎng)絡。實現(xiàn)方法很簡單:選取一個小表,假設是1,將其參與的抽取出來,保存到文件3 中, 3 文件一般很小,可以放到內存中。在階段, 使用將 3 復制到各個上,然后將 2 中不在 3 中的對應的記錄過濾掉,剩下的階段的工作與相同。2.4 +在某些情況下,抽取出來的小表的集合在內存中仍然存放不下,這時候可以使用以節(jié)省空間。最常見的作用是:判斷某個元素是否在一個集合里面。它最重要的兩個方法是:() 和 () 。最大的特點是不會存在,即:如果()返回, 則該元素一定不在集合中,但會存在一定的, 即: 如果 ()返回,則該元素可能在集合中。因而可將

17、小表中的保存到中,在階段過濾大表,可能有一些不在小表中的記錄沒有過濾掉(但是在小表中的記錄一定不會過濾掉),這沒關系,只不過增加了少量的網(wǎng)絡而已。37. 請用實現(xiàn)非遞歸二分查找?( )第一個位置.0;最高位置. 數(shù)組長度-1, 因為下標是從0 開始的 .1;當 指針 和不重復的時候.(1);與最中間的數(shù)字進行判斷, 是否相等, 相等的話就返回對應的數(shù)組下標.()如果小于的話則移動最高層的 指針 ()1;移動最低的 指針 21 / 331;-1;38.請簡述中,作用?:分區(qū)操作是操作中的一個重要過程,作用就是將的結果按照 規(guī)則分發(fā)到不同中進行處理,從而按照分區(qū)得到多個輸出結果 :每一個可能會產(chǎn)生

18、大量的輸出,的作用就是在端對輸出先做 一次合弁,以減少傳輸?shù)降臄?shù)據(jù)量39用如何處理數(shù)據(jù)傾斜問題1 .增加的內存2 .增加個數(shù)3 .4 .其他優(yōu)化的討論.5 .排序算法的討論6 .正在實現(xiàn)中的.7 .8 .9.尤其是23 / 3340 中內部表和外部表的區(qū)別內部表現(xiàn)有表后有數(shù)據(jù),數(shù)據(jù)在的目錄下管理外部表先有數(shù)據(jù)后有表,數(shù)據(jù)不再的目錄下管理刪除表時,內部表對應文件被刪除刪除表時,外部表對應的文件不會被刪除41 用使用非遞歸二分查找參看題 3742 如何處理大量小文件( 1)或者,是一個高效地將小文件放入塊中的文件存檔工具,它能夠將多個小文件打包成一個文件,這樣在減少內存使用的同時,仍然允許對文件進

19、行透明的訪問。對某個目錄下的所有小文件存檔成:當然,也可以指定的大小( 使用 ) 。是在 之上的一個文件系統(tǒng),因此所有命令對文件均可用,只不過是文件路徑格式不一樣,的訪問路徑可以是以下兩種格式:( 本節(jié)點 )可以這樣查看文件存檔中的文件:輸出:12使用時需要兩點,第一,對小文件進行存檔后,原文件并不會自動被刪除,需要用戶自己刪除;第二,創(chuàng)建文件的過程實際上是在運行一個作業(yè),因而需要有一個集群運行此命令。此外,還有一些缺陷:第一,一旦創(chuàng)建,便不可改變。要增加或移除里面的文件,必須重新創(chuàng)建歸檔文件。第二,要歸檔的文件名中不能有空格,否則會拋出異常,可以將空格用其他符號替換 ( 使用 和參數(shù) ) 。

20、( 2)由一系列的二進制組成,如果為小文件名,為文件內容,則可以將大批小文件合并成一個大文件。0.21.0 中提供了,包括,和類進行寫,讀和排序操作。如果版本低于 0.21.0 的版本,實現(xiàn)方法可參見3 。27 / 338)是一種新的,用于將多個文件合弁成一個單獨的,另外,它會 考慮數(shù)據(jù)的存儲位置。43中的默認保存幾份?3份44繼承那個類創(chuàng)建類繼承自己編寫一個方法,返回值和參數(shù)任意。45.請列出正常工作的集群中都需要啟動哪些進程,他們的作用 分別是什么?參看題3246、處理過程1)輸入文件()2)格式化輸入文件()3)分割器()4)5)6)分區(qū)和洗牌(& )9)格式化輸出()47、流程參看題4

21、848、上傳細節(jié)使用提供的客戶端開發(fā)庫,向遠程的發(fā)起請求;會檢查要創(chuàng)建的文件是否已經(jīng)存在,創(chuàng)建者是否有權限進 行操作,成功則會為文件創(chuàng)建一個記錄, 否則會讓客戶端拋出異 常;當客戶端開始寫入文件的時候,開發(fā)庫會將文件切分成多 個,弁在內部以數(shù)據(jù)隊列的形式管理這些,弁向申清新的, 獲取用來存儲的合適的列表,列表的大小根據(jù)在中對的設置而定。開始以(管道)的形式將寫入所 有的中。開發(fā)庫把以流的 方式寫入第一個,該把該存儲之后,再將其傳遞給在此中的下一個,直到最后一個,這種寫數(shù)據(jù)的方式呈流水線的形式。最后一個成功存儲之后會返回一個 ,在里傳遞至客戶端, 在客戶端的開發(fā)庫內部維護著”,成功收到返回的 后

22、會從 移除相應的。如果傳輸過程中,有某個出現(xiàn)了故障,那么當前的會被關29 / 33閉,出現(xiàn)故障的會從當前的中移除,剩余的會繼續(xù)剩下的中繼續(xù)以的形式傳輸,同時會分配一個新的,保持設定的數(shù)量。49、的做什么的是一個開放源碼的分布式協(xié)調服務,是一種典型的分布式數(shù)據(jù)一致性解決方案。由雅虎創(chuàng)建,貢獻給了。利用可以實現(xiàn)數(shù)據(jù)發(fā)布訂閱、負載均衡、命名服務、分布式協(xié)調 / 通知、集群管理、分布式鎖、分布式隊列等功能。50、是什么是 4 提供的一種新的方式,也叫做非阻塞式,特點是可以在非阻塞模式下進行工作,時都不會產(chǎn)生阻塞,從而可以解決在高并發(fā)場景下遇到的問題。51、的細節(jié)中的表在行的方向上分隔為多個,分散在不同

23、的中這樣做的目的是在查詢時可以將工作量分布到多個中以提高速度由 ) 表示是分布式存儲和負載均衡的最小單元要注意不在中,而是在的內存中,在內存 (其實也有數(shù)據(jù)在本地文件系統(tǒng)中,因為內存空間畢竟是有限的)中存儲數(shù)據(jù)以提高查詢性能,對于修改會將數(shù)據(jù)同步到中,以持久化數(shù)據(jù)。中的數(shù)據(jù)按照的字典順序(字典順序! ! !先比較第一位25 / 33果相同再比較第二位。)按序存儲,所以當以查詢數(shù)據(jù)時,可以提高速度。)按序存儲,所以當以查詢數(shù)據(jù)時,的分裂, 當變的很大時會分裂成兩個,存放到不同的中,防止一個過大,導致查詢其中數(shù)據(jù)時速度很慢的系統(tǒng)結構:主要有52、什么是分布式分布式處理則是將不同地點的,或具有不同功

24、能的,或擁有不同數(shù)據(jù)的多臺計算機通過通信網(wǎng)絡連接起來,在控制系統(tǒng)的統(tǒng)一管理控制下,協(xié)調地完成大規(guī)模信息處理任務的計算機系統(tǒng)。53 函數(shù)式編程的好處:1. 代碼簡潔,開發(fā)快速2. 接近自然語言,易于理解3. 更方便的代碼管理4. 易于“并發(fā)編程”5. 代碼的熱升級(函數(shù)式編程沒有副作用,只要保證接口不變,內部實現(xiàn)是外部無關的。所以,可以在運行狀態(tài)下直接升級代碼,不需要重啟,也不需要停機。)54 在中,比如啟動,會打印很多日志,什么命令可以不顯示這些日志? 可以通過在命令前增加上命令來實現(xiàn)55 的 加鎖是加部分鎖 是加的哪部分?數(shù)據(jù)分段上56 環(huán)形緩沖區(qū)集群搭配的作用和優(yōu)化?每個有一個環(huán)形內存緩沖

25、區(qū),用于存儲任務的輸出。默認大小100(屬性),一旦達到閥值0.8(), 一個后臺線程把內容寫到() 磁盤的指定目錄()下的新建的一個溢出寫文件。寫磁盤前,要。 如果有后續(xù)的數(shù)據(jù),將會繼續(xù)寫入環(huán)形緩沖區(qū)中,最終寫入下一個溢出文件中。環(huán)形緩沖區(qū)是一種緩沖區(qū)技術,通過首尾相接的方式循環(huán)使用緩沖區(qū),解決了數(shù)據(jù)量過大時緩沖區(qū)大小過大的問題。57 、原理和所有的都可以提供查詢功能只有能夠提供增刪改的功能,如果客戶端連接表示要進行增刪改,會將請求轉發(fā)給來處理。所有的增刪改的操作都會有一個版本號,這個版本號是遞增唯一的,用來記錄提案的順序。如何選老大?選老大情況1:集群剛啟動時,誰當老大都可以,一般是最先啟

26、動的做老大選老大情況2:老大掛了,集群會暫時停止對外服務進入選舉階段,所有都會廣播一個自己的所持有的最高版本給整個集群,當大家收到其他發(fā)過來的最高版本信息后,就會進行投票,投給收到的版本信息最高的,每個機器只能發(fā)一票,此時選擇集群中數(shù)據(jù)版本最高的機器做老大,任意一個當發(fā)現(xiàn)自己收到了過半的投票(自己也可以投給自己), 可以認為獲得了選舉勝利,可以成為了。老大如何決定一個提案是否通過?如果老大自己說了算,那么如果剛好老大掛了,其他人不知道老大同一的提案,可能就造成新選出來的不知道之前老大同意過的提案,從而造成違反一致性。不可行如果老大把提案發(fā)給所有人,所有人都同意了才能通過提案,這時如果集群中任意

27、一臺機器出問題,投票都無法進行,相當于存在單節(jié)點故障的可能。不可取。折中一下,老大收到提案后,發(fā)給所有人,所有人收到后都要回復老大,當老大收到過半同意的投票時,則通過這個提案。這樣一來,極端的情況下只要集群中有過半的機器還活著,選出來的老大是一定知道之前老大最后提案的。! 引申出來的結論是,集群必須過半存活才能正常工作!! 又引申出來的結論是,偶數(shù)臺機器提供的集群可靠性和偶數(shù) -1 臺機器提供的可靠性是相同的!所以集群中機器的數(shù)量最好是基數(shù)個。58、的可以存那些數(shù)據(jù)包括文件和之間關系的信息、數(shù)量信息、和之間的關系信息59 和傳統(tǒng)的面臨的問題:在執(zhí)行如下操作時會產(chǎn)生阻塞:在高并發(fā)場景下,如上的方

28、法產(chǎn)生的阻塞可能會產(chǎn)生一些無法避免的問題。在開發(fā)服務器程序時,通常針對于每一個客戶端都要創(chuàng)建一個線程來處理,而線程的開辟和運行是相當耗費資源的,服務器能夠運行的并發(fā)線程數(shù)量是很有限的。在高并發(fā)場景下,大量的客戶端并發(fā)連接導致服務器創(chuàng)建大量線程,會直接影響服務器的性能。 而一些場景下客戶端連接后傳輸?shù)臄?shù)據(jù)并不多,只是保持連接的狀態(tài),此時創(chuàng)建的大量線程閑置著浪費服務器資源。所以我們想到用少量的線程來處理多個客戶端的連接,但是這種方式下傳統(tǒng)會有阻塞的問題決定了是無法實現(xiàn)的。也叫做非阻塞式,特點是可以在非阻塞模式下進行工作,時都不會產(chǎn)生阻塞,從而可以解決在高并發(fā)場景下遇到的問題。: 面向流操作的是字節(jié)

29、或字符流只能單向傳輸數(shù)據(jù)操作的是字節(jié)或字符: 面向通道操作的是緩沖區(qū)通道可以雙向的傳輸數(shù)據(jù)操作的是緩沖區(qū)60 聚類包括那些?一堆數(shù)據(jù),怎么用聚類中的一個算法實現(xiàn)?算法接受輸入量k ;然后將n 個數(shù)據(jù)對象劃分為k 個聚類以便使得所獲得的聚類滿足:同一聚類中的對象相似度較高;而不同聚類中的對象相似度較小。聚類相似度是利用各聚類中對象的均值所獲得一個“中心對象”(引力中心)來進行計算的。算法的工作過程說明如下:首先從 n 個數(shù)據(jù)對象任意選擇k 個對象作為初始聚類中心;而對于所剩下其它對象,則根據(jù)它們與這些聚類中心的相似度(距離),分別將它們分配給與其最相似的(聚類中心所代表的)聚類;然后再計算每個所獲新聚類的聚類中心(該聚類中所有對象的均值);不斷重復這一過程直到標準測度函數(shù)開始收斂為止。. k 個聚類具有以下特點:各聚類本身盡可能的緊湊,而各聚類之間盡可能的分開。(中心法)有其缺點:產(chǎn)生類的大小相差不會很大,對于臟數(shù)據(jù)很敏感。改進的算法:k方法。 這兒選取一個對象叫做來代替上面的中心的作用,這樣的一個就標識了這個類。和不一樣的地方在于中心點的選取,在中, 我們將中心點取為當前中所有數(shù)據(jù)點的平均值, 在 算法中, 我們將從當前中選取這樣一個點它到

溫馨提示

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

評論

0/150

提交評論