Adaptive Execution如何让Spark SQL更高效更好用?
本文转发自技术世界,原文链接 http://www.jasongj.com/spark/adaptive_execution/
1 背 景
Spark SQL / Catalyst 和 CBO 的优化,从查询本身与目标数据的特点的角度尽可能保证了最终生成的执行计划的高效性。但是
执行计划一旦生成,便不可更改,即使执行过程中发现后续执行计划可以进一步优化,也只能按原计划执行;
CBO 基于统计信息生成最优执行计划,需要提前生成统计信息,成本较大,且不适合数据更新频繁的场景;
CBO 基于基础表的统计信息与操作对数据的影响推测中间结果的信息,只是估算,不够精确。
本文介绍的 Adaptive Execution 将可以根据执行过程中的中间数据优化后续执行,从而提高整体执行效率。核心在于两点:
执行计划可动态调整
调整的依据是中间结果的精确统计信息
2
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
HBase+Spark技术双周刊 第四期
直播往期回顾——视频回看及PPT下载 Solr增强HBase检索能力基础介绍及场景 在本期视频中,阿里高级开发工程师天斯介绍了Solr如何增强HBase检索能力,并通过示例帮助大家快速上手HBase+Solr查询应用。 HBase钉钉群直播预告 1月22日 Phoenix 全局索引原理与实践 张赟 1月29日 Spark on rds/MongoDB/HBase/Redis/OSS多数据源 云覆 阿里云栖开发者沙龙——线下活动 【1月18日 下午1:30】 阿里云栖开发者沙龙北京专场—互联网下半场的角逐:玩转轻资产的大数据服务 【1月19日 下午1:30】 阿里云栖开发者沙龙合肥专场:高并发企业级应用架构实践分享 推荐专家 沐远——阿里云数据库技术专家 沐远,专注大数据分布式计算数据库领域, 研发Spark及自主研发内存计算,目前为广大公有云用户
- 下一篇
Structured Streaming VS Flink
Flink是标准的实时处理引擎,而且Spark的两个模块Spark Streaming和Structured Streaming都是基于微批处理的,不过现在Spark Streaming已经非常稳定基本都没有更新了,然后重点移到spark sql和structured Streaming了。 Flink作为一个很好用的实时处理框架,也支持批处理,不仅提供了API的形式,也可以写sql文本。这篇文章主要是帮着大家对于Structured Streaming和Flink的主要不同点。 1.运行模型 Structured Streaming 的task运行也是依赖driver 和 executor,当然driver和excutor也还依赖于集群管理器Standalone或者yarn等。可以用下面一张图概括: Flink的Task依赖jobma
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19