当前位置: 首页 > news >正文

洛阳室内设计公司排名/烟台seo关键词排名

洛阳室内设计公司排名,烟台seo关键词排名,亲姐弟做愛电影在线网站,深圳优化公司踏高粱seoMapReduce概述及其Wordcount案例一、MapReduce简介二、MapReduce核心思想三、MapReduce实例进程四、MapReduce程序组成五、WordCount实现一、MapReduce简介 Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架;…

MapReduce概述及其Wordcount案例

    • 一、MapReduce简介
    • 二、MapReduce核心思想
    • 三、MapReduce实例进程
    • 四、MapReduce程序组成
    • 五、WordCount实现

一、MapReduce简介


  • Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架;其思想来源于Google的MapReduce。Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。

二、MapReduce核心思想


  • 简单而言,就是拆分的思想,即“分而治之”,大任务被拆分成小的任务并行计算,具体如下:
  • 1)分布式的运算程序往往需要分成至少2个阶段。
  • 2)第一个阶段的maptask并发实例,完全并行运行,互不相干。
  • 3)第二个阶段的reduce task并发实例互不相干,但是他们的数据依赖于上一个阶段的所有maptask并发实例的输出。
  • 4)MapReduce编程模型只能包含一个map阶段和一个reduce阶段,如果用户的业务逻辑非常复杂,那就只能多个mapreduce程序,串行运行。
    在这里插入图片描述

三、MapReduce实例进程


  • 一个完整的mapreduce程序在分布式运行时有三类实例进程:
    在这里插入图片描述

四、MapReduce程序组成


  • 用户编写的程序分成三个部分:Mapper,Reducer,Driver(提交运行mr程序的客户端)
    在这里插入图片描述

五、WordCount实现


  • 分析MapReduce经典案例Wordcount的设计思路及数据处理过程
    在这里插入图片描述

  • 测试数据,如wordcount.txt文本,内容如下:

    I love Guiyang
    I love Guizhou
    Guiyang is the capical of Guizhou
    
  • 定义WordCountMapper,继承于Hadoop的Mapper

    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.io.LongWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;public class WordCountMapper extends Mapper<LongWritable, Text,Text, IntWritable> {@Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {// key 偏移量    value 每行文本:I love Guiyang// 按照空格对每行文本进行分词操作:[I,love,Guiyang]String line = value.toString(); // 数据类型的转换String[] words = line.split(" "); // 对字符串进行拆分 [I,love,Guiyang]for (int i = 0; i < words.length; i++) {// (I,1)Text word = new Text(words[i]);IntWritable value2 = new IntWritable(1);context.write(word,value2);}}
    }
    
  • 定义WordCountReducer,继承于Hadoop的Reducer

    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Reducer;import java.io.IOException;public class WordCountReducer extends Reducer<Text, IntWritable,Text, IntWritable> {@Overrideprotected void reduce(Text k3, Iterable<IntWritable> v3, Context context) throws IOException, InterruptedException {// 进行求和操作,需要计算v3的长度// <I,[1,1]>int count = 0;for (IntWritable v: v3) {int value = v.get();count += value;}context.write(k3,new IntWritable(count));}
    }
    
  • 定义WordCountJob

    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Job;
    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import java.io.IOException;public class WordCountJob {public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {// 实列化JobJob job = Job.getInstance();job.setJarByClass(WordCountJob.class);// 设置Mapperjob.setMapperClass(WordCountMapper.class);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(IntWritable.class);// 设置Reducerjob.setReducerClass(WordCountReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);// 指明输入文件的路径FileInputFormat.setInputPaths(job,new Path("d:/wordcount.txt"));// 指明输出文件的路径FileOutputFormat.setOutputPath(job,new Path("d:/mr_result/wc01"));// 开始运行任务boolean completion = job.waitForCompletion(true);if (completion){System.out.println("程序运行成功~");}else {System.out.println("程序运行失败~");}}
    }
    
  • 本地运行,测试其功能是否正常
    在这里插入图片描述
    打开结果文件part-r-00000,内容如下:
    在这里插入图片描述

  • 将程序打包,上传到服务器,利用hadoop命令执行程序(读者自行打包)

http://www.lbrq.cn/news/1318843.html

相关文章:

  • 三亚房产网站建设/英文seo兼职
  • 济南百度公司做网站吗/站内优化主要从哪些方面进行
  • 做色网站/网推app
  • 自己做商城网站能卖服装吗/百度网盘搜索引擎入口官网
  • 玉山县建设局的网站/外包公司排名
  • 外贸网站建设网站/营销策划机构
  • 在谷歌上做国际网站/sem是什么
  • 九亭镇村镇建设办官方网站/免费留电话的广告
  • 网站开发 需求说明书/seo标题优化关键词
  • 杭州网站建设公司排名/谷歌aso优化
  • 手机网站怎么制作软件/点击器 百度网盘
  • 专门做旅游的网站有哪些/seo外包是什么
  • 分销渠道的三种模式/路由优化大师
  • 免费网站制作报价/18款禁用网站app直播
  • 非交互式网站可以做商城吗/企业网络营销推广方案
  • 沛县专业做网站/广东网站seo策划
  • 建设一个做资料库的网站/cba最新排名
  • 腾讯云服务器12元一年/云浮seo
  • 做响应式网站的意义/中国搜索引擎排名2021
  • 济南单位网站建设/互联网推广是干什么的
  • 网站建设直播/中央刚刚宣布大消息
  • 达内网站开发学习培训/长沙seo研究中心
  • 电商网站是什么意思/seo工具包
  • 吴忠网站建设哪家好/自建站模板
  • wordpress打开网站前广告/西安关键词优化排名
  • 上海企业登记在线/seo网站推广怎么做
  • 做网站需要注意的事项/seo优化工具哪个好
  • 有关网站开发的文献或论文/推广方案范例
  • 福田欧曼est/网络seo培训
  • c 可以做网站嘛/域名注册网站系统
  • 高效轻量的C++ HTTP服务:cpp-httplib使用指南
  • 设计模式1:创建型模式
  • 第二十三天(数据结构:链表补充【希尔表】)
  • python+pyside6的简易画板
  • C++对象访问有访问权限是不是在ide里有效
  • Django模型查询与性能调优:告别N+1问题