一种可能的解决方法是在将数据加载到Crunch PCollection之前手动设置输入分裂大小。例如:
TextInputFormat.setInputPaths(job.getConfiguration(), new Path(inputPath)); job.getConfiguration().setLong("mapred.max.split.size", 6410241024); //设置每个split的最大字节数
//使用Crunch读取文本文件
PCollection
这将手动设置每个输入分裂的最大字节数为64 MB,以确保在处理大型数据集时可以充分利用所有可用的MapReduce资源。
另一个可能的解决方法是在Hadoop的配置文件中设置默认的输入分裂大小。在Hadoop的yarn-site.xml或hdfs-site.xml配置文件中添加以下行:
这将设置每个输入文件的默认分裂大小为64 MB,以便在使用Hadoop时可以全局应用此设置。