利用采样器实现mapreduce任务输出全排序
采样器是hadoop内自带的一个可以对目标文件部分数据进行提取的工具类,以方便我们对这些采样的数据做一些参考或者处理。hadoop提供了多种采样器供我们使用,以满足不同的需求。另外,采样器不同于普通mapreduce操作。它是直接在客户端机器上运行的。 常见采样器 IntervalSampler 以一定的间隔定期从划分中选择key,对有排序的数据来说更好 RandomSameler 以指定的采样率均匀的从数据集中选择样本 SplitSampler 只采样一个分片的前n条记录,所以不适合有排序的数据 最简单的使用采样器举例 例1: JobConf conf = new JobConf(SamplerTest.class); conf.setJobName("Sampler"); FileInputFormat.setInputPaths(conf, new Path(args[0])); FileOutputFormat.setOutputPath(conf, new Path(args[1])); //设置采样率为0.1,最大样本数1000,最大分区数10(在最多10个分区中,按照约总...