《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
相关文章
|
11天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
33 2
|
11天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
13天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
51 1
|
30天前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
20 1
大数据Hadoop生态圈体系视频课程
|
4月前
|
分布式计算 资源调度 搜索推荐
《PySpark大数据分析实战》-02.了解Hadoop
大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第2节的内容:了解Hadoop。
48 0
《PySpark大数据分析实战》-02.了解Hadoop
|
4月前
|
存储 搜索推荐 算法
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
165 0
|
4月前
|
分布式计算 Hadoop Java
【大数据实训】基于Hadoop的2019年11月至2020年2月宁波天气数据分析(五)
【大数据实训】基于Hadoop的2019年11月至2020年2月宁波天气数据分析(五)
53 1
|
4月前
|
存储 分布式计算 搜索推荐
【大数据毕设】基于Hadoop的音乐管理系统论文(三)
【大数据毕设】基于Hadoop的音乐管理系统论文(三)
103 0
|
机器学习/深度学习 分布式计算 大数据
|
4月前
|
SQL 分布式计算 Hadoop
[AIGC ~大数据] 深入理解Hadoop、HDFS、Hive和Spark:Java大师的大数据研究之旅
[AIGC ~大数据] 深入理解Hadoop、HDFS、Hive和Spark:Java大师的大数据研究之旅

热门文章

最新文章