1. 程式人生 > >mapreduce的map個數決定因素

mapreduce的map個數決定因素

轉載:https://www.cnblogs.com/codeOfLife/p/5676754.html

在map階段讀取資料前,FileInputFormat會將輸入檔案分割成split。split的個數決定了map的個數。影響map個數(split個數)的主要因素有:

  1) 檔案的大小。當塊(dfs.block.size)為128m時,如果輸入檔案為128m,會被劃分為1個split;當塊為256m,會被劃分為2個split。

  2) 檔案的個數。FileInputFormat按照檔案分割split,並且只會分割大檔案,即那些大小超過HDFS塊的大小的檔案。如果HDFS中dfs.block.size設定為128m,而輸入的目錄中檔案有100個,則劃分後的split個數至少為100個。

  3) splitsize的大小。分片是按照splitszie的大小進行分割的,一個split的大小在沒有設定的情況下,預設等於hdfs block的大小。但應用程式可以通過兩個引數來對splitsize進行調節

    InputSplit=Math.max(minSize, Math.min(maxSize, blockSize)

    其中:

      minSize=mapred.min.split.size

      maxSize=mapred.max.split.size

    我們可以在MapReduce程式的驅動部分新增如下程式碼:

      TextInputFormat.setMinInputSplitSize(job,1024L); // 設定最小分片大小

      TextInputFormat.setMaxInputSplitSize(job,1024×1024×10L); // 設定最大分片大小

    總結如下:

      當mapreduce.input.fileinputformat.split.maxsize > mapreduce.input.fileinputformat.split.minsize > dfs.blockSize的情況下,此時的splitSize 將由mapreduce.input.fileinputformat.split.minsize引數決定

      當mapreduce.input.fileinputformat.split.maxsize > dfs.blockSize > mapreduce.input.fileinputformat.split.minsize的情況下,此時的splitSize 將由dfs.blockSize配置決定

      當dfs.blockSize > mapreduce.input.fileinputformat.split.maxsize > mapreduce.input.fileinputformat.split.minsize的情況下,此時的splitSize將由mapreduce.input.fileinputformat.split.maxsize引數決定。


相關推薦

徹底明白Hadoop map和reduce的個數決定因素

Hadoop map和reduce的個數設定,困擾了很多學習Hadoop的成員,為什麼設定了配置引數就是不生效那?Hadoop Map和Reduce個數,到底跟什麼有關係。首先他的引數很多,而且可能隨著版本不同一些配置引數,會發生一些變化,但是隻要我們搞懂核心問題,那麼其它

mapreduce的map個數決定因素

轉載:https://www.cnblogs.com/codeOfLife/p/5676754.html在map階段讀取資料前,FileInputFormat會將輸入檔案分割成split。split的個數決定了map的個數。影響map個數(split個數)的主要因素有:  1

Hadoop中maptask數量的決定因素

post for PE wordcount 用戶 submitjob IT 子目錄 val 剛開始接觸hadoop平臺的時候 部分初學者對於mapreduce中的maptask的數量是怎麽確定的 可能有點迷惑,如果看了jobclient裏面的maptask初始化的那段源碼,

專訪Cocos-BCX陳昊芝:使用者滲透率是區塊鏈遊戲爆發的唯一決定因素

  發展的道路是曲折的,前途是光明的。這句話在區塊鏈遊戲領域或許同樣適用。   遊戲具有數字資產的天然屬性,被認為是區塊鏈最有可能率先落地的領域之一。一方面,傳統遊戲大公司紛紛開始將觸角延伸到區塊鏈遊戲領域,另一方面,更多的遊戲開發團隊還在觀望,目前的區塊鏈

MapReduce之mapper以及reducer的個數決定性因素

這個圖大概可以描述mapreduce計算模型的執行過程,下面我們就圍繞這個圖聊幾個問題,其中有工作中非常有用的問題: 1. mapper的個數  結論:mapper的個數是由輸入資料的大小決定的,一般不需要我們去設定,如果你想控制mapper的個數,那麼需要先了解hadoop

資料分析師的薪資決定因素

很多人想進入資料分析行業,他們都想了解一下資料分析師的薪資,這是因為資料分析行業當前比較火爆,並且薪資都是比較高的,不過資料分析師的薪資高也是需要一定的條件和因素去支撐的,大家可以通過這篇文章瞭解一下資料分析師的薪資決定因素,這樣如果想轉行進入到資料分析領域,也知道自己應該努力的方向在

Yarn下的YarnChild啟動個數決定引數

Yarn下的mapper和reducer併發執行個數有什麼決定的呢? 由排程的資源決定的,也就是說啟動的YarnChild個數多少取決於資源的分配和free的資源量 引數說明: conf/yarn-site.xml yarn.nodemanager.resource.mem

聊聊成為大神路上的過程(決定偉大水平和一般水平的關鍵因素,既不是天賦,也不是經驗,而是[刻意練習]的程度,要多看別人的代碼)

www 思維 原因 時間管理 匯報 何事 why 連續 準則 每個人都在成為大神的路上,只不過有的人在走,而有的人在跑。 寫在前面的話 在開始正文之前我先跟大家分享一個我身邊的例子。我有兩個朋友,A和B。B從高一開始打dota,A從高二開始,到高中畢業的時候,A已經是一

感悟:決定一個系統走勢是多因素構成,而非單一因素決定

.get key eve while src 一個數 遺傳 隨機 初始化 例如癌癥,醫生常說抽煙致癌,不要抽煙,但實際生活中抽煙長壽的人不少,我的姨婆九十多歲了,每日抽煙喝酒,身體也不錯。決定癌癥的因素很多,例如遺傳,飲食,起居時間,居住環境,化工汙染等等。下圖轉自一份醫學

基本面分析-決定和影響證券價格的因素

信用 人事 銀行 變更 環境 段落 政策 市場價格 基本面 政治、經濟、行業、經營、心理。 證券基本分析有兩項基本任務:   1、一項任務是評估證券的內在價值,其作用在於為判斷證券市場價格的高低確立一個參照標準。   2、另一個主要任務就是因素分析。它是試圖通過對與證券價格

要求編寫一個數等於他的所有因素的和;機器顯示編程可以的但是運行起來沒有任何結果;

aer 要求 tar smf mfs target chat blank mod b76smfs67y翰都床胤厴賞煩魯覆銥《http://weibo.com/p/230927988058962421096448》 n3b8oaerwl丫蝸酪由屏忌乇壞概茄《http://w

程式語言基礎是決定程式設計師能走多遠的重要因素

最近發現很多身邊的程式設計師都堅持不下去,最後轉行做其他行業,從畢業到現在兩年的時間內,在程式設計師道路上走了不少彎路,最後總結出來:程式語言基礎是決定程式設計師是否走得下去。 程式語言基礎大家都不陌生,比如簡單陣列運用,計算語法,判斷語法等,要清楚和了解常見的程式語言用法並掌握它,這是

決定網站空間訪問速度的因素有哪些

電腦配置 java 如果 出口 代碼 讀取數據 來講 script .com 如果從服務器端和客戶端方面來講的的話:服務器端影響網站訪問速度的因素1.網站程序所在服務器的性能高低配置好壞。服務器配置越高處理和響應程序時間越短。2.服務器的出口帶寬。每一臺服務器分配的帶寬不同

決定Java程式設計師工資高低的三個因素

因為工資高,吸引了一大批人紛紛加入IT行業。的確,就目前的形勢來看,IT行業的平均工資確實高於一般行業,但這並以為只要進入這一行就是高工資,想要獲得高工資還是看個人技術和其他因素的。 本篇文章總結了影響Java程式設計師工資高低的三個因素,大家可以酌情參考:   1、基本

索引能夠發揮作用,主要由兩個因素決定,返回行數和叢集因子

主要根據叢集因子的大小來決定 叢集因子(CLUSTERING_FACTOR)是對錶的有序性的量度,通過一個索引掃描一張表時需要訪問表的資料庫的數量; 一個欄位上有索引,但有時執行sql語句時看執行計劃時不走索引,就有可能是叢集因子過高導致的。   叢集因子的計算方法:

大資料08-reduce task個數到底和哪些因素有關

1、我們知道map的數量和檔案數、檔案大小、塊大小、以及split大小有關,而reduce的數量跟哪些因素有關呢? 設定mapred.tasktracker.reduce.tasks.maximum的大小可以決定單個tasktracker一次性啟動reduce的數目,但是不能決定總的reduce

Hive怎樣決定reducer個數

Hadoop MapReduce程式中,reducer個數的設定極大影響執行效率,這使得Hive怎樣決定reducer個數成為一個關鍵問題。遺憾的是Hive的估計機制很弱,不指定reducer個數的情況下,Hive會猜測確定一個reducer個數,基於以下兩個設定: 1

reduce個數到底和哪些因素有關

reduce的數目到底和哪些因素有關 1、我們知道map的數量和檔案數、檔案大小、塊大小、以及split大小有關,而reduce的數量跟哪些因素有關呢?  設定mapred.tasktracker.reduce.tasks.maximum的大小可以決定單個tasktra

劍指Offer之二進制中1的個數

基於 不變 () 分析 private [] 一位 code 一個數  思路分析:   首先分析把一個數減去1的情況,如果一個整數不等於0,那麽改整數的二進制表示其中至少有一位是1.先假設這個數的最右邊是1,那麽減去1時,最後一位變成0而其他所有位都保持不變。也就是最後一位

【Linux】Linux下統計當前文件夾下的文件個數、目錄個數

article logs 過濾 ref bash 輸出 子文件夾 http 輸出信息 統計當前文件夾下文件的個數,包括子文件夾裏的 ls -lR|grep "^-"|wc -l 統計文件夾下目錄的個數,包括子文件夾裏的 ls -lR|grep "^d"