Hadoop 全序划分的阶段分析

Hadoop 全序划分的阶段分析,hadoop,mapreduce,Hadoop,Mapreduce,如果数据的分布不会随时间快速变化,则只需运行一次,因为它生成的值范围将继续运行良好 我无法理解该语句的含义,这是一个一般性的观察,还是在使用TotalOrderPartitioner时可以实现 我们是否可以要求TotalOrderPartitioner不要创建分区器文件,而只使用已经创建的分区器文件 在使用TotalOrderPartitioner时,我基本上可以跳过分析阶段吗?在使用TotalOrderPartitioner时,它可以很容易地实现: TotalOrderPartition

如果数据的分布不会随时间快速变化,则只需运行一次,因为它生成的值范围将继续运行良好

我无法理解该语句的含义,这是一个一般性的观察,还是在使用TotalOrderPartitioner时可以实现

我们是否可以要求TotalOrderPartitioner不要创建分区器文件,而只使用已经创建的分区器文件


在使用TotalOrderPartitioner时,我基本上可以跳过分析阶段吗?

在使用TotalOrderPartitioner时,它可以很容易地实现:

   TotalOrderPartitioner.setPartitionFile(job.getConfiguration(), partitionFile); // use existing file!!!

   // InputSampler.writePartitionFile(job, sampler); // Just comment out this line!!!
请注意,从javadoc:

公共静态void setPartitionFile(配置配置文件, 路径(p)

//设置存储已排序分区键集的SequenceFile的路径。 对于R reduces,SequenceFile中必须有R-1键

如果您重新运行排序—如果您的数据发生了轻微的更改,并且样本仍然可以很好地表示它—您可以将现有的分区文件与样本一起使用,因为InputSampler在客户机上创建分区文件的成本很高。但是您必须使用与InputSampler为其创建分区文件的作业中相同数量的还原器。