
1、自定义规则CheckPartitionTable类,实现Rule
然后通过此种方法创建SparkSession
2、自定义规则CheckPartitionTable类,实现Rule,将规则类追加致Optimizer.batches: Seq[Batch]中
1、CheckPartitionTable规则执行类,需要通过引入sparkSession从而获取到引入conf;需要继承Rule[LogicalPlan];
2、通过splitPredicates方法,分离分区谓词,得到分区谓词表达式
在sql解析过程中将谓词解析为TreeNode,此处采用递归的方式获取分区谓词
3、判断是否是分区表,且是否添加分区字段
4、实现Rule的apply方法
关于spark-sql的主要执行流程及预备知识,可参照我同学的这篇博文 https://www.jianshu.com/p/4cc6797fb9ce
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)