sunt99 发表于 2016-11-25 16:15:52

hive 小文件问题

hive-site.xml 配置如下:

<property>
    <name>mapred.reduce.tasks</name>
    <value>30</value>
</property>
<property>
    <name>hive.merge.mapfiles</name>
    <value>true</value>
</property>
<property>
    <name>hive.merge.mapredfiles</name>
    <value>true</value>
</property>
<property>
    <name>hive.merge.smallfiles.avgsize</name>
    <value>33554432</value>
</property>
<property>
    <name>hive.merge.size.per.task</name>
    <value>268435456</value>
</property>
<property>
    <name>hive.exec.compress.output</name>
    <value>true</value>
</property>
对于hive产生的小文件,因为我设置的mapred.reduce.tasks为30 ,所以生成的hdfs 中文件压缩个数为30个,但是文件的大小只有几兆,甚至更小,
对于reduce输出的结果如果很小,不是应该合并吗?这块理解的不是很清楚,大神帮忙看看吧



langke93 发表于 2016-11-25 16:42:17

输入的时候可以合并。楼主可以减少task。任务数过多,输出结果又少,所以可以控制任务数的方式尝试解决
页: [1]
查看完整版本: hive 小文件问题