地图缩减设计模式书
如果数据的分布没有随着时间的推移迅速变化,您只需要运行一次,因为它产生的值范围将继续运行良好。
我无法理解这句话的意思,这是一个一般性的观察,还是在使用TotalOrderPartitioner时可以实现呢?
我们是否可以要求TotalOrderPartitioner不创建一个分区程序文件,而只使用一个已经创建的文件?
基本上,我可以在使用TotalOrderPartitioner时跳过分析阶段吗?
发布于 2014-02-23 10:46:48
当使用TotalOrderPartitioner时,可以很容易地实现:
TotalOrderPartitioner.setPartitionFile(job.getConfiguration(), partitionFile); // use existing file!!!
// InputSampler.writePartitionFile(job, sampler); // Just comment out this line!!!请注意,来自javadoc:
公共静态无效setPartitionFile(配置conf,路径p) //设置存储已排序分区密钥集的SequenceFile的路径。对于R减少,SequenceFile中必须有R-1键.
如果您重新运行排序--如果您的数据稍有变化,并且示例仍然很好地表示它--您可以在示例中使用现有的分区文件,因为它由InputSampler在客户端上创建是非常昂贵的。但是,您必须使用相同数量的减速器,就像您在InputSampler为其创建分区文件的作业中使用的那样。
https://stackoverflow.com/questions/21959861
复制相似问题