Hadoop中输入拆分的默认大小

时间:2016-01-23 17:34:17

标签: hadoop

Hadoop中输入拆分的默认大小是多少。据我所知,块的默认大小为64 MB。 在Hadoop jar中是否有任何文件可以看到所有这些东西的默认值?像默认复制因素等,就像Hadoop中的任何默认值一样。

2 个答案:

答案 0 :(得分:1)

是的,你可以在hadoop etc / conf文件夹中看到所有这些配置 有各种文件: core-default.xml,hdfs-default.xml,yarn-default.xml和mapred-default.xml
它包含hadoop集群的所有默认配置,也可以覆盖它。 您可以参考以下链接:
https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml
https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

并且,如果您尚未在Map / Reduce程序中定义任何输入分割大小,则默认HDFS块分割将被视为输入分割。

答案 1 :(得分:1)

请记住以下两个参数:mapreduce.input.fileinputformat.split.minsize和mapreduce.input.fileinputformat.split.maxsize。我将它们分别称为minSize,maxSize。默认情况下,minSize为1个字节,maxSize为Long.MAX_VALUE。块大小可以是64MB或128MB或更多。

输入分割大小在运行时通过这样的公式计算: max(minSize,min(maxSize,blockSize)

礼貌:Hadoop:权威指南。