Hadoop中输入拆分的默认大小是多少。据我所知,块的默认大小为64 MB。 在Hadoop jar中是否有任何文件可以看到所有这些东西的默认值?像默认复制因素等,就像Hadoop中的任何默认值一样。
答案 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:权威指南。