作业一

一、

1.HDFS(分布式文件系统)

HDFS是整个hadoop体系的基础 。负责数据的存储与管理。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。

2、MapReduce(分布式计算框架)

MapReduce是一种基于磁盘的分布式并行批处理计算模型。用于处理大数据量的计算。

3、Spark(分布式计算框架)

Spark是一种基于内存的分布式并行计算框架。

4、Flink(分布式计算框架)

Flink是一个基于内存的分布式并行处理框架。

5、Yarn/Mesos(分布式资源管理器)

YARN是在第一代MapReduce基础上演变而来的。主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的

6、Zookeeper(分布式协作服务)

Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面。协调服务/解决分布式环境下的数据管理问题。

7、Sqoop(数据同步工具)

Sqoop是SQL-to-Hadoop的缩写。主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。

8、Hive/Impala(基于Hadoop的数据仓库)

Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。

9、HBase(分布式列存储数据库)

HBase是一个建立在HDFS之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

10、Flume(日志收集工具)

Flume是一个可扩展、适合复杂环境的海量日志收集系统。将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。

11、Kafka(分布式消息队列)

Kafka是一种高吞吐量的分布式发布订阅消息系统。可以处理消费者规模的网站中的所有动作流数据。实现了主题、分区及其队列模式以及生产者、消费者架构模式。

12、Oozie(工作流调度器)

Oozie是一个可扩展的工作体系,集成于Hadoop的堆栈,用于协调多个MapReduce作业的执行。能够管理一个复杂的系统,基于外部事件来执行,外部事件包括数据的定时和数据的出现。

13.Hbase(数据仓库)

Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式数据库 ,利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理 HBase中的海量数据,利用Zookeeper作为其分布式协同服务,主要用来存储非结构化和半结构化的松散数据(列存NoSQL数据库)

14。Pig

Pig是一种数据流语言和运行环境,常用于检索和分析数据量较大的数据集。Pig包括两部分:一是用于描述数据流的语言,称为Pig Latin;二是用于运行Pig Latin程序的执行环境。作为数据分析平台,侧重数据查询和分析,而不是对数据进行修改和删除等。需要把真正的查询转换成相应的MapReduce作业

各组件的关系

二、

1.Spark 运算效率比MapReduce 高

2.Spark 容错性更高

3.Spark更通用

三、

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

 

posted @ 2022-02-27 19:13  塞纳河没有冰期  阅读(209)  评论(0编辑  收藏  举报