首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特兹。慢速减速器

特兹。慢速减速器
EN

Stack Overflow用户
提问于 2016-02-15 16:53:33
回答 1查看 3.1K关注 0票数 1

我对TEZ mapreduce有奇怪的行为。

我试图从Hive读取日志数据,将其按id、日期和其他参数分成若干块,然后写入另一个单元表。

Map阶段的工作速度足够快,大约需要20分钟,比减速机开始工作要快得多,458台减速器中的453台在接下来的20分钟内处理所有数据。但是最后5个减速器工作了大约一个小时。

这是因为我的输入数据包含了一些巨大的条目,处理这些条目需要花费大量的时间。这类案件的最佳做法是什么?我应该对hadoop/tez/hive进行一些调优,以允许对最后一个还原器进行类似的并行处理,还是将输入数据拆分到其他参数以避免巨大的条目会更明智?

谢谢你的建议。

EN

回答 1

Stack Overflow用户

发布于 2016-02-15 22:59:29

这种不那么奇怪的行为背后的神奇词汇是偏斜。这是一个非常普遍的问题。通常人们更喜欢忽略这个问题..。直到他们真正感受到疼痛(就像你现在一样)。

使用TEZ,因为https://issues.apache.org/jira/browse/HIVE-7158可以尝试修改一些特定的属性:

代码语言:javascript
复制
hive.tez.auto.reducer.parallelism
hive.tez.max.partition.factor
hive.tez.min.partition.factor

但是,当您有几个可以合并的异常小的减少数据集时,这个“自动并行”功能似乎适用,而您的问题正好相反(一个异常大的精简数据集)。所以你也应该试着修补一下

代码语言:javascript
复制
hive.exec.reducers.bytes.per.reducer
hive.exec.reducers.max 

...to改变规模,使“大”成为新的“正常”(因此“正常”变成“小”)。但是,也许你能得到的只有3台减速机,它们都需要1小时才能完成。很难说。

祝好运。这种性能调优更像是艺术而不是科学。

参考资料:

代码语言:javascript
复制

PS:当然,如果您可以通过改变组织输入数据集的方式来消除偏斜的来源.

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35414830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档