前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark和Hadoop对比有什么区别?

Spark和Hadoop对比有什么区别?

作者头像
加米谷大数据
发布2019-06-05 16:57:59
4.2K0
发布2019-06-05 16:57:59
举报
文章被收录于专栏:加米谷大数据

Spark主要用于大数据的计算,而Hadoop以后主要用于大数据的存储。Spark+Hadoop,是目前大数据领域最热门的组合。

1

Spark VS MapReduce

MapReduce框架局限性:

1)仅支持Map和Reduce两种操作

2)处理效率低效

Map中间结果写磁盘,Reduce写HDFS,多个MR之间通过HDFS交换数据; 任务调度和启动开销大;无法充分利用内存;Map端和Reduce端均需要排序;

3)不适合迭代计算(如机器学习、图计算等),交互式处理(数据挖掘))和流式处理(点击日志分析)

Spark相比的优势:

高效(比MapReduce快)

1)内存计算引擎,提供Cache机制来支持需要反复迭代计算或者多次数据共享,减少数据读取的IO开销

2)DAG引擎,减少多次计算之间中间结果写到HDFS的开销

3)使用多线程池模型来减少task启动开稍,shuffle过程中避免 不必要的sort操作以及减少磁盘IO操作

易用:

1)提供了丰富的API,支持Java,Scala,Python和R四种语言

2)代码量比MapReduce少

3)与Hadoop集成 读写HDFS/Hbase 与YARN集成

2

Spark SQL VS Hive

Hive是一种基于HDFS的数据仓库,并且提供了基于SQL模型的,针对存储了大数据的数据仓库,进行分布式交互查询的查询引擎。

Spark SQL并不能完全替代Hive,它替代的是Hive的查询引擎,Spark SQL由于其底层基于Spark自身的基于内存的特点,因此速度是Hive查询引擎的数倍以上,Spark本身是不提供存储的,所以不可能替代Hive作为数据仓库的这个功能。

Spark SQL相较于Hive的另外一个优点,是支持大量不同的数据源,包括hive、json、parquet、jdbc等等。Spark SQL由于身处Spark技术堆栈内,基于RDD来工作,因此可以与Spark的其他组件无缝整合使用,配合起来实现许多复杂的功能。比如Spark SQL支持可以直接针对hdfs文件执行sql语句。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加米谷大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档