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;
缺点:
无法无缝共享;
维护成本高;
难以统一协调和分配资源;