Hive进阶(4)----MapReduce的计算过程(赋图助君理解)

news2024/11/15 14:03:58

MapReduce的计算过程

        MapReduce是一种编程模型和处理大规模数据集的方法。它通常用于分布式计算环境中,能够将数据处理任务分解成独立的部分,分配给多台计算机进行并行处理。这个模型由Google提出,并在开源领域中得到了广泛的应用和实现。MapReduce模型包含两个主要阶段,MapReduce的优点在于它的可伸缩性和容错性。它可以处理非常大的数据集,并且能够在计算过程中处理节点故障等问题,保证整个计算任务的完成。Hadoop是最著名的MapReduce实现之一,它是一个开源的分布式计算框架,用于在大规模集群上运行MapReduce作业。

一、计算流程

Map阶段

1.按照块数量进行split的块数据读取

2.split切割后的数据传递给对应的map进行处理,会对数据转为kv (张三,1) (李四,2)

3.map将处理的后的数据写入buffer缓存区

4.对缓冲区内的数据进行spill溢出(读取缓冲区内的数据)

5.对读取的数据进行分区,将数据拆分多份

6.对每份拆分的数据进行排序 sort

7.将拆分的数据写入不同的文件

8.在将每次溢出的数据合并merge在一起,保存同一文件,文件是临时文件,计算后会删除

Reduce阶段

1.根据的分区数创建出多个reduce

2.每个reduce从不同的map中fetch获取相同分区的文件数据

3.在将fetch后的文件合并,对合并后的数据进行排序

4.reduce对合并后的文件数据进行计算

5.reduce对结果输出到hdfs的目录下

二、图形化流程

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

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

相关文章

Matlab|【免费】【sci】考虑不同充电需求的电动汽车有序充电调度方法

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现sci文献《A coordinated charging scheduling method for electric vehicles considering different charging demands》,主要实现电动汽车协调充电调度方法,该方法主要有以…

【Java EE】文件操作

目录 1.认识文件 2.树型结构组织和目录 3.文件路径(Path) 4.其他知识 5.Java中操作文件 5.1File概述 5.1.1属性 5.1.2构造方法 5.1.3方法 5.2代码示例 1.认识文件 我们先来认识狭义的文件(file)。针对1硬盘这种持久化存…

Jenkins机器已经安装了ansible, 运行的时候却报错ansible: command not found

操作系统:MacOS Jenkins log提示 ansible: command not found 直接在Jenkins 机器中,进入一样的目录执行ansible --version OK 原因: Jenkins 默认使用的环境是 /usr/bin, 而我的ansible 安装配置在conda3 下面,所以需要在Jenkin…

使用Python工具库SnowNLP对评论数据标注(二)

这一次用pandas处理csv文件 comments.csv import pandas as pd from snownlp import SnowNLPdf pd.read_csv("C:\\Users\\zhour\\Documents\\comments.csv")#{a: [1, 2, 3], b: [4, 5, 6], c: [7, 8, 9]}是个字典 emotions[] for txt in df[sentence]:s SnowNLP(…

线程互斥及基于线程锁的抢票程序

我们实现一个简单的多线程抢票程序。 #include<iostream> #include<thread> #include<unistd.h> #include<functional> #include<vector> using namespace std; template<class T> using func_tfunction<void(T)>;//返回值为void,…

OpenHarmony网络通信-socket-io

简介 socket.io是一个在客户端和服务器之间实现低延迟、双向和基于事件的通信的库。建立在 WebSocket 协议之上&#xff0c;并提供额外的保证&#xff0c;例如回退到 HTTP 长轮询或自动重新连接。 效果展示 下载安装 ohpm install ohos/socketio OpenHarmony ohpm 环境配置等更…

AWS入门实践-如何在AWS云上创建一个内外网隔离的生产环境

在 AWS 上建立一个内外网分离的生产环境,可以减少应用服务的暴露面&#xff0c;有效的保证你的应用服务器的安全。通常我们会将web应用放在外网的子网内&#xff0c;数据库服务器等放在内网的子网。我们将按照下图来部署动手实践环境&#xff0c;实现在public subnet的EC2虚拟机…

Java 笔记 01:Java 概述,MarkDown 常用语法整理

一、前言 记录时间 [2024-04-18] 昨天整理完 Docker 基础后略微思索了一下&#xff0c;还是决定把 Java 捡起来&#xff0c;系统地学习一遍&#xff0c;参考的学习课程是狂神说 Java 零基础&#xff0c;真诚感激此系列视频对笔者的帮助。 零基础可以学 Java 吗&#xff1f;只要…

2024Mathorcup数学应用挑战赛C题|图神经网络的预测模型+ARIMA时间序列预测模型+人员排班混合整数规划模型|完整代码和论文全解全析

2024Mathorcup数学应用挑战赛C题|图神经网络的预测模型ARIMA时间序列预测模型人员排班混合整数规划模型|完整代码和论文全解全析 我们已经完成了2024Mathorcup数学建模挑战赛C题的40页完整论文和代码&#xff0c;相关内容可见文末&#xff0c;部分图片如下&#xff1a; 问题分…

Redis中的Lua脚本(三)

Lua脚本 EVAL命令的实现 EVAL命令的执行过程可以分为以下三个步骤: 1.根据客户端给定的Lua脚本&#xff0c;在Lua环境中定义一个Lua函数2.将客户端给定的脚本保存到lua_scripts字典&#xff0c;等待将来进一步使用3.执行刚刚在Lua环境中定义的函数&#xff0c;以此来执行客户…

从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣

笔者最近刚刚试用完 CodeGemma &#xff0c;准备分享我的心得时&#xff0c;通义千问的 CodeQwen1.5 就也悄然发布。本文主要介绍 CodeQwen1.5 这款开源编程大模型&#xff0c;并展示如何在 VSCode 中使用它帮你提升编程体验。 1. 开源编程大模型的必要性 大型语言模型&#x…

python爬虫 - 爬取图片

文章目录 1、爬取图片示例1&#xff1a;使用 .urlretrieve() 函数2、爬取图片示例2 - 使用 open/write 函数3、爬取图片示例33.1 使用 open/write 下载3.2 使用 urlretrieve下载 爬虫的本质&#xff1a;模拟对应的App&#xff0c;浏览器访问对应的地址获取到数据 1、爬取图片示…

光伏工程施工前踏勘方案与注意事项

光伏工程是指利用光能发电的技术。随着清洁能源的发展&#xff0c;光伏工程在能源领域的应用越来越广泛。在进行光伏工程施工前&#xff0c;需要对施工现场进行踏勘&#xff0c;以确保施工能够顺利进行并达到预期的效果。 本文游小编带大家一起看一下探勘的方案和注意事项。 1…

LY-UV冲击试样缺口液压拉床

性能说明&#xff1a;该系列拉床专用于精确加工冲击试样的V型和U型缺口&#xff0c;试样加工过程全自动操作。是冶金、锅炉压力容器、车船和机械制造等行业理化试验室的理想冲击辅助设备。 该拉床具有操作简单、快速高效、一次成型且缺口标准统一的特点&#xff0c;完全满足GB…

用html写一个搜索页面

<!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>搜索框设计</title><link rel"stylesheet" href"./style.css"> </head> <body> <div class"se…

第 393 场周赛

100256. 替换字符可以得到的最晚时间 给你一个字符串 s&#xff0c;表示一个 12 小时制的时间格式&#xff0c;其中一些数字&#xff08;可能没有&#xff09;被 "?" 替换。 12 小时制时间格式为 "HH:MM" &#xff0c;其中 HH 的取值范围为 00 至 11&am…

VBA技术资料MF143:将PowerPoint中幻灯片导出为图片

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

【Qt 学习笔记】Qt常用控件 | 显示类控件Progress Bar的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 显示类控件Progress Bar的使用及说明 文章编号&#xff…

Centos7 ElasticSearch集群搭建

1. 服务器环境配置 1.1 配置hosts文件 3台服务器都要执行 vim /etc/hosts; # 将以下内容写入3台服务器hosts文件 192.168.226.148 es001 192.168.226.149 es002 192.168.226.150 es003 1.2 关闭防火墙 3台服务器都要执行 systemctl stop firewalld; systemctl disable…

SAP HCM 离职是1号 正确计算免税金额

员工是1号离职&#xff0c;如何正确计算个税中的免税金额&#xff0c;例如员工2024年3月1日离职&#xff0c;现在计算2月的工资&#xff0c;因为是下发薪所以&#xff0c;12月、1月、2月是三个月&#xff0c;3*500015000&#xff0c;但是系统计只有10000. 如果要计算出三个月&a…