作业一
一、
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更通用
三、