<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 功能強大 支持多語言、二開方便! 廣告
                [TOC] # 簡介 關于大量小文件的優化策略 默認情況下TextInputFormat對任務的切片機制是按文件規劃切片,不管文件多小,都會是一個單獨的切片,都會交給一個maptask,這樣如果有大量小文件,就會產生大量的maptask,處理效率極其低下 **方法** 1. 最好的辦法,在數據處理系統的最前端(預處理/采集),將小文件先合并成大文件,再上傳到HDFS做后續分析 2. 補救措施:如果已經是大量小文件在HDFS中了,可以使用另一種InputFormat來做切片(CombineTextInputFormat),他的切片邏輯跟TextFileInputFormat不同,他可以將多個小文件從邏輯規劃到一個切片中.這樣多個小文件可以交給一個maptask 3. 優先滿足最小切片大小,不超過最大切片大小 ~~~ CombineTextInputFormat.setMaxInputSplitSize(job, 4194304); //4m CombineTextInputFormat.setMinInputSplitSize(job, 2097152); //2m ~~~ 舉例: 0.5m+1m+0.3m+5m=2m+4.8m=2m+4m+0.8m # 實現步驟 ~~~ Import org.apache.hadoop.mapreduce.lib.input ~~~ ~~~ //如果不設置InputFormat,他默認用的是TextInputFormat.class job.setInputFormatClass(CombineTextInputFormat.class); CombineTextInputFormat.setMaxInputSplitSize(job, 4194304); //4m CombineTextInputFormat.setMinInputSplitSize(job, 2097152); //2m ~~~ 觀察切片數 ![](https://box.kancloud.cn/9dca6dadc7f91a0bed4840d5de84abf7_648x18.png) # 分析 他這個輸入還是按照文件來的,如果一個文件小于設置的最小值,他會累加文件,如果累加的文件大于設置的最大值就會切片
                  <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>

                              哎呀哎呀视频在线观看