ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1.大数据概述

2022-02-26 14:32:18  阅读:150  来源: 互联网

标签:Hadoop Mapreduce 容错性 概述 组件 Spark 数据


1.列举Hadoop生态的各个组件及其功能、以及各个组件之间的相互关系,以图呈现并加以文字描述。

Hadoop生态包括YARN、Zookeeper、HBase、Hive、Pig、Mahout、Sqoop、Flume、Ambari等功能组件,并且以HDFS和MapReduce为核心。

Hadoop生态圈如图1所示:

                     图1-1 Hadoop生态圈图

 

 

 

1.1、HDFS

HDFS是hadoop体系中数据存储管理的基础。他是一个高度容错的系统,能检测和应对硬件故障。

1.2、Mapreduce

Mapreduce是一种计算模型,用于处理大数据量的计算。其中Mapreduce对应数据集上的独立元素进行指定的操作,生成键-值对形式中间,Reduce则对中间结果中相同的键的所有值进行规约,以得到最终结果。

1.3、Hive

最初用于解决海量结构化的日志数据统计问题,Hive定于了一种类似SQL的查询语言(HiveQL)将SQL转化为Mapreduce任务在Hadoop上执行。

1.4、Hbase

Hbase是一个针对结构化数据的可伸缩,高可靠,高性能,分布式和面向列的动态模式数据库。

和传统关系型数据库不同,hbase采用了bigtable的数据模型:增强了稀疏排序映射表(key/value)。

其中,键由行关键字,列关键字和时间戳构成,Hbase提供了对大规模数据的随机,实时读写访问,同时,Hbase中保存的数据可以使用Mapreduce来处理,它将数据存储和并行计算完美结合在一起。

1.5、ZooKeeper

解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

 

1.6、Sqoop

Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之间传输数据。

数据的导入和导出本质上是Mapreduce程序,充分利用了Mapreduce的并行化和容错性。

1.7、Pig

将脚本转换为Mapreduce任务在Hadoop上执行,通常用于离线分析。

1.8、Mahout

Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。

Mahout现在已经包含了聚类,分类,推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。

1.9、Flume

Flume具有分布式,高可靠,高容错,易于定制和扩展的特点。

他将数据从产生,传输,处理并写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。

1.10、Yarn

Yarn是一个资源调度平台,负责为运算程序调度服务器运算资源,相当于一个分布式的操作系统平台。

 

2.对比Hadoop与Spark的优缺点。

2.1、运行速度

系统运行速度与数据处理的效率直接相关,早期的Hadoop,基于分布式计算框架MapReduce,基于磁盘进行计算,因为需要不断从磁盘读取,所以运行整体速度会减慢。

而Spark,基于内存计算,中间计算结果也存储在内存中,迭代效率更高,数据处理效率也大大提高。

2.2、容错性

面对大规模的数据处理任务,容错性是非常值得关注的指标。Spark引进弹性分布式数据集RDD的概念,在RDD计算时可以通过CheckPoint来实现容错。

而Hadoop的容错机制,HDFS保证数据的容错性性,ZooKeeper以及Yarn组件等保证运行的容错性。

2.3、编程操作

Spark支持的数据集操作类型很多,也就是对RDD的操作,各个处理节点之间的通信模型不再像Hadoop只有Shuffle一种模式,用户可以命名、物化,控制中间结果的存储、分区等。而相对来说,Hadoop就要单一得多,只有Map和Reduce两个阶段。

 

3.如何实现Hadoop与Spark的统一部署?

一方面,由于Hadoop生态系统中的一些组件所实现的功能,目前还是无法由Spark取代的,比如,Storm可以实现毫秒级响应的流计算,但是,Spark则无法做到毫秒级响应。另一方面,企业中已经有许多现有的应用,都是基于现有的Hadoop组件开发的,完全转移到Spark上需要一定的成本。因此,在许多企业实际应用中,Hadoop和Spark的统一部署是一种比较现实合理的选择。

由于Hadoop MapReduce、HBase、Storm和Spark等,都可以运行在资源管理框架YARN之上,因此,可以在YARN之上进行统一部署(如图3-1所示)。这些不同的计算框架统一运行在YARN中,可以带来如下好处:

 

                      图 3-1 

第一,计算资源按需伸缩。

第二,不同负载应用混搭,集群利用率高。

第三,共享底层存储,避免数据跨集群迁移。

标签:Hadoop,Mapreduce,容错性,概述,组件,Spark,数据
来源: https://www.cnblogs.com/cwl9527/p/15939177.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有