9.13Spak与 Hadoop的对比 Hadoop存在如下一些缺点 表达能力有限 磁盘IO开销大 ·延迟高 任务之间的衔接涉及IO开销 在前一个任务执行完成之前,其他任务就无法 开始,难以胜任复杂、多阶段的计算任务 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.1.3 Spark与Hadoop的对比 Hadoop存在如下一些缺点: •表达能力有限 •磁盘IO开销大 •延迟高 •任务之间的衔接涉及IO开销 •在前一个任务执行完成之前,其他任务就无法 开始,难以胜任复杂、多阶段的计算任务
9.13Spak与 Hadoop的对比 Spak在借鉴 Hadoop MapReduce优点的同时,很好地解决了 MapReduce所面临的问题 相比于 Hadoop map reduce,spak主要具有如下优点: Spark的计算模式也属于 MapReduce,但不局限于Map和 Reduce操作 ,还提供了多种数据集操作类型,编程模型比 Hadoop map reduce更 灵活 spak提供了内存计算,可将中间结果放到内存中,对于迭代运算 效率更高 Spark基于DAG的任务调度执行机制,要优于 Hadoop Map reduce的 迭代执行机制 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.1.3 Spark与Hadoop的对比 Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了 MapReduce所面临的问题 相比于HadoopMapReduce,Spark主要具有如下优点: •Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作 ,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更 灵活 •Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算 效率更高 Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的 迭代执行机制
9.13Spak与 Hadoop的对比 HDFS 迭代1 迭代2 查询1 结果1 查询2 结果2 (a) Hadoop MapReduce执行流程 读取 存储在 读取 内存中 内存 内存中 迭代1 查询1 内存中 查询2 结果2 图16-2 Hadoop与 Spark的执行流程对比 (b) Spark执行流程 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.1.3 Spark与Hadoop的对比 迭代1 迭代2 HDFS 读取 HDFS 写入 HDFS 读取 HDFS 写入 ... 查询1 查询2 ... 结果1 结果2 (a) Hadoop MapReduce执行流程 迭代1 迭代2 读取 存储在 内存中 ... 输入 输入 输入 存储在 内存中 读取内存 查询1 查询2 ... 结果1 结果2 输入 存储在 内存中 (b) Spark执行流程 图16-2 Hadoop与Spark的执行流程对比
9.13Spak与 Hadoop的对比 使用 Hadoop进行迭代计算非常耗资源 Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间 结果作运算,避免了从磁盘中频繁读取数据 110 0.9 Hadoop Spark 图16-3 Hadoop与 Spark执行逻辑回归的时间对比 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.1.3 Spark与Hadoop的对比 110 0.9 0 20 40 60 80 100 120 Hadoop Spark 执行时间(s) 图16-3 Hadoop与Spark执行逻辑回归的时间对比 •使用Hadoop进行迭代计算非常耗资源 •Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间 结果作运算,避免了从磁盘中频繁读取数据
●9:2sa生态系统 在实际应用中,大数据处理主要包括以下三个类型 ·复杂的批量数据处理:通常时间跨度在数十分钟到数小时之间 基于历史数据的交互式查询:通常时间跨度在数十秒到数分钟之间 基于实时数据流的数据处理:通常时间跨度在数百毫秒到数秒之间 当同时存在以上三种场景时,就需要同时部署三种不同的软件 比如: MapReduce/mpaa/ Storm 这样做难免会带来一些问题 ·不同场景之间输入输出数据无法做到无缝共享,通常需要进行数据格 式的转换 不同的软件需要不同的开发和维护团队,带来了较高的使用成本 比较难以对同一个集群中的各个系统进行统一的资源协调和分配 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.2 Spark生态系统 在实际应用中,大数据处理主要包括以下三个类型: •复杂的批量数据处理:通常时间跨度在数十分钟到数小时之间 •基于历史数据的交互式查询:通常时间跨度在数十秒到数分钟之间 •基于实时数据流的数据处理:通常时间跨度在数百毫秒到数秒之间 当同时存在以上三种场景时,就需要同时部署三种不同的软件 •比如: MapReduce / Impala / Storm 这样做难免会带来一些问题: •不同场景之间输入输出数据无法做到无缝共享,通常需要进行数据格 式的转换 •不同的软件需要不同的开发和维护团队,带来了较高的使用成本 •比较难以对同一个集群中的各个系统进行统一的资源协调和分配