【自用笔记】【大数据】

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通常是行的偏移量

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置Mysql集群主从复制报错

配置Mysql集群主从复制报错: 我在master创建了一个数据库(demo_ds_0),然后又快速删除了。然后又再次创建了 demo_ds_0, 发现 slave 数据库没有将 demo_ds_0 库同步过来。 后面在 slave 数据库中执行 show slave status 发现 SLave_IO_Running 字段是 …

练习 17 Web [极客大挑战 2019]PHP

常见的网站源码备份文件名和后缀,反序列化攻击 unserialize():wakeup绕过,private类以及属性序列化后的%00修改 开靶机 提到”备份“ 那看看有没有backup.php啥的 如果网站存在备份文件,常见的备份文件后缀名有:“.gi…

开源代码分享(17)-基于足球队训练算法(Football Team Training Algorithm,FTTA)的组合风速预测

参考文献: [1]Tian Z, Gai M. Football team training algorithm: A novel sport-inspired meta-heuristic optimization algorithm for global optimization[J]. Expert Systems with Applications, 2024, 245: 123088. 1.算法基本原理 足球队训练算法&#xff0…

练习14 Web [极客大挑战 2019]Upload

phtml格式绕过,burp修改content-type绕过,常见的文件上传存放目录名 题目就叫upload,打开靶机 直接上传一个图片格式的一句话木马,返回如下: 提交练习5和9中的两种可以执行图片格式php代码的文件,修改con…

前端三剑客 —— CSS (第四节)

目录 内容回顾: 1.常见样式 2.特殊样式 特殊样式 过滤效果 动画效果 动画案例: 渐变效果 其他效果: 多列效果 字体图标(icon) 内容回顾: 1.常见样式 text-shadow x轴 y轴 阴影的模糊程度 阴影的…

蓝桥杯-冶炼金属(二分求最大最小)

P9240 [蓝桥杯 2023 省 B] 冶炼金属 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 二分做法&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long const int N 1e410; int n,a,b; int v[N],cnt[N]; int check(int x){for(int i1;i<n;i…

JS详解-设计模式

工厂模式&#xff1a; 单例模式&#xff1a; // 1、定义一个类class SingleTon{// 2、添加私有静态属性static #instance// 3、添加静态方法static getInstance(){// 4、判断实例是否存在if(!this.#instance){// 5、实例不存在&#xff0c;创建实例this.#instance new Single…

[AIGC] SpringMVC, Filter, Interceptor之间关系详解

在Web应用开发过程中&#xff0c;我们经常需要处理各样的HTTP请求和响应。在Spring框架中&#xff0c;我们主要借助SpringMVC、Filter和Interceptor来处理这些任务。那么&#xff0c;这三者之间有什么关系&#xff0c;又分别扮演着什么角色呢&#xff1f;本文将带你一探究竟。 …

VS Code 配置 cmake

CMake 用法参考 CMake学习 cmake使用详细教程&#xff08;日常使用这一篇就足够了&#xff09;_cmake教程-CSDN博客 手动添加 CMake 编译器的搜索路径 如果没有设置上面的路径&#xff0c;有些编译器是找不到的 指定cmake 生成文件的路径 生成makefile 等文件的路径 可以指…

Linux网卡IP地址配置错误的影响

在Linux系统中&#xff0c;网络配置是保持系统顺畅运行的关键一环。正确配置网卡的IP地址对于确保网络通信的准确性和效率至关重要。然而&#xff0c;如果在这个过程中发生错误&#xff0c;可能会带来一系列问题。让我们一起探讨一下&#xff0c;如果Linux网卡的IP地址配置错误…

网络基础(1)

以下是网络部分整体的学习路线&#xff1a; 网络的发展历程 因为人与人之间是需要合作去完成一些任务的&#xff0c;这也就意味着计算器之间也是需要互相"沟通"的。因为计算机也是人所使用的工具&#xff0c;人都需要互相协作&#xff0c;也就注定了计算机也是需要互…

Toyota Programming Contest 2024#4(AtCoder Beginner Contest 348)(A~D)

A - Penalty Kick i,1~N。如果 i 是 3 的倍数输出x&#xff0c;否则输出o #include <bits/stdc.h> //#define int long long #define per(i,j,k) for(int (i)(j);(i)<(k);(i)) #define rep(i,j,k) for(int (i)(j);(i)>(k);--(i)) #define debug(a) cout<<#…