首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Apache TEZ中增加Mappers和Reducer

如何在Apache TEZ中增加Mappers和Reducer
EN

Stack Overflow用户
提问于 2015-03-02 23:00:55
回答 2查看 2.4K关注 0票数 1

我知道这个简单的问题,我需要这个社区在这个查询上提供一些帮助,当我用ORC格式创建PartitionTable时,当我尝试从非分区表中转储数据时--它指向2GB文件中的210个列--我看到Mapper的数量是2,减法器是2。有没有办法增加Mapper和减速器。我的假设是,不能像MR1.0那样设置Mapper和减速器的数量,它是基于纱线容器大小、Mapper最小内存和最大内存等设置的。谁能建议我TEz计算地图和减速器。什么是保持内存大小设置的最佳值,这样我就不会遇到这样的问题: Java堆空间,Java内存问题。我的文件大小可能会增长到100 My。请帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-03 00:15:41

您仍然可以在纱中设置映射器和减速机的数量。你试过吗?如果是,请回到这里来。

纱线改变了底层的执行机制,但是#映射器和减少器描述的是作业需求--而不是作业资源的分配方式(这就是纱线和mrv1的区别)。

传统的Map/Reduce有一个硬编码的映射数,并减少了“时隙”。正如您所说,Yarn使用每个应用程序的容器。因此,纱线更灵活。但在这两种情况下,#映射器和减速器都是作业的输入。而且,在这两种情况下,映射器和减速器的实际数量可能与所要求的数目不同。通常,#减速机要么是

  • (a)所要求的确切数目
  • (b)精确的一种减速机
票数 1
EN

Stack Overflow用户

发布于 2015-03-22 22:42:10

对于内存设置,如果您使用的是与tez一起使用的单元格,则以下两个设置将对您有用:

1) hive.tez.container.size --这是将要使用的纱线容器的大小(以MB为单位)。

2) hive.tez.java.opts --这是针对将用于每个任务的java选项的。如果容器大小设置为1024 MB,则设置java选择说"-Xmx800m“而不是"-Xmx1024m”。纱线杀死比指定容器大小使用更多内存的进程,并且考虑到java进程的内存占用量通常会超过指定的Xmx值,因此将Xmx设置为与容器大小相同的值通常会导致问题。

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

https://stackoverflow.com/questions/28821048

复制
相关文章

相似问题

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