https://www.jianshu.com/p/831f396a1564 (Hadoop Spark的面经)
Hadoop
可靠的、可扩展的,开源的分布式计算框架。
可以使用简单的编程,跨计算机集群,处理大型数据集合。 目的就是,将单个服务器扩展成上千个机器组成的一个集群,为大数据提供计算服务。 其中, 每个机器都提供本地计算和存储服务。
Hadoop工程包括很多模块:
Hive: 提供数据汇总和特定查询的数据仓库。
Spark:用于Hadoop数据的快速通用计算引擎,支付广泛应用的,简单易懂的编程模型,包含ETL\机器学习、流处理和图计算。
ZooKeeper:给分布式应用,提供高性能的协同服务系统。
HBase: 一种支持存储大型表的 结构化存储的可扩展的分布式数据库。
MapReduce: 计算引擎。
MapReduce
Hadoop的MapReduce 是第一代计算引擎, Spark是第二代计算引擎。
MapReduce将复杂的并行计算,抽象到两个函数: Map函数,和 Reduce函数。
MapReduce的核心是“分而治之”策略。数据在其MapReduce的生命周期中过程中需要经过六大保护神的洗礼,分别是:Input、Split、Map、Shuffule、Reduce和Output。
https://www.cnblogs.com/wing1995/p/9300120.html
Spark
- 速度快, 查询优化器、 DAG调度器、 物理执行引擎,高性能的实现批处理和流数据处理。
- 易用性, 可以使用java、scala、python、 R、 SQL快速的写Spark应用。