@@ -91,7 +91,7 @@ case class HandleSkewedJoin(conf: SQLConf) extends Rule[SparkPlan] {
9191 partitionId : Int ,
9292 medianSize : Long ,
9393 medianRowCount : Long ): Array [Int ] = {
94- val stats = queryStageInput.childStage.stats
94+ val stats = queryStageInput.childStage.statsPlan
9595 val size = stats.bytesByPartitionId.get(partitionId)
9696 val rowCount = stats.recordStatistics.get.recordsByPartitionId(partitionId)
9797 val factor = Math .max(size / medianSize, rowCount / medianRowCount)
@@ -110,8 +110,8 @@ case class HandleSkewedJoin(conf: SQLConf) extends Rule[SparkPlan] {
110110 left : QueryStageInput ,
111111 right : QueryStageInput ): Boolean = {
112112 supportedJoinTypes.contains(joinType) &&
113- left.childStage.stats .getPartitionStatistics.isDefined &&
114- right.childStage.stats .getPartitionStatistics.isDefined
113+ left.childStage.statsPlan .getPartitionStatistics.isDefined &&
114+ right.childStage.statsPlan .getPartitionStatistics.isDefined
115115 }
116116
117117 private def supportSplitOnLeftPartition (joinType : JoinType ) = joinType != RightOuter
@@ -128,8 +128,8 @@ case class HandleSkewedJoin(conf: SQLConf) extends Rule[SparkPlan] {
128128 SortExec (_, _, right : ShuffleQueryStageInput , _))
129129 if supportOptimization(joinType, left, right) =>
130130
131- val leftStats = left.childStage.stats .getPartitionStatistics.get
132- val rightStats = right.childStage.stats .getPartitionStatistics.get
131+ val leftStats = left.childStage.statsPlan .getPartitionStatistics.get
132+ val rightStats = right.childStage.statsPlan .getPartitionStatistics.get
133133 val numPartitions = leftStats.bytesByPartitionId.length
134134 val (leftMedSize, leftMedRowCount) = medianSizeAndRowCount(leftStats)
135135 val (rightMedSize, rightMedRowCount) = medianSizeAndRowCount(rightStats)
0 commit comments