Hadoop 少量map/reduce任务执行慢问题

简介: 最近在做报表统计,跑hadoop任务。之前也跑过map/reduce但是数据量不大,遇到某些map/reduce执行时间特别长的问题。执行时间长有几种可能性:1. 单个map/reduce任务处理的任务大。

最近在做报表统计,跑hadoop任务。

之前也跑过map/reduce但是数据量不大,遇到某些map/reduce执行时间特别长的问题。

执行时间长有几种可能性:

1. 单个map/reduce任务处理的任务大。

    需要注意每个任务的数据处理量大小不至于偏差太大。可以切割部分大文件。

2. map数量过多, reduce拉取各方数据慢

    这种情况,可以在中间加一轮map过程A。

    即map -> mapA - > reduce,来减少reduce拉取数据的源头的个数

3. 遇到了执行慢节点

    hadoop 可以执行推测执行。对于某些耗时长的任务,如果集群有多余的slot可以启动额外的任务执行。

    如果对于同一个map(或者reduce),有任何一个相同map执行完成。则其他任务会被kill, 该map(或者reduce)执行完成。

    这种情况完全避免了,慢节点问题。

  推测执行参数: mapred.map.tasks.speculative.execution 和 mapred.reduce.tasks.speculative.execution 默认开启。

   

map/reduce官方默认参数: https://hadoop.apache.org/docs/r1.0.4/mapred-default.html

相关文章
|
4月前
|
JavaScript 前端开发
解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
41 1
|
4月前
|
开发者 Python
Python中的函数式编程:理解map、filter和reduce
【2月更文挑战第13天】 本文深入探讨了Python中函数式编程的三个主要工具:map、filter和reduce。我们将详细解释这些函数的工作原理,并通过实例来展示它们如何使代码更简洁、更易读。我们还将讨论一些常见的误解和陷阱,以及如何避免它们。无论你是Python新手还是有经验的开发者,本文都将帮助你更好地理解和使用这些强大的函数。
|
3月前
|
Python
高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作
【6月更文挑战第20天】高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作。装饰器如`@timer`接收或返回函数,用于扩展功能,如记录执行时间。`timer`装饰器通过包裹函数并计算执行间隙展示时间消耗,如`my_function(2)`执行耗时2秒。
28 3
|
4月前
|
分布式计算 Hadoop 调度
Hadoop节点的任务重试机制
【5月更文挑战第15天】
43 4
|
2月前
|
人工智能 算法 大数据
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
这篇内容介绍了编程中避免使用 for 循环的一些方法,特别是针对 Python 语言。它强调了 for 循环在处理大数据或复杂逻辑时可能导致的性能、可读性和复杂度问题。
38 6
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
|
2月前
|
分布式计算 监控 Hadoop
Hadoop任务执行失败
【7月更文挑战第12天】
61 10
|
1月前
|
分布式计算 Python
【python笔记】高阶函数map、filter、reduce
【python笔记】高阶函数map、filter、reduce
|
2月前
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
55 1
|
3月前
|
Python
在Python中,`map()`, `filter()` 和 `reduce()` 是函数式编程中的三个核心高阶函数。
【6月更文挑战第24天】Python的`map()`应用函数到序列元素,返回新序列;`filter()`筛选满足条件的元素,生成新序列;`reduce()`累计操作序列元素,返回单一结果。
29 3
|
3月前
|
数据采集 SQL 分布式计算

相关实验场景

更多