hive.tez.container.size 和 tez.task.resource.memory.mb 之间的区别

Difference between hive.tez.container.size and tez.task.resource.memory.mb

有人知道并向我解释一下 Tez 的这些设置之间的区别吗?

hive.tez.container.sizetez.task.resource.memory.mb

谢谢。

hive.tez.container.size

此 属性 指定 tez 容器大小。通常此 属性 的值应与 YARN 容器大小 yarn.scheduler.minimum-allocation-mb 相同或小倍数(1 或 2 倍)并且应该不超过 yarn.scheduler.maximum-allocation-mb 的值。

作为一般规则,不要将值设置为高于每个处理器的内存,因为您希望每个容器 1 个处理器并且您希望启动多个容器。

您可以在 Hortonworks 社区答案上找到非常详细的答案和很棒的架构图 here

tez.task.resource.memory.mb

TEZ 容器中启动的任务使用的内存量。通常这个值是在 DAG 中设置的,但如果不是,那么默认情况下它将设置为 1024 MB。

DAG 中的所有任务都将具有相同的大小,这有助于容器重用并且对性能也有好处。