如何限制蜂巢中镶木桌子的镶木地板文件尺寸?

时间:2015-12-01 17:48:40

标签: hadoop hive parquet

我正在尝试在蜂巢中创建一个镶木桌子。 我可以创建它,但是当我运行analyze table mytable compute statistics时; 我得到了这个结果:

numfiles = 800,numrows = 10000000,totalSize = 18909876 rawDataSize = 40000000

为什么表格仅由180 Mb组成800个文件? 有一个为什么要设置文件的数量? 我尝试使用SET parquet.block.size = 134217728,但结果是相同的

2 个答案:

答案 0 :(得分:1)

减速器数决定了镶木地板文件的数量。

检查mapred.reduce.tasks参数。

E.g。你可能有一个只生成100行的map-reduce作业,但如果mapred.reduce.tasks设置为800(显式或隐式),你将有800个镶木地板文件作为输出(大多数镶木地板文件只有标题和没有实际数据。)

答案 1 :(得分:0)

您还需要设置set dfs.blocksize = 134217728 SET parquet.block.size = 134217728 在进行配置单元插入时,应设置块大小。