Spark SQL 扩展开发入门【源码解读】
2020-09-06 本文已影响0人
bigdata张凯翔
作者:王道远
编辑:平凡的世界-zkx
image.png image.png前言:因为大佬的视频和ppt对外开放,需要走很多的流程,所以是不会公开的,此博客内容编辑整理纯属于本人,如转载请注明出处。
1.简单介绍一下spark sql的背景,介绍一下sparksql能做的事情。
2.介绍一下sparksql扩展开发的相关的api
3.怎么样把开发好的插件放到生产环境
image.png
sparksql提供了sql api 和类似于sql的dataframe 和dataset api
image.png
catalyst执行和优化的作用,sparksql的核心
image.png
1.修改spark 源码,再打包,进行提交,打包成本高,维护成本高。
2.业务特定的场景,开源社区不会接受,自己维护比较大。每次使用新版本,都要重新patch,会比较痛苦,有些版本Spark不方便自己替换,依赖Spark实现的作业,有可能需要用到添加的类。如果一些修改都加到spark里面,也会给不需要这些功能的其他用户造成困扰。
image.png
06:44
image.png
自定义扩展Spark parser,支持自定义语法。修改解析规则,修改优化规则,修改物理计划生成。
image.png
image.png
image.png
image.png
image.png
image.png
image.png