如何控制使用Parquet格式时Map器的数量

dxxyhpgq  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(387)

我使用Parquet地板格式为我的Hive表。我看到这些表的存储有了很大的改进,当我在这些表上运行一些查询时,启动的Map程序的数量比在相同的文本格式的表上运行相同的查询时少得多。因此,启动的Map器数量非常少,对Parquet格式的配置单元查询需要很长时间才能完成我怀疑这是因为小尺寸Parquet地板格式)。有什么方法可以提高parquet格式的运行时间,或者在运行配置单元查询时控制Map器的数量?

bpsygsoo

bpsygsoo1#

如果您将hive与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的情况下将单独的文件合并到一个分割中。

相关问题