如何在配置单元中限制镶木地板 table 的镶木地板文件尺寸?

How to limit parquet file dimension for a parquet table in hive?

我正在尝试在配置单元中创建镶木地板 table。 我可以创建它,但是当我 运行 分析 table 我的 table 计算统计数据时; 我得到这个结果:

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

为什么table 由800 个文件组成,只有180 Mb? 还有一个为什么要设置文件个数? 我尝试使用 SET parquet.block.size=134217728 但结果是一样的

您还需要设置 set dfs.blocksize=134217728 以及 SET parquet.block.size=134217728 在进行蜂巢插入时应设置块大小。

reducer 的数量决定了 parquet 文件的数量。

检查 mapred.reduce.tasks 参数。

例如你可能有一个只产生 100 行的 map-reduce 作业,但是如果 mapred.reduce.tasks 设置为 800(显式或隐式),你将有 800 个镶木地板文件作为输出(大多数镶木地板文件只有headers 且无实际数据)。