中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

和平区| 江华| 上高县| 长乐市| 新乡县| 兴国县| 高阳县| 定安县| 南丹县| 丽水市| 昭通市| 晋城| 台前县| 永清县| 油尖旺区| 松滋市| 宣化县| 铜鼓县| 赫章县| 化隆| 兖州市| 读书| 海兴县| 安泽县| 辽宁省| 富锦市| 永定县| 长宁区| 缙云县| 临夏县| 石渠县| 胶南市| 呼玛县| 工布江达县| 商城县| 葫芦岛市| 江西省| 玉树县| 渭南市| 太湖县| 炉霍县|