7970318296
### What changes were proposed in this pull request? Added rule id based pruning to Analyzer rules in fixed point batches: - org.apache.spark.sql.catalyst.analysis.Analyzer$AddMetadataColumns - org.apache.spark.sql.catalyst.analysis.Analyzer$ExtractGenerator - org.apache.spark.sql.catalyst.analysis.Analyzer$ExtractWindowExpressions - org.apache.spark.sql.catalyst.analysis.Analyzer$GlobalAggregates - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveAggAliasInGroupBy - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveAggregateFunctions - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveAliases - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveBinaryArithmetic - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveDeserializer - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveEncodersInUDF - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveFunctions - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveGenerate - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveGroupingAnalytics - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveInsertInto - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveMissingReferences - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveNewInstance - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveOrdinalInOrderByAndGroupBy - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveOutputRelation - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolvePivot - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRandomSeed - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveSubqueryColumnAliases - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveTables - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveTempViews - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveUpCast - org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveUserSpecifiedColumns - org.apache.spark.sql.catalyst.analysis.Analyzer$WindowsSubstitution - org.apache.spark.sql.catalyst.analysis.DeduplicateRelations - org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases - org.apache.spark.sql.catalyst.analysis.EliminateUnions - org.apache.spark.sql.catalyst.analysis.ResolveCreateNamedStruct - org.apache.spark.sql.catalyst.analysis.ResolveHints$ResolveCoalesceHints - org.apache.spark.sql.catalyst.analysis.ResolveHints$ResolveJoinStrategyHints - org.apache.spark.sql.catalyst.analysis.ResolveInlineTables - org.apache.spark.sql.catalyst.analysis.ResolveLambdaVariables - org.apache.spark.sql.catalyst.analysis.ResolveTimeZone - org.apache.spark.sql.catalyst.analysis.ResolveUnion - org.apache.spark.sql.catalyst.analysis.SubstituteUnresolvedOrdinals - org.apache.spark.sql.catalyst.analysis.TimeWindowing Subsequent PRs will add tree bits based pruning to those rules. Split a big PR to reduce review load. ### Why are the changes needed? Reduce the number of tree traversals and hence improve the query compilation latency. ### How was this patch tested? Existing tests. Closes #32425 from sigmod/analyzer. Authored-by: Yingyi Bu <yingyi.bu@databricks.com> Signed-off-by: Gengliang Wang <ltnwgl@gmail.com> |
||
---|---|---|
.. | ||
benchmarks | ||
src | ||
pom.xml |