《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
相关文章
|
8天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
102 2
|
8天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
2天前
|
存储 分布式计算 Hadoop
大数据存储技术(1)—— Hadoop简介及安装配置
大数据存储技术(1)—— Hadoop简介及安装配置
23 0
|
8天前
|
分布式计算 数据可视化 Hadoop
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
|
8天前
|
分布式计算 资源调度 Hadoop
java与大数据:Hadoop与MapReduce
java与大数据:Hadoop与MapReduce
29 0
|
8天前
|
存储 分布式计算 Hadoop
【专栏】Hadoop,开源大数据处理框架:驭服数据洪流的利器
【4月更文挑战第28天】Hadoop,开源大数据处理框架,由Hadoop Common、HDFS、YARN和MapReduce组成,提供大规模数据存储和并行处理。其优势在于可扩展性、容错性、高性能、灵活性及社区支持。然而,数据安全、处理速度、系统复杂性和技能短缺是挑战。通过加强安全措施、结合Spark、自动化工具和培训,Hadoop在应对大数据问题中保持关键地位。
|
8天前
|
分布式计算 Hadoop 大数据
[大数据] mac 史上最简单 hadoop 安装过程
[大数据] mac 史上最简单 hadoop 安装过程
|
8天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
99 1
|
8天前
|
分布式计算 资源调度 Hadoop
Apache Hadoop入门指南:搭建分布式大数据处理平台
【4月更文挑战第6天】本文介绍了Apache Hadoop在大数据处理中的关键作用,并引导初学者了解Hadoop的基本概念、核心组件(HDFS、YARN、MapReduce)及如何搭建分布式环境。通过配置Hadoop、格式化HDFS、启动服务和验证环境,学习者可掌握基本操作。此外,文章还提及了开发MapReduce程序、学习Hadoop生态系统和性能调优的重要性,旨在为读者提供Hadoop入门指导,助其踏入大数据处理的旅程。
255 0
|
8天前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
24 1
大数据Hadoop生态圈体系视频课程