一,Spark简介
三次信息化浪潮
大数据概念
数据量大
在思维方面,大数据完全颠覆了传统的思维方式:
.全样而非抽样
.效率而非精确
.相关而非因果
大数据技术不同层面及其功能
大数据计算模式及其代表产品
Spark具有如下特点
•运行速度快:使用DAG执行引擎以支持循环数据流与内存计算
•容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程
•通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件
•运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源
二,Hadoop与Spark的对比
Hadoop存在如下一些缺点:
•表达能力有限
•磁盘IO开销大
•延迟高
•任务之间的衔接涉及IO开销
•在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务
三,Flink与Spark的比较
Beam
nApache Beam是大数据的编程模型,定义了数据处理的编程范式和接口,它并不涉及具体的执行引擎的实现,但是,
基于Beam开发的数据处理程序可以执行在任意的分布式计算引擎上,目前Dataflow、Spark、Flink、Apex提供了对批处理和流处理的支持,GearPump提供了流处理的支持,Storm的支持也在开发中。
n综上所述,Apache Beam的目标是:
•提供统一批处理和流处理的编程范式
•能运行在任何可执行的引擎之上
•为无限、乱序、互联网级别的数据集处理提供简单灵活、功能丰富以及表达能力十分强大的SDK。