diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/adaptive/AdaptiveSparkPlanExec.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/adaptive/AdaptiveSparkPlanExec.scala index 65581e05089e1..2a4ea2f0ad87f 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/adaptive/AdaptiveSparkPlanExec.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/adaptive/AdaptiveSparkPlanExec.scala @@ -499,8 +499,13 @@ case class AdaptiveSparkPlanExec( sb.toString() } - private def q2s(qs: QueryStageExec): String = - s"${qs.productPrefix}(id: ${qs.id}, plan: ${qs.plan.productPrefix})" + private def q2s(qs: QueryStageExec): String = { + val ret = s"${qs.productPrefix}(id: ${qs.id}, " + qs.plan match { + case ex: Exchange => ret + s"${e2s(ex)})" + case _ => ret + s"plan: ${qs.plan.productPrefix})" + } + } private def m2s: String = context.stageCache.map { case (k, v) => s"{${k.productPrefix}(hash: ${k.##}) -> ${q2s(v)}" diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveStrategies.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveStrategies.scala index 6168aa9741ba3..9b9dfc5578b7b 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveStrategies.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveStrategies.scala @@ -210,7 +210,7 @@ case class RelationConversions( val ret3 = (!r.isPartitioned || conf.getConf(HiveUtils.CONVERT_INSERTING_PARTITIONED_TABLE)) val ret4 = isConvertible (r) logWarning(s"==>query.resolved: $ret1, isHiveTable: $ret2, isPartitionedEnabled: $ret3," + - s"isConvertible $ret4") + s" isConvertible $ret4") if (!ret2) { logWarning(s"==>not hive table due to its provider: ${r.tableMeta.provider}") } @@ -226,6 +226,7 @@ case class RelationConversions( } override def apply(plan: LogicalPlan): LogicalPlan = { + logWarning("==>start relation conversion for hive") plan resolveOperators { // Write path case InsertIntoStatement(