分享

hdfs 一个文件该多大,根据什么来规划

luozhenhua3636 发表于 2015-5-8 09:29:47 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 30024
hdfs 一个文件该多大,根据什么来规划

已有(5)人评论

跳转到指定楼层
Alkaloid0515 发表于 2015-5-8 09:47:46
一个文件多大无所谓,这个取决于你的数据量。
如果说block多大,是32M还是64M,参考这个帖子

为什么64MB(或128MB或256MB)是最优选择?
回复

使用道具 举报

luozhenhua3636 发表于 2015-5-8 10:28:21
Alkaloid0515 发表于 2015-5-8 09:47
一个文件多大无所谓,这个取决于你的数据量。
如果说block多大,是32M还是64M,参考这个帖子

有吧,hive 里面如果是小文件,会占一个map
回复

使用道具 举报

Alkaloid0515 发表于 2015-5-8 10:34:15
luozhenhua3636 发表于 2015-5-8 10:28
有吧,hive 里面如果是小文件,会占一个map

sorry,小文件除外。
你可以合并下
小文件hive下可以配置

hive.merge.mapfiles:在只有map的作业结束时合并小文件,默认开启true;

hive.merge.mapredfiles:在一个map/reduce作业结束后合并小文件,默认不开启false;

hive.merge.size.per.task:作业结束时合并文件的大小,默认256MB;

hive.merge.smallfiles.avgsize:在作业输出文件小于该值时,起一个额外的map/reduce作业将小文件合并为大文件,小文件的基本阈值,设置大点可以减少小文件个数,需要mapfiles和mapredfiles为true,默认值是16MB;

更多参考
Hive配置文件中配置项的含义详解(收藏版)
回复

使用道具 举报

luozhenhua3636 发表于 2015-5-8 11:09:37
Alkaloid0515 发表于 2015-5-8 10:34
sorry,小文件除外。
你可以合并下
小文件hive下可以配置

hive.merge.smallfiles.avgsize 如何设置,跟内存有关系么,10台节点,每台可分配20G
回复

使用道具 举报

arsenduan 发表于 2015-5-8 11:14:19
luozhenhua3636 发表于 2015-5-8 11:09
hive.merge.smallfiles.avgsize 如何设置,跟内存有关系么,10台节点,每台可分配20G

hive.merge.smallfiles.avgsize:在作业输出文件小于该值时,起一个额外的map/reduce作业将小文件合并为大文件,小文件的基本阈值,设置大点可以减少小文件个数,需要mapfiles和mapredfiles为true,默认值是16MB;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条