我想在 hive 里做个Parquet桌。我可以创建它,但当我运行analyze table mytable compute statistics时;我得到这个结果:numfiles=800,numrows=10000000,totalsize=18909876 rawdatasize=40000000为什么表是由800个文件组成的,只有180MB?为什么要设置文件的编号?我尝试使用set parquet.block.size=134217728,但结果是一样的
h4cxqtbf1#
减速机的数量决定了Parquet文件的数量。检查 mapred.reduce.tasks 参数。e、 g.您可能有一个只生成100行的map reduce作业,但是如果 mapred.reduce.tasks 设置为800(显式或隐式),您将有800个Parquet文件作为输出(大多数Parquet文件将只有标题,没有实际数据)。
mapred.reduce.tasks
kgsdhlau2#
您还需要设置dfs.blocksize=134217728以及set parquet.block.size=134217728在执行配置单元插入时都应该设置块大小。
2条答案
按热度按时间h4cxqtbf1#
减速机的数量决定了Parquet文件的数量。
检查
mapred.reduce.tasks
参数。e、 g.您可能有一个只生成100行的map reduce作业,但是如果
mapred.reduce.tasks
设置为800(显式或隐式),您将有800个Parquet文件作为输出(大多数Parquet文件将只有标题,没有实际数据)。kgsdhlau2#
您还需要设置dfs.blocksize=134217728以及set parquet.block.size=134217728在执行配置单元插入时都应该设置块大小。