我想更好地了解在 tez 引擎中如何计算输入拆分。
我知道 hive.input.format 属性可以设置为HiveInputFormat(默认)或CombineHiveInputFormat(通常接受大小为 << hdfs 块大小的大量文件)。
我希望有人可以引导我了解HiveInputFormat和CombineHiveInputFormat如何计算拆分大小的差异,因为数据文件大小从小(小于一个块)到大(跨越多个块)不等。
我想指定为扫描表而生成的映射器任务的数量。对于 MR 引擎,这可以通过设置mapred.min.split.size和mapred.max.split.size属性来控制。我需要知道 tez 引擎是否有类似的配置。
此外,属性tez.grouping.max-size、tez.grouping.min-size和tez.grouping.split-waves已分别设置为 1GB、16MB 和 1.7 的值。但是我观察到创建的输入拆分不符合这些属性。
我有两个大小为 3MB 的文件用于一张表。根据设置的属性,应该只产生 1 个映射器任务,但产生了 2 个映射器任务。
hive/tez 中是否还有其他属性需要设置以启用输入拆分分组?
我将非常感谢任何投入。
谢谢!