1、大数据概述

1、

主要的核心组件有HDFS和MapReduce,其他还包括ZooKeeper、HBase、Hive、Pig、Mahout、Sqoop、Flume、Ambari等功能组件

HDFS:HDFS具有很好的容错能力,并且兼容廉价的硬件设备,因此,可以以较低的成本利用现有机器实现大流量和大数据量的读写。
MapReduce:一种分布式并行编程模型,用于大规模数据集(大于1TB)的并行运算,它将复杂的、运行于大规模集群上的并行计算过程高度抽象到两个函数:Map和Reduce。
ZooKeeper:解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

HBase:针对结构化数据的可伸缩,高可靠,高性能,分布式和面向列的动态模式数据库。hbase中保存的数据可以使用mapreduce来处理,它将数据存储和并行计算完美结合在一起。
Hive:hive定于了一种类似sql的查询语言(hql)将sql转化为mapreduce任务在hadoop上执行。
Pig:定义了一种数据流语言-pig latin,将脚本转换为mapreduce任务在hadoop上执行。通常用于离线分析

Sqoop:主要用于传统数据库和hadoop之间传输数据。数据的导入和导出本质上是mapreduce程序,充分利用了MR的并行化和容错性。

Flume:cloudera开源的日志收集系统,具有分布式,高可靠,高容错,易于定制和扩展的特点。

 

2、

(1)spark引进了内存集群计算的概念,将数据集缓存在内存中,缩短访问时间

(2)spark批处理速度比MapReduce快近10倍,内存中的数据分析速度比Hadoop快近100倍

(3)Spark通过DAG图可以实现良好的容错

(4)Spark可以使用Hadoop的HDFS或者其他云数据平台进行数据存储,但是一般使用HDFS

(5)park处理数据的设计模式与MapReduce不一样,Hadoop是从HDFS读取数据,通过MapReduce将中间结果写入HDFS;然后再重新从HDFS读取数据进行MapReduce,再刷写到HDFS,这个过程涉及多次落盘操作,多次磁盘IO,效率并不高;而Spark的设计模式是读取集群中的数据后,在内存中存储和运算,直到全部运算完毕后,再存储到集群中

(6)Spark可以使用基于HDFS的HBase数据库,也可以使用HDFS的数据文件,还可以通过jdbc连接使用Mysql数据库数据;Spark可以对数据库数据进行修改删除,而HDFS只能对数据进行追加和全表删除

3、

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

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

1、计算资源按需伸缩;2、不用负载应用混搭,集群利用率高;3、共享底层存储,避免数据跨集群迁移。

 

posted @ 2022-02-22 11:21  彭翠清  阅读(70)  评论(0编辑  收藏  举报