大数据学习(16)-mapreduce详解

这篇具有很好参考价值的文章主要介绍了大数据学习(16)-mapreduce详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

&&大数据学习&&

🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞


在MapReduce中,Map阶段和Reduce阶段分别执行以下任务:

  1. Map阶段:Map阶段的任务是处理输入数据并生成一系列的键值对(key/value pairs)。Map函数会对每个输入数据执行操作,并将结果写入到一个本地磁盘上的临时文件中。Map阶段的任务是在每个单独的Map任务中完成的,这些Map任务是在Map阶段启动的。

在Hadoop MapReduce中,Map阶段的任务如下:

  • 从HDFS中的文件读取数据。
  • 将数据拆分成键值对。
  • 对每个键值对执行Map函数,生成新的键值对。
  • 将生成的键值对写入到本地磁盘上。
  1. Reduce阶段:Reduce阶段的任务是处理Map阶段生成的键值对并生成最终的输出结果。Reduce函数会对每个键执行操作,并将结果写入到最终的输出文件中。Reduce阶段的任务是在每个单独的Reduce任务中完成的,这些Reduce任务是在Reduce阶段启动的。

在Hadoop MapReduce中,Reduce阶段的任务如下:

  • 从本地磁盘上读取Map阶段的输出数据。
  • 将数据合并成一个大文件。
  • 对合并后的数据进行排序。
  • 对排序后的键值对执行Reduce函数。
  • 将输出的键值对写入到HDFS文件中。

在Hive中,当我们需要进行分组聚合操作时,通常会使用MapReduce框架来处理大规模的数据。传统的方法是在Map阶段将数据按照分组字段进行分区,然后将结果发送到Reduce阶段进行聚合运算。这种方法需要在Reduce阶段处理所有分组的 数据,因此当数据量很大时,Reduce阶段可能会成为瓶颈。

为了解决这个问题,Hive引入了map-side聚合的优化方法。在map-side聚合中,我们在Map阶段不仅仅只是将数据按照分组字段进行分区,而是利用一个hash table来维护每个分组的数据。在遍历数据的过程中,我们会对每个分组的数据进行部分的聚合运算,然后将聚合的结果存储在hash table中。

接下来,我们将聚合的结果按照分组字段进行分区,并将每个分区的结果发送到Reduce阶段。在Reduce阶段,我们只需要对每个分组的数据进行最终的聚合运算,这样就可以大大减少需要处理的数据量。因此,这种方法可以有效减少shuffle的数据量,提高分组聚合运算的效率。

启用map-side聚合的方法是设置hive.map.aggr=true参数。此外,还可以通过设置hive.map.aggr.hash.min.reduction参数来检测源表数据是否适合进行map-side聚合。这个参数用于指定当源表数据中具有相同分组字段值的行数小于某个阈值时,才适合使用map-side聚合。文章来源地址https://www.toymoban.com/news/detail-722620.html

到了这里,关于大数据学习(16)-mapreduce详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据:Hadoop基础常识hive,hbase,MapReduce,Spark

    Hadoop是根据Google三大论文为基础研发的,Google 三大论文分别是: MapReduce、 GFS和BigTable。 Hadoop的核心是两个部分: 一、分布式存储(HDFS,Hadoop Distributed File System)。 二、分布式计算(MapReduce)。 MapReduce MapReduce是“ 任务的分解与结果的汇总”。 Map把数据切分——分布式存放

    2024年04月25日
    浏览(55)
  • 测试环境搭建整套大数据系统(三:搭建集群zookeeper,hdfs,mapreduce,yarn,hive)

    https://blog.csdn.net/weixin_43446246/article/details/123327143 java_home填写自己安装的路径。 vim core-site.xml 将以下信息填写到configuration中 vim hdfs-site.xml vim mapred-site.xml vim yarn-site.xml vim workers 启动zk 三台机器全部执行 在node01执行 格式化NameNode 。 在node01执行 启动hdfs 在node01执行 启动yarn jps

    2024年02月20日
    浏览(116)
  • 基于Hadoop的MapReduce网站日志大数据分析(含预处理MapReduce程序、hdfs、flume、sqoop、hive、mysql、hbase组件、echarts)

    需要本项目的可以私信博主!!! 本项目包含:PPT,可视化代码,项目源码,配套Hadoop环境(解压可视化),shell脚本,MapReduce代码,文档以及相关说明教程,大数据集! 本文介绍了一种基于Hadoop的网站日志大数据分析方法。本项目首先将网站日志上传到HDFS分布式文件系统

    2024年02月16日
    浏览(65)
  • 大数据组件HDFS、MapReduce、Hive三个大数据组件的特点和架构,并详细阐述它们之间的联系与区别

    作者:禅与计算机程序设计艺术 大数据组件是解决大数据的关键组件之一,在Hadoop生态系统中占据着至关重要的地位,它包括了HDFS、MapReduce、Hive等等一系列框架和工具。本文将会通过主要分析HDFS、MapReduce、Hive三个大数据组件的特点和架构,并详细阐述它们之间的联系与区

    2024年02月07日
    浏览(65)
  • 云计算与大数据之间的羁绊(期末不挂科版):云计算 | 大数据 | Hadoop | HDFS | MapReduce | Hive | Spark

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 大数据是需求,云计算是手段。没有大数据,就不需要云计算;没有云计算,就无法处理大数据。 所有的计算能力、存储能力、和各种各样功能的应用都通过网络

    2024年02月04日
    浏览(64)
  • 大数据MapReduce学习案例:数据去重

    数据去重主要是为了掌握利用并行化思想来对数据进行有意义的筛选,数据去重指去除重复数据的操作。在大数据开发中,统计大数据集上的多种数据指标,这些复杂的任务数据都会涉及数据去重。 文件file1.txt本身包含重复数据,并且与file2.txt同样出现重复数据,现要求使用

    2024年02月07日
    浏览(67)
  • 大数据处理领域的经典框架:MapReduce详解与应用【上进小菜猪大数据】

    上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 MapReduce是一个经典的大数据处理框架,可以帮助我们高效地处理庞大的数据集。本文将介绍MapReduce的基本原理和实现方法,并给出一个简单的示例。 MapReduce的基本原理包括两个阶段:Map和Reduce。 1、Map阶段 M

    2024年02月07日
    浏览(49)
  • (02)Hive SQL编译成MapReduce任务的过程

    目录 一、架构及组件介绍 1.1 Hive底层架构 1.2 Hive组件 1.3 Hive与Hadoop交互过程 二、Hive SQL 编译成MR任务的流程 2.1 HQL转换为MR源码整体流程介绍 2.2 程序入口—CliDriver 2.3 HQL编译成MR任务的详细过程—Driver 2.3.1 将HQL语句转换成AST抽象语法树 词法、语法解析 2.3.2 将AST转换成T

    2024年02月19日
    浏览(31)
  • Hadoop学习:深入解析MapReduce的大数据魔力(三)

    (1)Read阶段:MapTask通过InputFormat获得的RecordReader,从输入InputSplit中解析出一个个key/value。 (2)Map阶段:该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/value。 (3)Collect 收集阶段:在用户编写 map()函数中,当数据处理完成后,一般会调用

    2024年02月12日
    浏览(41)
  • Hadoop学习:深入解析MapReduce的大数据魔力之数据压缩(四)

    压缩的优点:以减少磁盘IO、减少磁盘存储空间。 压缩的缺点:增加CPU开销。 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 1)压缩算法对比介绍 2)压缩性能的比较 压缩方式选择时重点考虑:压缩/解压缩速度、压缩率(压缩后存储大小)、压缩后是否 可以

    2024年02月12日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包