hadoop开发,hdfs块大小对程序执行时间的影响

 因为hdfs块大小,会影响程序启动的mapper数量,mapper数量启动的太多,对程序不好,浪费了很多时间在启动mapper上。所以今天我测试了下,hdfs快文件大小,对执行时间的影响。
数据源是70个350M的文本文件,这些文件的块大小分别是,64M,128M,256M,512M,
我担心程序执行的偶然性,所以每种情况下,我都执行了5次。

hdfs块大小:64M,程序启动的map数:420,5次的执行时间分别为:
3mins, 9sec
3mins, 7sec
3mins, 20sec
3mins, 58sec
3mins, 30sec
hdfs块大小:128M,程序启动的map数:210,5次的执行时间分别为:
2mins, 50sec
2mins, 49sec
2mins, 28sec
2mins, 21sec
3mins, 2sec
hdfs块大小:256M,程序启动的map数:140,5次的执行时间分别为:
2mins, 38sec
2mins, 33sec
2mins, 15sec
2mins, 8sec
2mins, 19sec
hdfs块大小:512M,程序启动的map数:70,5次的执行时间分别为:
2mins, 31sec
2mins, 9sec
2mins, 6sec
2mins, 2sec
2mins, 10sec

从测试结果来看,当块大小为512M时,启动的mapper数最少,执行效率最高。当然块大小也不能越大越好,因为,万一这个task失败了,就要重启一个task,把刚刚task的任务从头开始再运行一遍。

你可能感兴趣的:(hadoop开发,hdfs块大小对程序执行时间的影响)