《R与Hadoop大数据分析实战》一1.5 Hadoop的特点

简介:

本节书摘来自华章出版社《R与Hadoop大数据分析实战》一书中的第1章,第1.5节,作者 (印)Vignesh Prajapati,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.5 Hadoop的特点

Hadoop是围绕两个核心概念专门设计的:HDFS和MapReduce。这两者都与分布式计算相关。MapReduce被认为是Hadoop的核心并对分布式数据执行并行处理。
Hadoop的特点如下:
HDFS
MapReduce

1.5.1 HDFS简介

HDFS是Hadoop自带的机架感知文件系统,这是Hadoop中的一个基于UNIX的数据存储层。HDFS起源于Google文件系统概念。Hadoop的一个重要特征是数据分区和通过许多(成千的)主机的计算以及以并行、接近它们的数据的方式执行的应用程序计算。在HDFS上,数据文件在集群里被复制成序列块。一个Hadoop集群通过简单地添加商业服务器来衡量计算能力、存储容量和I/O带宽。可以通过许多不同的方式从应用程序中访问HDFS。HDFS本身为应用程序提供一个Java API。
Hadoop集群在Yahoo!上跨度40 000台服务器并且存储40PB的应用数据,最大的Hadoop集群有4000台服务器。同时,遍及全球的其他一百个已知组织正在使用Hadoop。
了解HDFS的特点
HDFS的特点如下:
容错
能在商业硬件上运行
能够处理大型数据集
主从范式
一次写入文件的访问

1.5.2 MapReduce简介

MapReduce是一个在大集群中用于处理分布式大数据集的编程模型,是Hadoop的核心。它的程序示例可在配有Hadoop集群的很多服务器上处理大数据,这源于Google MapReduce。
Hadoop MapReduce是易于编写应用程序的一个软件框架,在大集群的硬件中,以一种可靠、容错的方式并行处理大数据。这个MapReduce范式分为两个阶段,Map和Reduce主要以键值对形式处理数据。Map和Reduce任务在一个集群上按顺序进行,Map阶段的输出将作为Reduce阶段的输入。这一过程解释如下:
Map阶段:数据集被分割后,处理数据集的权限分配给任务跟踪器,来执行Map阶段。数据操作执行,得到Map阶段的键值对,并将其作为Map阶段的结果输出。
Reduce阶段:主节点汇集所有子问题的结果,并将它们整合起来,作为问题的最终结果输出。
并行计算的五个常见步骤如下。

  1. 准备Map()输入数据:自动将数据以行的方式输入,每行输出键值对,或者可以根据需求进行改变。
    Map input: list (k1, v1)
  2. 运行开发者提供的Map()代码。
    Map output: list (k2, v2)
  3. 将Map的结果送入Reduce执行单元中,同时使用键进行分组,把相同键数据送入相同的Reducer中。
  4. 运行开发者提供的Reduce()代码:这一阶段将运行由开发者设计的reducer执行单元代码,此阶段会重新排序数据并生成键值对形式的数据。
    Reduce input: (k2, list(v2))

Reduce output: (k3, v3)

  1. 产生最终的输出:主节点收集所有Reducer执行单元的输出,并将其写入一个文本文件。
    Google文件系统:http://research.google.com/archive/gfs.html; Google MapReduce: http://research.google.com/archive/mapreduce.html
相关文章
|
25天前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
111 6
|
25天前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
56 2
|
2天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
16 2
|
3天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
18 1
|
21天前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
37 1
|
27天前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
65 5
|
27天前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
32 4
|
26天前
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
38 3
|
27天前
|
XML 大数据 网络安全
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
54 4
|
26天前
|
分布式计算 Java Hadoop
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(一)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(一)
36 2