4

我想更好地了解在 tez 引擎中如何计算输入拆分。

我知道 hive.input.format 属性可以设置为HiveInputFormat(默认)或CombineHiveInputFormat(通常接受大小为 << hdfs 块大小的大量文件)。

我希望有人可以引导我了解HiveInputFormatCombineHiveInputFormat如何计算拆分大小的差异,因为数据文件大小从小(小于一个块)到大(跨越多个块)不等。

我想指定为扫描表而生成的映射器任务的数量。对于 MR 引擎,这可以通过设置mapred.min.split.sizemapred.max.split.size属性来控制。我需要知道 tez 引擎是否有类似的配置。

此外,属性tez.grouping.max-sizetez.grouping.min-sizetez.grouping.split-waves已分别设置为 1GB、16MB 和 1.7 的值。但是我观察到创建的输入拆分不符合这些属性。

我有两个大小为 3MB 的文件用于一张表。根据设置的属性,应该只产生 1 个映射器任务,但产生了 2 个映射器任务。

hive/tez 中是否还有其他属性需要设置以启用输入拆分分组?

我将非常感谢任何投入。

谢谢!

4

0 回答 0