亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

临夏市| 驻马店市| 绥棱县| 油尖旺区| 海兴县| 法库县| 巴彦县| 涞源县| 木里| 遂平县| 南京市| 西充县| 铜鼓县| 于田县| 吉林市| 华坪县| 澎湖县| 长海县| 汝阳县| 南澳县| 盐亭县| 贡嘎县| 家居| 鞍山市| 成安县| 鸡东县| 双流县| 聂荣县| 西林县| 宜宾市| 长沙市| 响水县| 垣曲县| 隆子县| 兴宁市| 嘉善县| 洛川县| 渑池县| 镇宁| 即墨市| 楚雄市|