<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                :-: ![](https://img.kancloud.cn/ec/ff/ecff7985d4b12fc628d2341a503b6a97_816x493.png) HDFS讀流程 1. 首先調用 FileSystem.open()方法,獲取到 DistributedFileSystem 實例。 2. DistributedFileSystem 向 Namenode 發起 RPC(遠程過程調用)請求獲得文件的開始部分或全部 block 列表,對于每個返回的塊,都包含塊所在的DataNode 地址。這些 DataNode 會按照 Hadoop 定義的集群拓撲結構得出客戶端的距離,然后再進行排序。如果客戶端本身就是一個 DataNode,那么他將從本地讀取文件。 3. DistributedFileSystem 會向客戶端 client 返回一個支持文件定位的輸入流對象FSDataInputStream,用于客戶端讀取數據。FSDataInputStream 包含一個DFSInputStream 對象,這個對象用來管理 DataNode 和 NameNode 之間的 I/O。 4. 客戶端調用 read()方法,DFSInputStream 就會找出離客戶端最近的datanode 并連接 datanode。 5. DFSInputStream 對象中包含文件開始部分的數據塊所在的 DataNode 地址,首先它會連接包含文件第一個塊最近 DataNode。隨后,在數據流中重復調用 read()函數,直到這個塊全部讀完為止。如果第一個 block 塊的數據讀完,就會關閉指向第一個 block 塊的datanode 連接,接著讀取下一個 block 塊。 6. 如果第一批 block 都讀完了,DFSInputStream 就會去 NameNode 拿下一批blocks 的 location,然后繼續讀,如果所有的 block 塊都讀完,這時就會關閉掉所有的流。<br/> 注意:NameNode 只是返回 Client 請求包含塊的 DataNode 地址,并不是返回請求塊的數據。最終讀取來所有的 block 會合并成一個完整的最終文件。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看