前言
简要总结Hudi Spark Sql源码执行逻辑,从建表开始。其实从去年开始接触Hudi的时候就研究学习了Hudi Spark SQL的部分源码,并贡献了几个PR,但是完整的逻辑有些地方还没有完全梳理清楚,所以现在想要从头开始学习,搞懂一些知识难点,这样以后看相关源码的时候就不会导致因为一些关键点不懂影响进度。
由于本人能力和精力有限,本文只讲解自己觉得比较关键的点,主要目的是梳理整个流程。
Spark SQL源码
既然是学习Hudi Spark SQL源码,那么肯定离不开Spark SQL源码,所以需要先学习了解Spark SQL的源码,在CSDN上发现一位作者写的几篇文章不错,这几天我也主要是参考他写的这几篇文章并结合源码进行学习的,我把它们放在后面的参考文章中,大家可以参考一下。
版本
Spark 2.4.4
Hudi master分支 0.12.0-SNAPSHOT
虽然在学习Spark SQL源码的时候用的是Spark3.3,但是因为Hudi源码默认的Spark版本是2.4.4,如果改版本在IDEA调试的话比较麻烦,所以是用Spark2.4.4版本,但我和Spark3.3对比了一下,大致逻辑是一样的。
more >>