在不讨论所有其他性能因素,磁盘空间和Name节点对象的情况下,复制因素如何改善MR,Tez和Spark的性能。
例如,如果我们有5个数据节点,那么执行引擎将复制设置为5会更好吗?最佳和最差值是多少?
这对于聚合,联接和仅映射作业有什么好处?
答案 0 :(得分:2)
Hadoop的主要租户之一正在将计算转移到数据上。
如果将复制因子设置为大约等于数据节点的数量,则可以确保每台计算机都能够处理该数据。
但是,正如您提到的,namenode的开销非常重要,并且更多的文件或副本会导致请求缓慢。更多副本也会使您的网络处于不正常运行的群集中。我从来没有见过高于5的东西,这仅用于公司最关键的数据。还有其他东西,他们留下了两个副本
在大多数情况下,执行引擎只比Tez / Spark胜过MR无关紧要,但更重要的是文件的大小和存储的格式-这将成为执行性能的主要驱动力