大数据中的 Mapreduce:概述、功能和重要性
已发表: 2022-07-15什么是大数据?
大数据是传统计算方法无法处理的海量数据的综合集合。 大数据分析是指利用用户行为分析、预测分析或其他各种有效处理大数据的高级分析方法。 大数据分析用于系统地从大型数据集中提取信息。
随着科技的进步,我们的数字化生活主要依赖于各个领域的大数据集。 从手机等数字设备到计算机系统,数据无处不在,是大型组织和企业的重要资源。 他们依赖于大量未处理的数据,这些数据属于大数据保护伞。
因此,收集、研究、分析和信息提取对于各个部门的业务增长和其他目的是不可或缺的。 数据科学家的工作是处理这些数据并将其呈现给公司进行预测和业务规划。
`
探索我们流行的软件工程课程
SL。 不 | 软件开发计划 | |
1 | LJMU & IIITB 计算机科学硕士 | 加州理工学院 CTME 网络安全证书课程 |
2 | 全栈开发训练营 | 区块链中的 PG 程序 |
3 | 软件开发行政研究生课程 - DevOps 专业化 | 查看所有软件工程课程 |
什么是 MapReduce?
MapReduce 是一种编程模型,它在集群上的并行分布式算法的帮助下,在处理大数据和大型数据集方面发挥着不可或缺的作用。 MapReduce 程序可以用多种编程语言编写,如 C++、Java、Ruby、Python 等。MapReduce 的最大优势在于它使数据处理易于在众多计算机节点上扩展。
MapReduce 和 HDFS 主要用于大数据的有效管理。 Hadoop 被称为这种耦合的 Mapreduce 和 HDFS 系统的基本基础,称为 HDFS-MapReduce 系统。 因此,毋庸置疑,MapReduce 是 Apache Hadoop 生态系统不可或缺的组成部分。 Mapreduce 的框架有助于在海量级别上增强数据处理。 Apache Hadoop 由其他元素组成,包括 Hadoop 分布式文件系统 (HDFS)、Apache Pig 和 Yarn。
MapReduce 借助 Hadoop 生态系统的分散和并行算法帮助增强数据处理。 这种编程模型在电子商务和社交平台中的应用有助于分析从在线用户那里收集的海量数据。
从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
MapReduce 是如何工作的?
MapReduce 算法由两个完整的任务组成,即 Map 和 Reduce。 Map 任务获取一个数据集并继续将其转换为另一个数据集,其中单个元素被分解为元组或键值对。 Reduce 任务将 Map 的输出作为输入,并将这些数据元组或键值对组合成更小的元组集。 Reduce 任务总是在 map 作业之后执行。
以下是 MapReduce 的各个阶段:-
- 输入阶段:在输入阶段,记录阅读器帮助翻译输入文件中的每条记录,并将解析后的数据以键值对的形式发送给映射器。
- 地图:地图功能是用户定义的。 它有助于处理一系列键值对并生成零个或多个键值对。
- 中间键:映射器生成的键值对称为中间键。
- 组合器:这种本地化简器有助于将映射阶段生成的相似数据分组到可识别的集合中。 它是 MapReduce 算法的可选部分。
- Shuffle and Sort: Reducer 任务从这一步开始,它将分组的键值对下载到已经运行 Reducer 的机器中。 键值对按键分隔成更广泛的数据列表。 然后,数据列表将等效键组合在一起,以便在 Reducer 任务中轻松迭代它们的值。
- Reducer :Reducer 将分组的键值对数据作为输入,然后在每个数据上运行一个 Reducer 函数。 在这里,可以通过多种方式过滤、聚合和组合数据。 它还需要广泛的处理。 一旦该过程结束,它会为最后一步提供零个或多个键值对。
- 输出阶段:在这个阶段,有一个输出格式化程序,它转换来自 Reducer 函数的最终键值对,并使用记录写入器将它们写入文件。
MapReduce 分三个阶段进行:-
第一阶段:地图阶段
第二阶段:洗牌阶段
阶段 3:减少阶段。
帮助更好地理解各个阶段的示例。 以下是 Mapreduce 分阶段解决的 Wordcount 问题示例:-
考虑以下输入数据:-
- 安娜凯伦萝拉
- 克拉拉克拉拉萝拉
- 安娜克拉拉凯伦
- 上述数据已被分成三个输入部分。
- 安娜凯伦萝拉
- 克拉拉克拉拉萝拉
- 安娜克拉拉凯伦
- 在下一阶段,该数据被馈送到下一阶段,即映射阶段。
考虑第一行(Anna Karen Lola),我们得到三个键值对——Anna, 1; 凯伦,1; 萝拉,1。
您将在下面的映射阶段找到结果:-
- 安娜,1
凯伦,1
萝拉,1 - 克拉拉,1
克拉拉,1
萝拉,1 - 安娜,1
克拉拉,1
凯伦,1
- 然后将上述数据输入下一阶段。 这个阶段称为排序和洗牌阶段。 此阶段的数据被分组为唯一键并进一步排序。 你会发现排序和洗牌阶段的结果:
- 萝拉,(1,1)
- 凯伦(1,1)
- 安娜(1,1)
- 克拉拉(1,1,1)
- 然后将上面的数据输入到下一个阶段,即归约阶段。
这里把所有的键值聚合起来,统计 1 的个数。
下面是reduce阶段的结果:
- 萝拉,2
- 凯伦,2
- 安娜,2
- 克拉拉,3
阅读我们与软件开发相关的热门文章
如何在 Java 中实现数据抽象? | Java中的内部类是什么? | Java 标识符:定义、语法和示例 |
通过示例了解 OOPS 中的封装 | C 中的命令行参数解释 | 2022 年云计算的 10 大特点和特点 |
Java 中的多态性:概念、类型、特征和示例 | Java 中的包以及如何使用它们? | Git 初学者教程:从零开始学习 Git |
为什么选择 MapReduce?
作为编写应用程序的编程模型,MapReduce 是在多个节点上并行处理大数据的最佳工具之一。 使用 MapReduce 的其他优点如下:-
- 安全
- 可扩展性
- 灵活性
- 预算友好
- 验证
- 简化的编程模型
- 快速有效
- 可用性
- 并行处理
- 弹力
结论
大数据是我们生活中非常重要的一部分,因为经济蓬勃发展的大公司依赖于大数据。 今天,它是人们可以选择的最有利可图的职业选择之一。
如果您想报名参加大数据高级证书课程的可靠课程,那就别无所求。 upGrad有你会遇到的最好的课程。 您将学习顶级专业技能,如使用 PySpark 进行数据处理、数据仓库、MapReduce、云端大数据处理、实时处理等。
什么是分区器,它是如何使用的?
分区器是一个阶段,它使用哈希函数控制立即 Mapreduce 输出键的分区。 分区决定了reducer,键值对被发送到。
MapReduce 中指定的主要配置是什么?
MapReduce 需要 Hadoop 分布式文件系统中作业的输入和输出位置及其格式。 MapReduce 程序员还需要提供包含 map 和 reduce 函数的类的参数。 MapReduce 还需要为 reducer、driver 和 mapper 类配置 .JAR 文件。
MapReduce 中的链映射器和身份映射器是什么?
链式映射器可以定义为简单的映射器类,这些映射器类在单个映射任务中借助跨特定映射器类的链式操作来实现。 身份映射器可以默认定义为 Hadoop 的映射器类。 当未定义其他映射器类时,将执行标识映射器。