Spark SQL Catalyst深入理解

来源:互联网 发布:冷艳锯 知乎 编辑:程序博客网 时间:2024/05/18 09:30

阅读材料:
SparkSQL – 从0到1认识Catalyst http://www.dataguru.cn/article-10731-1.html

此篇文章介绍了Spark SQL如何将SQL语句转化为Spark物理执行计划的详细过程

重点归纳:
sqltext 经过 parser 得到 语法树(unresolvedlogicalplan),unresolvedlogicalplan 经过 analyser (根据catalog 对relations、function、数据存储物理位置的记录)对语法树字段、函数解析绑定得到resolvedlogicalplan,resolvedlogicalplan经过 optimizer 得到 optimisedplan(利用rule调整 比如谓词下推、列值裁剪、常量累加)

最后 解析得到 物理执行计划(转化为能在Spark上运行的RDD算子操作树)

阅读过程中遇到的疑难:
关系型数据库 join连接方式 hashjoin 、sortjoin 到底是怎样实现的:

多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
http://blog.csdn.net/tianlesoftware/article/details/5826546

Oracle表分区分为四种:范围分区,散列分区,列表分区和复合分区
http://blog.csdn.net/oyzl68/article/details/8142617

原创粉丝点击