MapReduce入门教程

news2024/11/28 14:50:09

这可不是目录

  • 入门
    • 定义与说明
      • 数据分析
      • Map和Reduce阶段的任务
      • <Kn,Vn>分析
      • MapReduce的数据类型
      • 其他说明(持续更新)
    • 开发案例(持续更新)
      • 自定义的wordcount
      • csv文件操作
      • 序列化操作

入门

定义与说明

数据分析

以下未数据分析示意图
在这里插入图片描述

Map和Reduce阶段的任务

  • Map阶段的任务:一个map通常处理一个切片,当数据量过大时会存在多个map
  • Reduce阶段的任务:对Map输出的键值对进行汇总、聚合,但reduce的数量根据输出要求决定
  • Map和Reduce没有一一对应的关系
  • 一个job允许有多个·Map和多个Reduce,部分情况允许没有Reduce

<Kn,Vn>分析

接上述Map和Reduce阶段的任务和数据分析

Map

一般而言,Map阶段会产生两个<k,v>键值对
<k1,v1>通常表示数据的输入,k1:偏移量(不重要,一般指输入);v1:原始数据
<k2,v2>是这个Map阶段的切片输出,k2:类别(按需要切分);v2:自定义输出的切片结果

Reduce

一般而言,Reduce阶段会产生两个<k,v>键值对
<k3,v3>一般是承接的map阶段的输入,k3:来自于k2,和k2类型相同;v3:集合形式的v2
<k4,v4>MapReduce的输出,k4:一般来源于k3,和k3类型相同;v4:自定义的汇总、聚合输出

MapReduce的数据类型

在这里插入图片描述
使用时可以考虑先转String类型进行操作,在进行输出时,可以再转为MapReduce的数据类型

其他说明(持续更新)

  • org.apache.hadoop.mapred是Hadoop 1.x的版本
  • 打包时,请将所有需要的jar包一起
  • 每一阶段的输出类型必须是hadoop定义的类型(如上)
  • k1一般不重要,基本是你的文件或者数据输入
  • Reduce阶段一般是最后的输出阶段,当然前提是你的MapReduce流程中含有Reduce

开发案例(持续更新)

自定义的wordcount

这可不是链接 = =

csv文件操作

这可不是链接 = =

序列化操作

这可不是链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2034730.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安科瑞Acrel-2000ES储能能量管理系统在新型电力系统下分布式储能的研究

摘要&#xff1a;传统电力系统的结构和运行模式在以新能源为主体的新型电力系统中发生了巨大的变化&#xff0c;分布式储能作为电力系统中重要的能量调节器&#xff0c;也迎来了新的发展机遇。立足于储能技术发展现状&#xff0c;分析了分布式储能技术特点及在清洁可再生能源方…

ALLEGRO直接转PADS方法

1.ALLEGRO转PADS之前系统上添加用户变量 打开环境变量窗口&#xff0c;以WIN10为例 添加变量和值 变量名&#xff1a;AEX_BIN_ROOT值&#xff1a; PADS软件中translators软件的bin目录路径比如我的&#xff1a;AEX_BIN_ROOTD:\MentorGraphics\PADSVX.2.3\SDD_HOME\translator…

用python的manim库实现表格的绘制和制作【table 上】

表格的定义&#xff1a;按行和列排列的信息&#xff08;如数字和说明&#xff09;。 这是人们参加的运动的表格&#xff1a; 接下来绘制一些表格&#xff1a; 1. 创建一个包含小数数字的表格{DecimalTable} DecimalTable 是 Manim 中用于创建一个包含小数数字的表格的类。这个…

SD-WAN在海外网络加速中的优势

随着全球化的加剧&#xff0c;企业在海外业务拓展中面临着网络延迟、数据安全和成本等一系列挑战。针对这些问题&#xff0c;SD-WAN(软件定义广域网&#xff09;成为了企业网络架构的良好选择。本文将详细介绍SD-WAN在海外加速中的应用和优势。 1.SD-WAN是什么? SD-WAN是一种网…

软件开发者申请代码签名证书流程

软件目前已经成为人们生活和工作不可或缺的一部分&#xff0c;随着互联网的普及和软件分发渠道的多样化&#xff0c;软件的安全性和可信度变得越来越重要。 为了确保软件的完整性、安全性和来源可信性&#xff0c;代码签名证书应运而生。 在软件完成了开发之后&#xff0c;开…

硬件面试经典 100 题(31~40 题)

31、多级放大电路的级间耦合方式有哪几种&#xff1f;哪种耦合方式的电路零点偏移最严重&#xff1f;哪种耦合方式可以实现阻抗变换&#xff1f; 有三种耦合方式&#xff1a;直接耦合、阻容耦合、变压器耦合。直接耦合的电路零点漂移最严重&#xff0c;变压器耦合的电路可以实现…

软件测试经典面试题(答案解析+文档)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行&#xff0c;可以实现跨平台&#xff0c;客户端零维护&#xff0c;维护成本低&#xff0c;但是个性化…

EXCEL数据清洗步骤

1.合并的单元格: 用Ctrl+g查找空值,拆分单元格,ctrl enter填充 2.空值+空行: 辅助列+counta,筛选出空值行 3.重复值: 条件格式——突出显示单元格规则——重复值 数据——数据工具——删除重复值 4.脏数据 图片,批注,空格,条件格式 5.数据提取 ctrl e智能填充…

Web自动化测试:UI自动化框架结构以及思路!

在学会使用unittest后&#xff0c;实际上UI自动化的基础骨架已经搭建起来了&#xff0c;剩下的就是利于这套框架&#xff0c;增添一些我们需要的功能&#xff0c;目前看来&#xff0c;我们已经可以使用此框架来批量运行用例&#xff0c;欠缺的是整体的思路以及一些其他功能细节…

RSA算法解析

目录 引言 网络通信的明文传输风险 HTTP的不安全性及其风险点 ​编辑HTTPS的引入 为什么需要HTTPS HTTPS与HTTP的主要区别 TLS协议概述 TLS的作用和重要性 TLS在网络层的位置 TLS握手过程 握手过程的目的和步骤 TLS握手的各个阶段 RSA算法原理 RSA算法的基本概念 …

八股文学习总结

八股文学习总结 文章目录 八股文学习总结一、总体概况二、Java基础三、集合四、JUC五、JVM六、MYSQL七、Redis八、MQ九、计网十、OS十一、附上我记的笔记 一、总体概况 八股文也看了好多天了&#xff0c;我对八股文基本上考察哪些点也都有了印象&#xff0c;主要的分为Java基础…

uni-app 开发App时调用uni-push 实现在线系统消息推送通知 保姆教程

一、引言 在开发App时避免不了需要推送系统通知&#xff0c;以提高用户的使用体验。在自己的一个工具型的小app上全流程接入了uni-push2.0的推送能力&#xff0c;做个记录&#xff0c;以防后期需要用到。在阅读本教程前最好先看看官方文档&#xff0c;结合官方文档使用&#xf…

Android自定义view

前言 在Android开发时&#xff0c;我们经常会碰见在很多地方会重复使用相同的布局&#xff0c;或者是需要显示一些非基础组件&#xff0c;这个时候我们第一反应就是去自定义布局。将很多常用的UI业务需求&#xff0c;封装成一个View来操作&#xff0c;可以有效加快我们编码和开…

笔中藏音,非凡录制 — WT2003H录音芯片方案,让每一支笔都成为你的高清录音神器

开发背景&#xff1a; 在数字化时代&#xff0c;录音笔作为记录与传播声音的重要工具&#xff0c;其性能与功能的提升直接关系到用户的使用体验。随着科技的飞速发展&#xff0c;市场对于录音笔的需求不再仅仅局限于基本的录音功能&#xff0c;而是更加注重音质、便携性、耐用…

Java中包的使用

针对在同一个类中使用不同包中的同名类时&#xff0c;这时候我们需要使用全类名。

React学习-jsx语法

jsx语法&#xff0c;浏览器不认识&#xff0c;需要经过babel编译 https://babeljs.io/ 面试题&#xff1a;jsx的作用&#xff1f; 普通回答&#xff1a;可以在js中返回dom&#xff0c;经过babel编译成js认识的代码import { jsx as _jsx, jsxs as _jsxs } from "react/j…

Maven的理解与应用

Maven使用 一、Maven的含义 Maven是一个构建项目的工具&#xff0c;也是一个管理项目的工具 二、Maven的应用 构建项目 管理依赖 做项目的热部署 基于项目做多模块&#xff08;modle&#xff09;的构建 三、Maven的安装 注意&#xff1a;maven本身不需要安装&#xff0c;下…

JVM(十)深入理解JVM类加载模型以及双亲委派模型

本文详细介绍了Java的类加载机制&#xff0c;包括加载、链接和初始化三个阶段。强调了双亲委派模型的重要性&#xff0c;这是一种避免重复加载类并维持Java核心库安全的类加载策略。文章还探讨了Java类加载器的不同类型&#xff0c;包括启动类加载器、扩展类加载器和应用类加载…

Spring Cloud Alibaba 集成分布式定时任务调度功能

作者&#xff1a;千习 背景简介 定时任务是指在约定的时间&#xff0c;或者按照固定频率周期性执行的任务。在企业应用中&#xff0c;非用户行为发起的后台业务&#xff0c;一般都是通过定时任务来实现&#xff0c;常见场景如下&#xff1a; 异步数据处理&#xff1a;比如先…

【gpt生成文本的回复的原理和代码,通俗思路清晰】

首先介绍了贪婪解码 其次为增家多样性&#xff0c;用温度系数和TopK增加采样 真实的采样步骤 1、topk备选tokens 2、用维度系数大于1让概率平衡一下&#xff0c;3.再用softmax&#xff0c;4.根据概率分布采样 1、贪婪解码 # 之前&#xff0c;我们总是使用torch.argmax采样最大…