1.大数据概述
1.列举Hadoop生态的各个组件及其功能、以及各个组件之间的相互关系,以图呈现并加以文字描述。
答:
1) HDFS:
功能:处理超大数据、流式处理、存储和管理数据。
2) MapReduce:
功能:数据划分和计算任务调度、数据/代码互定位、系统优化、检测出错和恢复出错数据。
3) Hive:
功能:用来进行数据提取、转化、加载,一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
4) HBase:
功能:提供高可靠性、高性能、可伸缩、实时读写、分布式的列式数据库,具有强大的非结构化数据存储能力。
5) Pig:
功能:一种基于Hadoop的数据仓库工具,用于对Hadoop文件中的数据集进行数据整理、特殊查询和分析存储。
6) Mahout:
功能:提供可扩展的机器学习领域经典算法实现。
7) Flume:
功能:提供高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,用于收集数据、提供对数据进行简单处理并写到各种数据接受方的能力。
8) Sqoop:
功能:用来在Hadoop和关系数据库之间交换数据,改进数据的互操作性。
9) Apache Ambari:
功能:是一种基于Web的工具,支持Apache Hadoop集群的安装、部署、配置和管理。
10) Zookeeper:
功能:提供分布式锁之类的基本服务,用于构建分布式应用,减轻分布式应用程序所承担的协调任务。
11) YARN
功能:为上层应用提供统一的资源管理和调度。

2.对比Hadoop与Spark的优缺点。
答:Hadoop缺点:
1) 表达能力有限。计算都必须要转化成 Map 和 Reduce 两个操作,不适合所有情况,难以描述复杂的数据处理过程。
2) 磁盘IO开销大。每次执行时都需要从磁盘读取数据,并且在计算完成后需要将中间结里写人到磁盘中。IO 开销较大。
3) 延迟高。一次计算可能需要分解成一系列按顺序执行的 MapReduce 任务,任务之间的衔接由于涉及到IO开销,会产生较高延迟。而且,在前一个任务执行完成之前,其他任务无法开始,因此难以胜任复杂、多阶段的计算任务。
Spark优点:
1) Spark的计算模式也属于 MapReduce ,但不局限于 Map 和 Reduce 操作,还提供了多种数据集操作类型,编程模型 比MapReduce 更灵活。
2) Spark 提供了内存计算,中问结果直接放到内存中,带来了更高的选代运算效率。
3) Spark 基于 DAG 的任务调度执行机制,优于MapReduce 的迭代执行机制。
总结:
Spark和Hadoop对比下,Spark比Hadoop会大大减少IO的开销,更适合迭代运算比较多的数据挖掘与机器学习运算。
Hadoop 需要编写不少相对底层的代码,不够高效。而Spark 提供了多种高层次、简洁的 API。同样的功能实现,Hadoop比Spark多代码量。而且Spark提供了实时交互式的编程反馈,万便验证、调整算法。
Hadoop 可以使用廉价的、异构的机器来做分布式存储与计算,但是 Spark 对硬件、内存、CPU的要求较高。
3.如何实现Hadoop与Spark的统一部署?
答:不同的计算框架(MapReduce、Hbase、Spark等)可以在YARN上统一部署。


浙公网安备 33010602011771号