学习日志---partitioner和采样器
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,Mapreduce中:shuffle阶段是在map和reduce之间,可以自定义排序,自定义分区和自定义分组!Mapreduce中,map出的数据是键值对,默认的是hashPatitionner来对m
千家信息网最后更新 2024年11月11日学习日志---partitioner和采样器
Mapreduce中:
shuffle阶段是在map和reduce之间,可以自定义排序,自定义分区和自定义分组!
Mapreduce中,map出的数据是键值对,默认的是hashPatitionner来对map出的数据进行分区;
分区的方法还有其他几个:
RandomSamplersampler = new InputSampler.RandomSampler (0.5, 3000, 10);IntervalSampler sampler2 = new InputSampler.IntervalSampler (0.333, 10);SplitSampler sampler3 = new InputSampler.SplitSampler (reduceNumber);
实现和细节
public class TotalSortMR { @SuppressWarnings("deprecation") public static int runTotalSortJob(String[] args) throws Exception { Path inputPath = new Path(args[0]); Path outputPath = new Path(args[1]); Path partitionFile = new Path(args[2]); int reduceNumber = Integer.parseInt(args[3]); //三种采样器 RandomSamplersampler = new InputSampler.RandomSampler (1, 3000, 10); IntervalSampler sampler2 = new InputSampler.IntervalSampler (0.333, 10); SplitSampler sampler3 = new InputSampler.SplitSampler (reduceNumber); //任务初始化 Configuration conf = new Configuration(); Job job = Job.getInstance(conf); job.setJobName("Total-Sort"); job.setJarByClass(TotalSortMR.class); job.setInputFormatClass(KeyValueTextInputFormat.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(Text.class); job.setNumReduceTasks(reduceNumber); //设置所有的分区类 job.setPartitionerClass(TotalOrderPartitioner.class); //分区类参考的分区文件 TotalOrderPartitioner.setPartitionFile(conf, partitionFile); //分区使用哪种采样器 InputSampler.writePartitionFile(job, sampler); //job的输入和输出路径 FileInputFormat.setInputPaths(job, inputPath); FileOutputFormat.setOutputPath(job, outputPath); outputPath.getFileSystem(conf).delete(outputPath, true); return job.waitForCompletion(true)? 0 : 1; } public static void main(String[] args) throws Exception{ System.exit(runTotalSortJob(args)); }}
job默认的输入格式是TextInputFormat,这个是key-value的形式,key是每行的行标,value是每行的内容。可以更改
job.setInputFormatClass(,....)
一般要设置mapper的输出格式,以备后面使用。
采样器
数据
格式
输入
输出
之间
任务
内容
形式
文件
方法
是在
细节
路径
阶段
分组
参考
排序
日志
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全的属性
竞盟网络技术有限公司
人体肢体动作识别软件开发
谢永江网络安全法课件
宣城安卓软件开发定制公司
软件开发按钮图片
服务器图像镜像
tx网络技术安全团队
王思聪刚搭建的服务器
江苏安卓软件开发需要多少钱
中移动网络安全宣传
网络安全国际交流合作
Linux更换硬盘数据库
黑洞加速服务器怎么样
frp sql服务器
我的世界1服务器地址
我的世界服务器资源在哪里
五华区网络安全工作
高校网络技术
东莞的网络安全建设
数据库分类查平均值
pc和ps4传数据库
华三服务器管理口查看功耗
电脑吃鸡服务器在哪
奥维企业服务器怎么创
串口服务器是通讯管理机吗
数据库事物英文解释
黑洞加速服务器怎么样
小学生网络安全的习惯
sip服务器端口