luozhenhua3636 发表于 2015-5-8 09:29:47

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

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

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;
页: [1]
查看完整版本: hdfs 一个文件该多大,根据什么来规划