Spark概述-------学习笔记

Spark特点:

运行速度快:使用DAG执行引擎以支持循环数据流与内存计算;

容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程 

通用性:Spark提供了完整而强大的技术栈,(基于内存计算spark core),包括SQL查询、流式计算(spark straming)、机器学习(spark MLlib)和图算法组件(spark graphX);
运行模式多样:
可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源 ;


Scala特点:

高并发,支持函数式编程;

语法简洁,提供优雅的API;

兼容java,支持Python、R等 ;

提供REPL(Read-Eval-Print Loop),交互式解释器);

Hadoop缺点:

表达有限:Map和Reduce函数的高度化简)

IO开销大:中间结果写磁盘;

高延时:任务间衔接涉及IO开销;

同步等待;

spark优点:

提供多种数据操作类型;

提供内存计算,优势迭代计算;

基于DAG的任务调度执行机制;

三种类型:

批处理:数十分钟到数小时之间;MapReduce;

交互式查询:数十秒到数分钟之间;Impala;

流处理:数百毫秒到数秒之间;Storm;

缺点:

无法无缝共享;

维护成本高;

难以统一协调和分配资源;

Spark概述-------学习笔记