1、大数据概述

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

答:主要的核心组件有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上执行。通常用于离线分析

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

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

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

 

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

答:Spark 把中间数据放到内存中,迭代运算效率高。MapReduce 中计算结果需要落地,保存到磁盘上,这样势必会影响整体速度,而 Spark 支持 DAG 图的分布式并行计算的编程框架,减少了迭代过程中数据的落地,提高了处理效率。其次,Spark 容错性高。Spark 引进了弹性分布式数据集 RDD (Resilient DistributedDataset) 的抽象,它是分布在一组节点中的只读对象集合,这些集合是弹性的,如果数据集一部分丢失,则可以根据“血统”(即允许基于数据衍生过程)对它们进行重建。另外在RDD 计算时可以通过 CheckPoint 来实现容错。最后,Spark 更加通用。mapreduce 只提供了 Map 和 Reduce 两种操作,Spark 提供的数据集操作类型有很多,大致分为:Transformations 和 Actions 两大类。Transformations包括 Map、Filter、FlatMap、Sample、GroupByKey、ReduceByKey、Union、Join、Cogroup、MapValues、Sort 等多种操作类型,同时还提供 Count, Actions 包括 Collect、Reduce、Lookup 和 Save 等操作。

 

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

答:由于Hadoop MapReduce、HBase、Storm和Spark等,都可以运行在资源管理框架YARN之上,因此,可以在YARN之上进行统一部署。

posted @ 2022-02-22 10:56  张玲玲  阅读(45)  评论(0)    收藏  举报