下周开怼——Spark sql源码分享

2022-03-15 08:39:40 浏览数 (1)

周末开始紧张筹备啦

整了一个干净的mac电脑

从0装一遍spark sql源码环境

重新走一遍流程,写个最新的文档,给群里的小伙伴用

这次分享用的是git上最新的spark branch3.2

有同学不会scala,从网上找了免费的scala视频,链接已经放在了知识星球的置顶帖,下周要跟的同学,得提前看看

其实还好啦,我也不懂scala,俺是边看spark源码边学的scala,现在回想一下,spark sql源码中用的多且相对难理解的用法有下面几个:

1、偏函数

比如:transformUp、transformDown

2、柯里化

比如:ParseDriver中的parse方法

3、case模式匹配

用的最多,解析规则、优化器中会经常用到

4、case类

LogicalPlan、SparkPlan都是case类

5、product类

TreeNode继承product类,通过Product类中的方法(productArity、productElement、productIterator)来操纵TreeNode实现类的参数

6、scala隐式转换

比如:AstBuilder导入ParserUtils

7、foldLeft

规则执行器RuleExecutor

大家在学习scala时,重点关注一下就ok!

写文章时,刚刚看到源码编译成功啦

emmm...... 下周开怼,有点激动~~

0 人点赞