MapReduce编程

32 篇文章 1 订阅
订阅专栏

MapReduce Coding Criteria

单个MapReduce

单元运算

  • WordCount为例
  • 分别编写Map和Reduce函数
    • 53906415912
    • 53906420829
  • 编写main方法,设置环境变量,进行注册:
    • 53906430243

二元编程

Join

  • 对于 input,来自不同的关系表,对于MapReduce而言都是文件
  • Map过程中,需要标记来自哪个关系表
    • 把来自 R的每个元组 <a,b >转换成一个键值对 <b, <R,a >> ,其中的键就是属性 B的值
    • 把来自 S的每个元组 <b,c >,转换成一个键值对<b,<S,c>>
  • Reduce 过程
    • 具有相同 B值的元组被发送到同一个 Reduce
    • 来自 关系 R和S的、具有相同属性 B值的元组进行合并
    • 输出则是连接后的元组 <a,b,c >,通常写到一个单独的输出文件中

对于二元运算,例如Join交集并集都差不多,首先需要标记来自哪个关系表,然后再处理。

组合式MapReduce

  • 将任务划分为若干子任务,各任务之间存在依赖关系
  • 多次Join也可以认为是组合式的任务
    • 53906458982

程序实现

隐式依赖描述
  • 如何表示Job之间有依赖关系
    • 自己编程实现:
    • 53906461595
显式依赖描述
  • 好处:
    • 系统能拿到调度信息,避免上个程序运行失败导致后面出错
    • 如果自己编程,例如J4/J5都依赖于J3,其中J4/J5一定会有一个顺序,而如果让系统调度,可以利用调度策略效率最大化(通常短作业优先)
  • 在config中实现:
    • 53906537693

链式MapReduce

  • 例子:词频统计后,过滤掉词频高于10的
  • WordCount程序已经写好,不能修改
  • Map可以串很多ChainMapperReducer也可以串很多ChainReducer
    • 注意,这里的ChainReducerMapper
    • 53906544142

规则

  • 整个Job只有一个Reduce
    • 整个框架只允许一次Shuffle
    • 进行Map不会造成数据重新排列,不会改变MapReduce整体框架

编程实现

53906548744

迭代MapReduce

  • 许多机器学习算法都需要进行迭代(牛顿迭代、EM算法)
  • 迭代式任务的特征:
    • 整个任务一系列子的循环构成
    • 子任务的执行操作是完全相同的
    • 一个子任务的输出是下一个子任务的输入
    • 一个子任务是一个MapReduce Job
  • 迭代多少次,就相当于运行多少次MapReduce
  • 迭代MapReduce示意
    • 每一迭代结束时才将结果写入HDFS,下一步将结果读出
    • 非常浪费资源和IO

编程

  • runlteration()实现一个MapReduce Job
    • 53906557784
  • 判断条件为满足阈值或者迭代次数
    • 有时候并不关心具体的精确数值,只关心偏序关系(PageRank

Distribute Cache

  • 当表的大小差异很大时,使用Join会导致大量的数据移动:
    • 编程时将小表广播出去(每个节点上发一份,移动计算)
    • 53906571420
    • 53906574912
    • 例如,在Kmeans中,可以将中心点广播出去

编程实现

  • 声明

    • Job job= new Job(); 
      job.addCacheFile (new Path(filename).toUri ());
      
  • 使用

    • Path[] localPaths = context.getLocalCacheFiles();
      

Hadoop Streaming

  • Hadoop基于Java开发,但MapReduce编程不仅限于Java语言

  • 提供一个编程工具,可以允许用户使用任何可执行文件

    • 但可能会有bug
  • 多种语言混合编程

    • C/C++ 与 python通信
  • 原理

    • 53906590241

Mapreduce编程
weixin_44216665的博客
08-13 888
1)分布式的运算程序往往需要分成只少2个阶段(2)第一个阶段的MapTask并发实例。完全并行运行,互补相干(3)第二个阶段的ReduceTask并发实例互不相干,但是他们的数据依赖于上一个阶段的所有MapTask并发实例的输出。(4)MapReduce编程模型只能包含一个Map阶段和一个Reduce阶段,如果用户的业务逻辑非常复杂,只能多个MapReduce程序,串行运行。...
Hadoop之MapReduce编程实例完整源码
08-01
一个自己写的Hadoop MapReduce实例源码,网上看到不少网友在学习MapReduce编程,但是除了wordcount范例外实例比较少,故上传自己的一个。包含完整实例源码,编译配置文件,测试数据,可执行jar文件,执行脚本及操作步骤。学习完此例子后,你能掌握MapReduce基础编程,及如何编译Java文件,打包jar文件,编写shell执行脚本等。后续学习还可以参看本人的CSDN博客,如有问题也可以在线为你解答,不过本人也学习Hadoop不足一年,现学现卖而已,也可能力不能及,有些难的也很有可能不懂。希望能够帮助到学习MapReduce的朋友,另外稍微意思下,收取辛苦分1分啊,如果没有积分的就到本人博客下地址,看到后再发到朋友你的邮箱。
Hadoop(四)——编程核心MapReduce(上)
学会改变自己——才能突破
09-09 4803
上篇讲述了Hadoop的核心内容之一HDFS,是Hhadoop分布式的平台基础,而这讲的MapReduce则是充分利用Hdfs分布式,提高运行效率的算法模型 ,Map(映射)和Reduce(归约)两个主要阶段都以键值对作为输入和输出,我们需要做的就是对这些,value>做我们想要的处理。看似简单实则麻烦,因为这里太灵活多变。      一,好,首先来看下边两个图,看下mapreduce在Hadoo
实验项目 MapReduce 编程
04-18
4 分别在自编 MapReduce 程序 WordCount 运行过程中和运行结束后查看 MapReduce Web 界面。 5. 分别在自编 MapReduce 程序 WordCount 运行过程中和运行结束后练习 MapReduce Shell 常用命令。 。。
大数据实验四-MapReduce编程实践
最新发布
04-03
MapReduce编程实践: 使用MapReduce实现多个文本文件中WordCount词频统计功能,实验编写Map处理逻辑、编写Reduce处理逻辑、编写main方法。 二.实验目的 1、通过实验掌握基本的MapReduce编程方法。 2、实现统计HDFS...
MapReduce 编程模型
09-08
MapReduce goole MapReduce编程模型
大数据技术基础实验报告-MapReduce编程.doc
08-21
大数据技术基础实验报告-MapReduce编程
MapReduce的简介以及MapReduce的原理的编程模型的实现
05-01
面对复杂大量的计算,有人设计一个新的抽象模型,执行简单计算,隐藏并行化,容错,数据发布,负载均衡等放在一个库里。
mapreduce 编程
Axel_Fran的博客
12-08 1552
首先 map task 写一个 继承Mapper 的类; 中间可能写一个 分文件的一个partition 的类;(注意设置 reducetask 的数量) 中间还有可能写一个 combiner. 也是继承Reducer. 可用来优化 最后 reduce task 写一个 继承Reducer 的类; 1. 简单的Wordcount; 使用普通的 hadoop 序列化数据类型就可以,Text, LongWritable; 2.实现排序, 一般就是 一行多个字段, order by 其中一个或者多个;.
MapReduce编程模型
有趣的人生 一半是山川湖海 一半是初心情怀
04-26 320
Map 和 Reduce 的概念是从函数式变成语言中借来的,整个 MapReduce 计算过程分为 Map 阶段和 Reduce 阶段,也称为映射和缩减阶段,这两个独立的阶段实际上是两个独立的过程,即 Map 过程和 Reduce 过程,在 Map 中进行数据的读取和预处理,之后将预处理的结果发送到 Reduce 中进行合并。 案例:分布式计算出一篇文章中的各个单词出现的次数,也就是 WordCo...
MapReduce编程基础
半濠春水的博客
06-16 3930
(一)熟悉MapReduce编程框架。 (二)了解Map部分和Reduce部分的工作原理。 (三)实现简单的MapReduce编程
MapReduce编程规范及示例编写
WSX_ton的博客
11-18 1168
MapReduce编程规范及示例编写一、编程规范mapReduce编程模型的总结八个步骤总体流程MapReduce从读取数据开始到将最终结果写入HDFS经过步骤二、编程实例Mapper以及Reducer抽象类介绍1、 Mapper抽象类的基本介绍2、Reducer抽象类基本介绍WordCount示例 一、编程规范 mapReduce编程模型的总结 事实上MapReduce的开发一共有八个步骤其中m...
MapReduce编程:1.groupBy, 统计每月航班延迟到达的比例
叶小东的博客
03-15 2900
MapReduce编程:1.groupBy, 统计每月航班延迟到达的比例
MapReduce编程入门版
Horace Ho的博客
10-14 1394
实现一个WordCount 一、编写Map类 package com.hellohadoop; import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; im...
MapReduce编程初体验
依旧的博客
11-13 3822
使用MapReduce统计每个单词出现的个数 1.pom文件 <repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloud...
Hadoop2.4.1 简单的用户手机流量统计的MapReduce程序(二)
pfnie的博客
07-03 3367
接着Hadoop2.4.1 简单的用户手机流量统计的MapReduce程序(一),现在我们 又有了新的需求,我们需要根据用户的总流量升序排列。 1.环境:Centos 6.5  32位, 在linux环境中开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 矩阵求导法则与性质 98380
  • 线性代数笔记8:矩阵的对角化 30393
  • 防止过拟合的基本方法 25459
  • KMP算法详解(C++实现) 24928
  • 线性代数笔记18:线性变换与基变换 24249

分类专栏

  • CMU 11-785 22篇
  • 凸优化--机器学习数学基础 9篇
  • 数据科学的线性代数基础 19篇
  • OperatingSystem 19篇
  • linear algebra 19篇
  • 刷题 16篇
  • 树莓派 4篇
  • hexo 4篇
  • 工具使用 9篇
  • 数据结构 4篇
  • debug 8篇
  • apue 1篇
  • 神经网络 7篇
  • DistributionSystem 32篇
  • PGM
  • MachineLearning 16篇
  • 凸优化 9篇
  • Web 1篇
  • Database 19篇
  • Statistics 1篇
  • 数据库系统实现 5篇
  • PUlearning 3篇

最新评论

  • 矩阵求导法则与性质

    Jerry fk: 我也在纠结这玩意儿,我刚看了定义,他那个刚好写反了

  • hexo下LaTeX无法显示的解决方案

    风翼飞镰: 这是关键啊:CDN地址!

  • python plot hist 密度图 概率和不为1

    尚未填写: 有用, 感谢! 想要绘制多组数据的概率图的话,只需把不同的weights添加到一个列表即可,比如: x_value = [train_points, test_points] train_weights = np.ones_like(train_points)/float(len(train_points)) test_weights = np.ones_like(test_points)/float(len(test_points)) weights = [train_weights, test_weights] plt.hist(x_value, bins=10, histtype="bar", alpha=0.5, label=["training set", "test set"], weights=weights) plt.legend() plt.show()

  • 根据坐标点位置计算方位角(python实现)

    Auto_yaoyao: 请问你计算的方位角是地面的?是当前时刻还是下一时刻

  • 根据坐标点位置计算方位角(python实现)

    Auto_yaoyao: 我试了一下,出来的航向跟原来的不一样

大家在看

  • 指纹采集技术

最新文章

  • CMU 11-785 L23 Variational Autoencoders
  • CMU 11-785 L22 Revisiting EM algorithm and generative models
  • CMU 11-785 L21 Boltzmann machines2
2021年3篇
2020年22篇
2019年29篇
2018年142篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司上海百度网站优化推荐海南模板制作公司汕头设计网站哪家好辽阳网站排名优化价格兴安盟企业网站改版报价迪庆网站改版芜湖营销网站价格福永网站设计价格商洛关键词排名推荐滨州关键词按天收费报价郴州阿里店铺托管推荐石家庄百度关键词包年推广价格泰安百度seo推荐景德镇营销网站价格滨州seo网站推广价格光明阿里店铺运营价格黔西南外贸网站建设临汾seo网站推广赣州百度爱采购酒泉网站优化排名多少钱赣州至尊标王推荐丹东网页制作平顶山英文网站建设哪家好南京如何制作网站哪家好滨州网络推广焦作百度seo哪家好哈密SEO按天收费价格本溪模板推广公司红河SEO按天收费黄冈建站公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化