我知道这个简单的问题,我需要这个社区在这个查询上提供一些帮助,当我用ORC格式创建PartitionTable时,当我尝试从非分区表中转储数据时--它指向2GB文件中的210个列--我看到Mapper的数量是2,减法器是2。有没有办法增加Mapper和减速器。我的假设是,不能像MR1.0那样设置Mapper和减速器的数量,它是基于纱线容器大小、Mapper最小内存和最大内存等设置的。谁能建议我TEz计算地图和减速器。什么是保持内存大小设置的最佳值,这样我就不会遇到这样的问题: Java堆空间,Java内存问题。我的文件大小可能会增长到100 My。请帮帮我。
发布于 2015-03-03 00:15:41
您仍然可以在纱中设置映射器和减速机的数量。你试过吗?如果是,请回到这里来。
纱线改变了底层的执行机制,但是#映射器和减少器描述的是作业需求--而不是作业资源的分配方式(这就是纱线和mrv1的区别)。
传统的Map/Reduce有一个硬编码的映射数,并减少了“时隙”。正如您所说,Yarn使用每个应用程序的容器。因此,纱线更灵活。但在这两种情况下,#映射器和减速器都是作业的输入。而且,在这两种情况下,映射器和减速器的实际数量可能与所要求的数目不同。通常,#减速机要么是
发布于 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设置为与容器大小相同的值通常会导致问题。
https://stackoverflow.com/questions/28821048
复制相似问题