91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hadoop文件讀取的示例分析

發布時間:2021-12-09 15:52:29 來源:億速云 閱讀:92 作者:小新 欄目:云計算

這篇文章主要為大家展示了“Hadoop文件讀取的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Hadoop文件讀取的示例分析”這篇文章吧。

Hadoop文件讀取的示例分析

                客戶端通過調用FileSystem對象的open()方法來打開希望讀取的文件,對于HDFS來說,這個對象是分布式系統(步驟1)的一個實例。DistributedFileSystem通過使用RPC來調用namenode,以確定文件起始塊的位置(步驟2),對于每一個塊,namenode返回存有該塊復本的datanode地址,此外,這些datanode(比如,在一個MapReduce任務中),并保存有相應數據庫的一個復本時,該節點將本地datanode中讀取數據。DistributedFileSystem累返回一個FSDataInputStream對象(一個支持文件定位的輸入流)給客戶端并讀取數據。FSDataInputStream類轉而封裝DFSInputStream對象,該對象管理著datanode和namenode的I/O,接著,客戶端對這個輸入流調用read()方法(步驟3)。存儲著文件起始塊的datanode地址的DFSInputStream隨機連接距離最近的datanode。通過對數據流反復調用read()方法,可以將數據從datanode傳輸到客戶端(步驟4).到達塊的末端時,DFSInputStream會關閉與該datanode的連接,然后需找下一個塊的最近datanode(步驟5)。客戶端只需要讀取連續的流,并且操作對于客戶端都是透明的。客戶端從流中讀取數據時,塊是按照打開DFSInputStream與datanode新建連接的順序讀取的,它也需要詢問namenode來檢索下一批所需快的datanode的位置,一旦客戶端完成讀取,就對FSDataInputStream調用close()方法(步驟6)。在讀取數據的時候,如果DFSInputStream在與datanode通信時遇到錯誤,它便會嘗試從這個快的另外一個最領近datanode讀取數據。它也會機主那個故障datanode,以保證以后不會反復讀取該節點上后續的塊。DFSInputStream也會通過校驗和確認從datanode發來的數據是否完整。如果發現一個損壞的塊,它就會在DFSInputStream視圖從其他datanode讀取一個塊的復本之前通知namenode。這個設計的一個重點是:namenode告知客戶端每個塊中最近的datanode,并讓客戶端直接聯系該datanode且檢索鎖具。由于數據流分散在該集群中的所有datanode,所以這種設計能使HDFS可擴展到大量的并發客戶端。同時,namenode僅需要相應塊位置的請求(這些信息存儲在內存中,因而非常高效),而無需相應數據請求,否則隨著客戶端數據的增長,namenode很快會變為一個瓶頸。

以上是“Hadoop文件讀取的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太谷县| 五大连池市| 虎林市| 兴城市| 永胜县| 台江县| 厦门市| 浦东新区| 石河子市| 洛阳市| 内乡县| 碌曲县| 兴文县| 正镶白旗| 顺昌县| 湟源县| 云霄县| 广德县| 南康市| 秦皇岛市| 定州市| 色达县| 肥城市| 巢湖市| 遵义市| 罗山县| 德化县| 成武县| 北碚区| 星子县| 资兴市| 墨江| 武平县| 佛学| 平原县| 苏尼特左旗| 青海省| 句容市| 翁牛特旗| 花垣县| 专栏|