关闭

spark相比hadoop的 优势如下

498人阅读 评论(0) 收藏 举报
分类:

1、中间结果输出

  基于mr的计算引擎通常会将中间结果输出到磁盘上,进行存储和容错。处于任务管道承接的考虑,当一些查询翻译到mr任务时,旺旺会产生多个stage,而这些串联的stage又依赖于底层文件系统(如hdfs)来存储每一个stage的输出结果。

spark将执行模型抽象为通用的有向无环图,dag计划 着可以将多个stage的任务串联或者并行执行,而无需将stage中间结果输出到hdfs上面,类似的引起包括dryad tez

1、数据格式和内存布局

由于mr schema on read处理方式会引起较大的处理开销。spark抽象出分布式内存存储结构弹性分布式数据集rdd, 进行数据的存储。rdd能支持粗粒度写操作。但对于读取操作。rdd可以精确到每条几率,这使得rdd可以用来作为分布式索引,spark的特性是能够控制数据在不同节点上的分区,用户可以自定义分区策略,如hash分区。spark 和spark sql 在spark的基础上实现了列存储和列存储压缩

3、执行策略

 mr在数据shuffle之前花费了大量的时间来排序,spark则可以减轻上述问题带来的开销,因为spark任务在shuffle中不是所有情景都需要排序,所以支持基于hash的分布式聚合,调度中采用更为通用的任务执行计划 dag ,每一轮次的输出结果在内存缓存。

4、任务调度的开销

  传统的mr系统,如hadoop 是为了运行长达数小时的批量作业而设计的,在某些极端情况下,提交一个任务的延迟非常高。

  spark采用了事件驱动的类库 akka来启动任务,通过线程池复用县城来避免进程或线程启动和切换开销。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:341305次
    • 积分:4872
    • 等级:
    • 排名:第5892名
    • 原创:39篇
    • 转载:872篇
    • 译文:2篇
    • 评论:25条
    最新评论