9.1.3Spak与 Hadoop的对比 使用 Hadoop进行迭代计算非常耗资源 Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间 结果作运算,避免了从磁盘中频繁读取数据 110 图163Hado与 Spark执行逻辑回归的时间对比
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.2 Spark生态系统 在实际应用中,大数据处理主要包括以下三个类型 复杂的批量数据处理:通常时间跨度在数十分钟到数小时之间 基于历史数据的交互式查询:通常时间跨度在数十秒到数分钟之间 基于实时数据流的数据处理:通常时间跨度在数百毫秒到数秒之间 当同时存在以上三种场景时,就需要同时部署三种不同的软件 比如: MapReduce/mpaa/ Storm 这样做难免会带来一些问题 不同场景之间输入输出数据无法做到无缝共享,通常需要进行薮据格 式的转换 ·不同的软件需要不同的开发和维护团队,带来了较高的使用成本 比较难以对同一个集群中的各个系统进行统一的资源协调和分配
9.2 Spark生态系统 在实际应用中,大数据处理主要包括以下三个类型: •复杂的批量数据处理:通常时间跨度在数十分钟到数小时之间 •基于历史数据的交互式查询:通常时间跨度在数十秒到数分钟之间 •基于实时数据流的数据处理:通常时间跨度在数百毫秒到数秒之间 当同时存在以上三种场景时,就需要同时部署三种不同的软件 •比如: MapReduce / Impala / Storm 这样做难免会带来一些问题: •不同场景之间输入输出数据无法做到无缝共享,通常需要进行数据格 式的转换 •不同的软件需要不同的开发和维护团队,带来了较高的使用成本 •比较难以对同一个集群中的各个系统进行统一的资源协调和分配
9.2 Spark生态系统 ˉ Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐 形成了一套完整的生态系统 既能够提供内存计算框架,也可以支持SQL即席查询、实时流式计 算、机器学习和图计算等 Spark可以部署在资源管理器YARN之上,提供一站式的大数据解决 方案 因此, Spark所提供的生态系统足以应对上述三种场景,即同时支 持批处理、交互式査询和流数据处理
9.2 Spark生态系统 •Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐 形成了一套完整的生态系统 •既能够提供内存计算框架,也可以支持SQL即席查询、实时流式计 算、机器学习和图计算等 •Spark可以部署在资源管理器YARN之上,提供一站式的大数据解决 方案 •因此,Spark所提供的生态系统足以应对上述三种场景,即同时支 持批处理、交互式查询和流数据处理
9.2 Spark生态系统 Spark生态系统已经成为伯克利数据分析软件栈BDAS( Berkeley Data Analytics Stack)的重要组成部分 Access and Spark BlinkDB MLBase Streaming Spark SQL GraphX Interfaces Processing Engine Spark Core Tachyon Storage HDFS. S3 Resource Virtualization Hadoop Yarn 图16-4BDAS架构 Spark的生态系统主要包含了 Spark Core、 Spark SQL、 Spark Streaming、 MLLb和 GraphX等组件
9.2 Spark生态系统 Resource Virtualization Storage Processing Engine Mesos Hadoop Yarn HDFS, S3 Tachyon Spark Core Access and Interfaces Spark Streaming Spark SQL BlinkDB GraphX MLlib MLBase Spark的生态系统主要包含了Spark Core、Spark SQL、Spark Streaming、 MLLib和GraphX 等组件 图16-4 BDAS架构 Spark生态系统已经成为伯克利数据分析软件栈BDAS(Berkeley Data Analytics Stack)的重要组成部分
9.2 Spark生态系统 表1Spak生态系统组件的应用场景 匚。应用场景时间跨度其他框架 Spark生态系统中的组件 复杂的批量数据处小时级 MapReduce, Hive Spark 基于历史数据的交分钟级、秒|Impa、 Dremel、| Spark SQL 互式查询 级 Drill 基于实时数据流的毫秒、秒级|Stom、S4 Spark streaming 数据处理 基于历史数据的数 Mahout MLlib 据挖掘 〖图结构数据的处理|- Pregel、 Hama GraphX
9.2 Spark生态系统 应用场景 时间跨度 其他框架 Spark生态系统中的组件 复杂的批量数据处 理 小时级 MapReduce、Hive Spark 基于历史数据的交 互式查询 分钟级、秒 级 Impala、Dremel、 Drill Spark SQL 基于实时数据流的 数据处理 毫秒、秒级 Storm、S4 Spark Streaming 基于历史数据的数 据挖掘 - Mahout MLlib 图结构数据的处理 - Pregel、Hama GraphX 表1 Spark生态系统组件的应用场景