【自用笔记】【大数据】

1 mapreduce

(1)Map任务的数量:由输入数据的大小决定的,如文件数量和大小、HDFS块大小以及FileInputFormat的设置等。每个MapSlot可以运行一个Map任务

(2)Reduce任务的数量(分区数):取决于reduceSlot的个数,略小于

(3)分区:如果有多个Reduce分区,每个分区都会独立地处理它的数据。这意味着每个Reduce任务都会接收到一个按键排序的键值对列表,并在其内部独立地进行reduce操作。每个Reduce任务都会生成自己的输出文件,它们的输出是独立的,并且在作业完成后,多个Reduce任务之间不会直接合并它们的结果,你可能需要其他的工具或步骤来合并或进一步处理这些输出文件。

(4)shuffle过程:每个Map任务在产生输出时,并不是直接将数据写入磁盘,而是先写入到内存中的一个缓冲区。当缓冲区中的数据量达到一定阈值时,系统会启动一个后台线程,把缓冲区中的内容溢写到磁盘中,这个过程称为Spill阶段。在每次溢写过程中,线程会根据数据最终要传递到的Reduce任务将数据划分成相应的分区,并在每个分区内部进行排序。这样,每个Map任务的输出都是按分区排序的。然后,当所有的Map任务完成后,所有Map任务的输出会被收集起来,并经过一个归并过程(每个分区内部进行)。在这个过程中,相同key的数据会被合并到一起,并且按照key进行全局排序。这个归并和排序的过程确保了最终传递给每个Reduce任务的数据都是按键排序的。

(5)总结:

    - Reduce任务的个数是通过作业配置来确定的

    - Reduce任务所要处理的数据则是由Map任务的输出和分区函数共同决定的。

    - 分区逻辑在Map任务执行过程中应用,而Shuffle过程的归并是在所有Map任务完成之后进行的,用于合并和排序相同分区的输出。

   - 一个分区有一个reduce类,相互之间独立

   - 在Hadoop MapReduce中,默认情况下每行输入数据会被视为一个记录,并作为value传递给map函数,key通常是行的偏移量

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DHCP-PXE

Dynamic Host Configuration Protocol 动态主机配置协议 1.Selinux 调试为Permission 防火墙配置 搭建DHCP的主机必须有一个静态地址,提前配置好 安装DHCP软件 服务名为dhcpd DHCP地址分配四次会话, DISCOVERY发现 OFFER 提供 REQUEST 回应 A…

vue使用iview导航栏Menu activeName不生效

activeName不生效 一、问题一、解决方案, 一、问题 根据ivew官网的提示,设置了active-name和open-names以后,发现不管是设置静态是数据还是设置动态的数据,都不生效 一、解决方案, 在设置动态名称的时候&#xff0c…

修复打印机显示为脱机的几种方法,总有一种适合你

打印机显示为脱机有几个可能的原因。在大多数情况下,只要对症下药,问题就很容易解决。下面解释了打印机脱机的原因,以及如何使其联机并再次打印。 “打印机脱机”是什么意思 当打印机显示为脱机时,这意味着它当前未通过电缆或Wi-Fi网络连接到计算机。它无法与你的计算机通…

Feign(黑马程序员)

Feign是代替RestTemplate进行http请求的。 定义和使用 Feign 客户端&#xff1a; 1 引入依赖&#xff1a; <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </depe…

Autosar BswM 模式管理

EcuMs管理ECU上下电状态,BswM管理模式,协同工作。当使用EcuM - Fixed时,它将向BswM指示当前ECU状态 有了BswM,从图可以更加直观看出,BswM管理各个模块,每个模块独立,降低耦合。 BswM 的主要功能包括: 模式管理:BswM 可以管理和控制 ECU 的不同模式,例如正常模式、备…

2024.4.5|牛客小白月赛90

2024.4.5|牛客小白月赛90 A.小A的文化节 B.小A的游戏 C.小A的数字 D.小A的线段&#xff08;easy version&#xff09; E.小A的任务 F.小A的线段&#xff08;hard version&#xff09; 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c…

【鸿蒙 HarmonyOS】获取设备的地理位置

一、背景 获取移动设备的地理位置&#xff0c;包含&#xff1a;经度、维度、具体地理位置等&#xff0c;地理位置信息能在许多业务场景中被应用&#xff0c;如导航、地图服务、位置服务、社交媒体等。 下面以一个Demo例子&#xff0c;来实现获取设备地理位置的功能 官方文档…

无头单向非循环链表的实现

1.链表的结构 在用代码实现之前&#xff0c;我们要先了解这种链表的逻辑结构和物理结构&#xff0c; 在逻辑上我们能知道这种链表能够通过前一个节点的 next 来存储下一个节点的地址&#xff0c;从而能够找到下一个数据&#xff0c;这就是一种线性结构&#xff0c;我们可以把数…

智能感应门改造工程

今天记录一下物联网专业学的工程步骤及实施过程 智能感应门改造工程 1 规划设计1.1 项目设备清单1.2项目接线图 软件设计信号流 设备安装与调试工程函数 验收 1 规划设计 1.1 项目设备清单 1.2项目接线图 软件设计 信号流 设备安装与调试 工程函数 工程界面: using System; …

循环队列的实现及应用——桶排序bucket_sort、基数排序radix_sort

一、循环队列的实现 代码解释 1、完成初始化 2、定义方法 3、测试实例 4、完整代码 class AQueue:def __init__(self, size=10):self.__mSize = sizeself.__front=0self.__rear = 0self.__listArray = [None] * size#清空元素def clear(self):self.__front = 0self.__rear =…

腾讯游戏革命:手游内400+AI角色个性化成长,成本削减90%|TodayAI

在全球游戏开发者大会&#xff08;GDC&#xff09;上&#xff0c;腾讯游戏以一场技术革新的展示&#xff0c;震撼了整个游戏界。最令人瞩目的是&#xff0c;《火影忍者》手游中包含了超过400个AI角色&#xff0c;每个角色都拥有独特的个性。这一成就得益于腾讯新开发的大规模强…

江协科技STM32:TIM输出比较

输出比较模块的主要功能&#xff1a;输出一定频率和占空比的PWM波形 CC是捕获比较的意思,R是Register&#xff0c;寄存器的意思&#xff0c;CCR捕获比较寄存器它是输入捕获和输出比较共用的 当使用输入捕获&#xff0c;它就是捕获寄存器 当使用输出比较&#xff0c;它就是比…

RK3588 NPU 研究(二)

RK提供了两个模型&#xff0c;mobilenet和YOLO5。 mobilenet模型相对小&#xff0c;使用起来不是很明显yolo5模型大一些&#xff0c;可以对88种目标进行检测&#xff0c;提供检测的结果包括类别、包围框坐标、可信度等信息。基于rknn_yolov5_demo进行分析。 rknn_yolov5_demo基…

Vue3全家桶和小兔鲜儿案例

查看node.js版本&#xff0c;需要是16.0以上版本 node -v创建一个vue应用 npm init vuelatest在windows窗口中进入vs code命令 code ./创建项目后vs code打开安装依赖 npm install安装好以后运行程序 打开页面 deep有性能损耗&#xff0c;尽量不开启deep 生命周期函数指…

记录Linux系统中vim同时开多个窗口编辑文件

在使用Linux进行文本编辑的时候&#xff0c;通常使用vim编辑器编辑文件&#xff0c;当然啦&#xff0c;vim也可以创建文件&#xff0c;如果只是一个一个创建&#xff0c;只需要vim创建即可&#xff0c;但是如何一次性打开多个窗口编辑呢&#xff1f; 目录 1、目标&#xff1a;…

Unity和Android的交互

Unity和Android的交互 一、前言二、Android导出jar/aar包到Unity2.1 版本说明2.2 拷贝Unity的classes.jar给Android工程2.2.1 classes.jar的位置2.2.2 Android Studio创建module2.2.3 拷贝classes.jar 到 Android工程并启用 2.3 编写Android工程代码2.3.1 创建 MainActivity2.…

springboot之mybatisPlus多表查询及分页查询

文章目录 一、多表查询二、mybatis-plus条件查询三、分页查询 一、多表查询 可能会用到的注解 这里的场景是&#xff0c;查询每个用户及其所有的订单。就是查询你的id号的同时&#xff0c;把你所有的历史订单信息都拉出来。 表结构这样 CREATE TABLE User ( id INT PRIMARY…

docker笔记(一):安装、常用命令

一、docker概述 1.1docker为什么会出现 各种环境配置十分繁琐&#xff0c;每一个机器都需要配置环境&#xff0c;难免出现各种问题。 发布一个项目jar需要配置&#xff08;MySQL、redis、jdk、…&#xff09;&#xff0c;项目不能都带上环境安装打包&#xff1a; 传统&…

PostgrerSQL基本使用与数据备份

前言 上篇了解了 PostgrerSQL 数据库的部署PostgreSQL关系型数据库介绍与部署-CSDN博客&#xff0c;本篇将继续就其基本操作、备份与还原内容做相关介绍。 目录 一、数据库的操作 1. 本机登录 2. 开启远程登录 2.1 开放远程端口 2.2 编辑配置文件 2.3 修改配置密码 2.…

前端三剑客 —— JavaScript (第一天)

目录 回顾内容 1.弹性布局 2.网格布局 JavaScript 概述 发展 浏览器 什么是Javascript JavaScript 能干什么 JavaScript需要的环境 JavaScript初体验 基本数据 JS书写方式 行内JS 页面JS 外部JS 1&#xff09;创建外部JS文件 2&#xff09;编写页面 对话框 警…