我使用Parquet地板格式为我的Hive表。我看到这些表的存储有了很大的改进,当我在这些表上运行一些查询时,启动的Map程序的数量比在相同的文本格式的表上运行相同的查询时少得多。因此,启动的Map器数量非常少,对Parquet格式的配置单元查询需要很长时间才能完成我怀疑这是因为小尺寸Parquet地板格式)。有什么方法可以提高parquet格式的运行时间,或者在运行配置单元查询时控制Map器的数量?
bpsygsoo1#
如果您将hive与tez引擎一起使用,那么默认的输入格式(决定数据的拆分数量)是hiveinputformat类。您可以使用 set 像这样指挥
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的情况下将单独的文件合并到一个分割中。
mapreduce.input.fileinputformat.split.minsize
1条答案
按热度按时间bpsygsoo1#
如果您将hive与tez引擎一起使用,那么默认的输入格式(决定数据的拆分数量)是hiveinputformat类。您可以使用
set
像这样指挥现在可以通过改变属性来控制输入拆分的数量
mapreduce.input.fileinputformat.split.maxsize
mapreduce.input.fileinputformat.split.minsize
并将它们设置为所需的字节数。combinehiveinputformat类还可以在每个文件的大小小于dfs.block.size的情况下将单独的文件合并到一个分割中。