diff options
author | wangfei <wangfei1@huawei.com> | 2015-04-29 17:00:24 -0700 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2015-04-29 17:00:24 -0700 |
commit | 1fdfdb47b44315ff8ccb0ef92e56d3f2a070f1f1 (patch) | |
tree | 6b4da41b895282a928952a62b332972242b3656e /sql/core | |
parent | b1ef6a60ff6ea2adb43c6544e5311c11f4364f64 (diff) | |
download | spark-1fdfdb47b44315ff8ccb0ef92e56d3f2a070f1f1.tar.gz spark-1fdfdb47b44315ff8ccb0ef92e56d3f2a070f1f1.tar.bz2 spark-1fdfdb47b44315ff8ccb0ef92e56d3f2a070f1f1.zip |
[SQL] [Minor] Print detail query execution info when spark answer is not right
Print detail query execution info including parsed/analyzed/optimized/Physical plan for query when spak answer is not rignt.
```
Results do not match for query:
== Parsed Logical Plan ==
'Aggregate ['x.str], ['x.str,SUM('x.strCount) AS c1#46]
'Join Inner, Some(('x.str = 'y.str))
'UnresolvedRelation [df], Some(x)
'UnresolvedRelation [df], Some(y)
== Analyzed Logical Plan ==
Aggregate [str#44], [str#44,SUM(strCount#45L) AS c1#46L]
Join Inner, Some((str#44 = str#51))
Subquery x
Subquery df
Aggregate [str#44], [str#44,COUNT(str#44) AS strCount#45L]
Project [_1#41 AS int#43,_2#42 AS str#44]
LocalRelation [_1#41,_2#42], [[1,1],[2,2],[3,3]]
Subquery y
Subquery df
Aggregate [str#51], [str#51,COUNT(str#51) AS strCount#47L]
Project [_1#41 AS int#50,_2#42 AS str#51]
LocalRelation [_1#41,_2#42], [[1,1],[2,2],[3,3]]
== Optimized Logical Plan ==
Aggregate [str#44], [str#44,SUM(strCount#45L) AS c1#46L]
Project [str#44,strCount#45L]
Join Inner, Some((str#44 = str#51))
Aggregate [str#44], [str#44,COUNT(str#44) AS strCount#45L]
LocalRelation [str#44], [[1],[2],[3]]
Aggregate [str#51], [str#51]
LocalRelation [str#51], [[1],[2],[3]]
== Physical Plan ==
Aggregate false, [str#44], [str#44,CombineSum(PartialSum#53L) AS c1#46L]
Aggregate true, [str#44], [str#44,SUM(strCount#45L) AS PartialSum#53L]
Project [str#44,strCount#45L]
BroadcastHashJoin [str#44], [str#51], BuildRight
Aggregate false, [str#44], [str#44,Coalesce(SUM(PartialCount#55L),0) AS strCount#45L]
Exchange (HashPartitioning [str#44], 5), []
Aggregate true, [str#44], [str#44,COUNT(str#44) AS PartialCount#55L]
LocalTableScan [str#44], [[1],[2],[3]]
Aggregate false, [str#51], [str#51]
Exchange (HashPartitioning [str#51], 5), []
Aggregate true, [str#51], [str#51]
LocalTableScan [str#51], [[1],[2],[3]]
Code Generation: false
== RDD ==
== Results ==
!== Correct Answer - 3 == == Spark Answer - 3 ==
[1,1] [1,1]
![2,3] [2,1]
[3,1] [3,1]
```
Author: wangfei <wangfei1@huawei.com>
Closes #5774 from scwf/checkanswer and squashes the following commits:
5be6f78 [wangfei] print detail query execution info when Spark Answer is not right
Diffstat (limited to 'sql/core')
-rw-r--r-- | sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala b/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala index 59f9508444..bbf9ab113c 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala @@ -132,11 +132,7 @@ object QueryTest { val errorMessage = s""" |Results do not match for query: - |${df.logicalPlan} - |== Analyzed Plan == - |${df.queryExecution.analyzed} - |== Physical Plan == - |${df.queryExecution.executedPlan} + |${df.queryExecution} |== Results == |${sideBySide( s"== Correct Answer - ${expectedAnswer.size} ==" +: |