1.自定義規則CheckPartitionTable類以實現該規則。
然後通過此方法創建SparkSession。
2.自定義規則CheckPartitionTable類以實現該規則,並將該規則類附加到optimizer . batches:Seq【Batch】。
1,CheckPartitionTable規則執行類,需要引入sparkSession來獲取導入的conf;規則【logical plan】;】需要繼承;
2.split謂詞用於分隔分區謂詞並獲得分區謂詞表達式。
sql解析過程中謂詞被解析為TreeNode,這裏遞歸得到分區謂詞。
3.判斷是否是分區表,是否添加分區字段。
4.實現規則的應用方法。
關於spark-sql的主要執行過程和準備知識,請參考我同學/p/4cc6797fb9ce的這篇博文。