为什么说Spark SQL远远超越了MPP SQL
作者:祝威廉
前言
这里说的并不是性能,由于我没尝试比照过(下文会有简单的说明),而是尝试从某种更高一层次的的角度去看,为什么Spark SQL 是远远超越MPP SQL的。
Spark SQL 和 MPP SQL 其实不在一个维度上。简而言之,
MPP SQL 是 Spark SQL 的一个子集
Spark SQL 成为了一种跨越领域的交互形态
MPP SQL 是 Spark SQL 的一个子集
MPP SQL 要处理的技术问题是海量数据的查讯问题。这里根据实际场景,你还可以加上少量修饰词汇,譬如秒级,Ad-hoc 之类。
在实际业务中
探究类业务,比方KPI多维分析,使用户画像查询,数据科学家摸底数据等
经营类业务,比方报表(现在很多BI系统基本上完全基于SQL来构建),各种经营临时统计需求
分析类业务,不过这个会比较通俗。显然,真实的的分析应该主要依托少量统计类,机器学习等技术的支持
运维类业务,比方实时查询查看海量的系统日志等
MPP SQL 是有肯定的性能优势的,从HAWQ,Impala 等都是基于MPP架构的。然而仅限于此。这些功能Spark SQL 目前都已经涵盖了,MPP SQL能做的事情,Spark SQL都完成的很漂亮。
依托于Spark 自身的全平台性(漂亮的DataSource API以及各个厂商的努力适配),Spark SQL 基本上可以对接任意多个异构数据源进行分析和查询。
关于性能可以再多说两句:
得益于少量具备复杂存储格式的文件的诞生,譬如CarbonData, Spark SQL 已经实现海量数据的秒级查询
Spark 自身通过Tungsten等项目的优化(尤其是代码自动生成),速度越来越生猛,而JVM譬如GC带来的问题则可以进一步通过off-heap的方式减少。
所以 Spark SQL 和 MPP SQL在性能上的差距也会越来越小。
Spark SQL 成为了一种跨越领域的交互形态
Spark 通过用DS(2.0统一了DF 和 DS,用一套SQL引擎)极大的加强了交互语意,意味着你可以使用SQL(DS)作为统一的交互语言完成流式,批解决,交互式查询,机器学习等大数据领域常见场景。这在任何一个系统都是不多见的,也可见Spark团队的笼统能力。
引言中的那篇文章其实是作者吐槽Spark 团队对Spark core(RDD)那层关注太少了,所以开始发牢骚。
现在我们再回过头来看我们常见的少量业务:
实时分析类业务
探究类业务
分析预测类业务
经营报表类业务
首先这些业务都可以用Spark 来实现。其次统一的交互接口都是DS(DF/SQL),并且DS/SQL 是一套极度易使用并且广泛普及和接受的。
当然Spark 也不是一步就做到这点的,原来流式计算和批量计算就是两套API, DF 和 DS 也是两套API,后面经过发展,Databricks 团队也在积极思考和慢慢成长,经过先前已经有的积累,才做到现在的这一步。
所以本质上DS/SQL 已经成为除了RDD API 以外,另外一套通使用的,统一的交互式API,涵盖了流式,批解决,交互式查询,机器学习等大数据领域。这也是我们第一次达成这样的统一,目前来看也仅在Spark平台上得以实现,它是的大数据的用和学习门槛进一步降低,功在千秋。
RDD VS DS/SQL
DS/SQL 是一套数据类型首先,操作种类受限的表达语言,意味着Spark 团队可以做更好的性能优化,也意味着门槛更低,在易使用性和性能上都能获得良好的平衡。
文章来源36大数据,www.36dsj.com ,微信号dashuju36 ,36大数据是一个专注大数据创业、大数据技术与分析、大数据商业与应使用的网站。分享大数据的干货教程和大数据应使用案例,提供大数据分析工具和资料下载,处理大数据产业链上的创业、技术、分析、商业、应使用等问题,为大数据产业链上的公司和数据行业从业人员提供支持与服务。
via:Spark技术日报
End.
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 为什么说Spark SQL远远超越了MPP SQL