@@ -18,9 +18,7 @@ package org.apache.spark.sql.auron
1818
1919import java .io .File
2020import java .util .UUID
21-
2221import scala .collection .mutable
23-
2422import org .apache .commons .lang3 .reflect .FieldUtils
2523import org .apache .spark .{OneToOneDependency , ShuffleDependency , SparkContext , SparkEnv , SparkException , TaskContext }
2624import org .apache .spark .internal .Logging
@@ -95,7 +93,7 @@ import org.apache.spark.sql.execution.auron.plan.NativeWindowBase
9593import org .apache .spark .sql .execution .auron .plan .NativeWindowExec
9694import org .apache .spark .sql .execution .auron .shuffle .{AuronBlockStoreShuffleReaderBase , AuronRssShuffleManagerBase , RssPartitionWriterBase }
9795import org .apache .spark .sql .execution .datasources .PartitionedFile
98- import org .apache .spark .sql .execution .exchange .{BroadcastExchangeLike , ReusedExchangeExec }
96+ import org .apache .spark .sql .execution .exchange .{BroadcastExchangeLike , ReusedExchangeExec , ShuffleExchangeExec }
9997import org .apache .spark .sql .execution .joins .auron .plan .NativeBroadcastJoinExec
10098import org .apache .spark .sql .execution .joins .auron .plan .NativeShuffledHashJoinExecProvider
10199import org .apache .spark .sql .execution .joins .auron .plan .NativeSortMergeJoinExecProvider
@@ -108,11 +106,11 @@ import org.apache.spark.sql.types.StringType
108106import org .apache .spark .status .ElementTrackingStore
109107import org .apache .spark .storage .BlockManagerId
110108import org .apache .spark .storage .FileSegment
111-
112- import org .apache .auron .{protobuf => pb , sparkver }
109+ import org .apache .auron .{sparkver , protobuf => pb }
113110import org .apache .auron .common .AuronBuildInfo
114111import org .apache .auron .metric .SparkMetricNode
115112import org .apache .auron .spark .ui .AuronBuildInfoEvent
113+ import org .apache .spark .sql .execution .joins .ShuffledHashJoinExec
116114
117115class ShimsImpl extends Shims with Logging {
118116
@@ -1035,6 +1033,18 @@ class ShimsImpl extends Shims with Logging {
10351033 override def getAdaptiveInputPlan (exec : AdaptiveSparkPlanExec ): SparkPlan = {
10361034 exec.inputPlan
10371035 }
1036+
1037+ @ sparkver(" 3.2 / 3.3 / 3.4 / 3.5" )
1038+ override def getIsSkewJoinFromSHJ (exec : ShuffledHashJoinExec ): Boolean = exec.isSkewJoin
1039+
1040+ @ sparkver(" 3.0 / 3.1" )
1041+ override def getIsSkewJoinFromSHJ (exec : ShuffledHashJoinExec ): Boolean = false
1042+
1043+ @ sparkver(" 3.1 / 3.2 / 3.3 / 3.4 / 3.5" )
1044+ override def getShuffleOrigin (exec : ShuffleExchangeExec ): Option [Any ] = Some (exec.shuffleOrigin)
1045+
1046+ @ sparkver(" 3.0" )
1047+ override def getShuffleOrigin (exec : ShuffleExchangeExec ): Option [Any ] = None
10381048}
10391049
10401050case class ForceNativeExecutionWrapper (override val child : SparkPlan )
0 commit comments