Spark简介

Spark是一个计算框架,是MapReduce的替代方案,而且兼容HDFS、Hive等分布式存储层,可以融入Hadoop生态系统,一笔不缺失MapReduce的不足。

Spark VS MapReduce

1. 中间输出结果

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

Spark将执行模型抽象为通用的有向无环图执行计划(DAG),这可以将多个Stage的任务串联或并行执行,无须将Stage中间的结果输出到HDFS中。【类似的引擎包括Dryad、Tez】

2. 数据格式和内存布局

由于MapReduce Schema on Read处理方式会引起较大的处理开销。Spark抽象出分布式内存存储结构弹性分布式数据集RDD,进行数据的存储。RDD能支持粗粒度写操作,但对于读取操作,RDD可以精确到每一条记录,这使得RDD可以用来作为分布式索引。

Spark的特性是能够控制数据在不同节点上的分区,用户可以自定义分区策略,如Hash分区等。【Shark和Spark SQL在Spark的基础上实现了列存储和列存储压缩】

3. 执行策略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值