使用镶木地板格式时如何控制地图绘制器的数量

时间:2016-04-27 05:13:11

标签: performance hadoop mapreduce hive parquet

我正在为我的蜂巢表使用镶木地板格式。我看到这些表的存储量得到了很大改善。当我在这些表上运行一些查询时,与我在文本格式的相同表上运行相同查询时相比,启动的映射器数量要少得多。因此,启动的映射器数量非常少,对镶木地板格式的配置单元查询需要很长时间才能完成。 (我怀疑这是因为小尺寸的拼花格式)。 有没有办法改善镶木地板格式的运行时间,换句话说,在运行配置单元查询时控制映射器的数量?

1 个答案:

答案 0 :(得分:0)

如果您使用带有Tez引擎的配置单元,则默认输入格式(决定数据的拆分数量)是 HiveInputFormat 类。您可以使用set命令更改输入格式类,如此

set hive.input.format=hive.tez.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;

现在,您可以通过更改属性

来控制输入拆分的数量

mapreduce.input.fileinputformat.split.maxsize mapreduce.input.fileinputformat.split.minsize

并将它们设置为所需的字节数。

CombineHiveInputFormat 类还将单独的文件组合成单个拆分,以防每个文件的大小为<< dfs.block.size。