Skip to content

Commit 4bb2c70

Browse files
committed
add golden answer
1 parent d07101b commit 4bb2c70

File tree

39 files changed

+895
-7
lines changed

39 files changed

+895
-7
lines changed

sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,12 +1190,14 @@ https://cwiki.apache.org/confluence/display/Hive/Enhanced+Aggregation%2C+Cube%2C
11901190
"TOK_CLUSTERBY"),
11911191
partition.getChildren.toSeq.asInstanceOf[Seq[ASTNode]])
11921192

1193-
val partitionBy = distributeByClause.orElse(clusterByClause).toSeq
1194-
val sortBy = clusterByClause.orElse(orderByClause).orElse(sortByClause).toSeq
1193+
val partitionByExpr =
1194+
distributeByClause.orElse(clusterByClause).toSeq.flatMap(_.getChildren.map(nodeToExpr))
1195+
val sortByExpr =
1196+
orderByClause.orElse(sortByClause).toSeq.flatMap(_.getChildren.map(nodeToSortOrder)) ++
1197+
clusterByClause.toSeq.flatMap(_.getChildren.map(nodeToExpr).map(SortOrder(_, Ascending)))
1198+
1199+
WindowPartition(partitionByExpr, sortByExpr)
11951200

1196-
WindowPartition(
1197-
partitionBy.flatMap(_.getChildren.map(nodeToExpr)),
1198-
sortBy.flatMap(_.getChildren.map(nodeToSortOrder)))
11991201
}.getOrElse(WindowPartition(Nil, Nil))
12001202

12011203
val maybeWindowFrame = rowFrame.orElse(rangeFrame).flatMap { frame =>

sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/WindowAggregate.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ case class WindowAggregate(
7676
case _ => false
7777
}
7878
ComputedWindow(
79-
func,
79+
expr,
8080
ipr,
8181
spec,
8282
BindReferences.bindReference(func, child.output),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15
2+
Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3
3+
Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06
4+
Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001
5+
Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001
6+
Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001
7+
Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68
8+
Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38
9+
Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001
10+
Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02
11+
Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62
12+
Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68
13+
Manufacturer#3 almond antique forest lavender goldenrod 14 2 2 2861.95
14+
Manufacturer#3 almond antique metallic orange dim 19 3 3 4272.34
15+
Manufacturer#3 almond antique misty red olive 1 4 4 6195.32
16+
Manufacturer#3 almond antique olive coral navajo 45 5 5 7532.61
17+
Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67
18+
Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09
19+
Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35
20+
Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27
21+
Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001
22+
Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69
23+
Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004
24+
Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08
25+
Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18
26+
Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Manufacturer#1 almond antique burnished rose metallic 2 2 2 34
2+
Manufacturer#1 almond antique burnished rose metallic 2 2 2 6
3+
Manufacturer#1 almond antique chartreuse lavender yellow 34 34 2 28
4+
Manufacturer#1 almond antique salmon chartreuse burlywood 6 6 2 42
5+
Manufacturer#1 almond aquamarine burnished black steel 28 28 34 42
6+
Manufacturer#1 almond aquamarine pink moccasin thistle 42 42 6 42
7+
Manufacturer#2 almond antique violet chocolate turquoise 14 14 14 2
8+
Manufacturer#2 almond antique violet turquoise frosted 40 40 14 25
9+
Manufacturer#2 almond aquamarine midnight light salmon 2 2 14 18
10+
Manufacturer#2 almond aquamarine rose maroon antique 25 25 40 18
11+
Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 18 2 18
12+
Manufacturer#3 almond antique chartreuse khaki white 17 17 17 19
13+
Manufacturer#3 almond antique forest lavender goldenrod 14 14 17 1
14+
Manufacturer#3 almond antique metallic orange dim 19 19 17 45
15+
Manufacturer#3 almond antique misty red olive 1 1 14 45
16+
Manufacturer#3 almond antique olive coral navajo 45 45 19 45
17+
Manufacturer#4 almond antique gainsboro frosted violet 10 10 10 27
18+
Manufacturer#4 almond antique violet mint lemon 39 39 10 7
19+
Manufacturer#4 almond aquamarine floral ivory bisque 27 27 10 12
20+
Manufacturer#4 almond aquamarine yellow dodger mint 7 7 39 12
21+
Manufacturer#4 almond azure aquamarine papaya violet 12 12 27 12
22+
Manufacturer#5 almond antique blue firebrick mint 31 31 31 2
23+
Manufacturer#5 almond antique medium spring khaki 6 6 31 46
24+
Manufacturer#5 almond antique sky peru orange 2 2 31 23
25+
Manufacturer#5 almond aquamarine dodger light gainsboro 46 46 6 23
26+
Manufacturer#5 almond azure blanched chiffon midnight 23 23 2 23
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Manufacturer#3 almond antique chartreuse khaki white 17 1 17 17 19
2+
Manufacturer#3 almond antique forest lavender goldenrod 14 2 14 17 1
3+
Manufacturer#3 almond antique metallic orange dim 19 3 19 17 45
4+
Manufacturer#3 almond antique misty red olive 1 4 1 14 45
5+
Manufacturer#3 almond antique olive coral navajo 45 5 45 19 45
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Manufacturer#1 almond antique burnished rose metallic 2 38 2
2+
Manufacturer#1 almond antique burnished rose metallic 2 44 2
3+
Manufacturer#1 almond antique chartreuse lavender yellow 34 72 34
4+
Manufacturer#1 almond antique salmon chartreuse burlywood 6 112 6
5+
Manufacturer#1 almond aquamarine burnished black steel 28 110 28
6+
Manufacturer#1 almond aquamarine pink moccasin thistle 42 76 42
7+
Manufacturer#2 almond antique violet chocolate turquoise 14 56 14
8+
Manufacturer#2 almond antique violet turquoise frosted 40 81 40
9+
Manufacturer#2 almond aquamarine midnight light salmon 2 99 2
10+
Manufacturer#2 almond aquamarine rose maroon antique 25 85 25
11+
Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 45 18
12+
Manufacturer#3 almond antique chartreuse khaki white 17 50 17
13+
Manufacturer#3 almond antique forest lavender goldenrod 14 51 14
14+
Manufacturer#3 almond antique metallic orange dim 19 96 19
15+
Manufacturer#3 almond antique misty red olive 1 79 1
16+
Manufacturer#3 almond antique olive coral navajo 45 65 45
17+
Manufacturer#4 almond antique gainsboro frosted violet 10 76 10
18+
Manufacturer#4 almond antique violet mint lemon 39 83 39
19+
Manufacturer#4 almond aquamarine floral ivory bisque 27 95 27
20+
Manufacturer#4 almond aquamarine yellow dodger mint 7 85 7
21+
Manufacturer#4 almond azure aquamarine papaya violet 12 46 12
22+
Manufacturer#5 almond antique blue firebrick mint 31 39 31
23+
Manufacturer#5 almond antique medium spring khaki 6 85 6
24+
Manufacturer#5 almond antique sky peru orange 2 108 2
25+
Manufacturer#5 almond aquamarine dodger light gainsboro 46 77 46
26+
Manufacturer#5 almond azure blanched chiffon midnight 23 71 23
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Manufacturer#1 almond antique burnished rose metallic 2 1 1
2+
Manufacturer#1 almond antique burnished rose metallic 2 1 1
3+
Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2
4+
Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3
5+
Manufacturer#1 almond aquamarine burnished black steel 28 5 4
6+
Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5
7+
Manufacturer#2 almond antique violet chocolate turquoise 14 1 1
8+
Manufacturer#2 almond antique violet turquoise frosted 40 2 2
9+
Manufacturer#2 almond aquamarine midnight light salmon 2 3 3
10+
Manufacturer#2 almond aquamarine rose maroon antique 25 4 4
11+
Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5
12+
Manufacturer#3 almond antique chartreuse khaki white 17 1 1
13+
Manufacturer#3 almond antique forest lavender goldenrod 14 2 2
14+
Manufacturer#3 almond antique metallic orange dim 19 3 3
15+
Manufacturer#3 almond antique misty red olive 1 4 4
16+
Manufacturer#3 almond antique olive coral navajo 45 5 5
17+
Manufacturer#4 almond antique gainsboro frosted violet 10 1 1
18+
Manufacturer#4 almond antique violet mint lemon 39 2 2
19+
Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3
20+
Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4
21+
Manufacturer#4 almond azure aquamarine papaya violet 12 5 5
22+
Manufacturer#5 almond antique blue firebrick mint 31 1 1
23+
Manufacturer#5 almond antique medium spring khaki 6 2 2
24+
Manufacturer#5 almond antique sky peru orange 2 3 3
25+
Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4
26+
Manufacturer#5 almond azure blanched chiffon midnight 23 5 5
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Manufacturer#1 almond antique burnished rose metallic 2 1 1 0.3333333333333333 0.0 1 2 2.0 0.0 2 2 2
2+
Manufacturer#1 almond antique burnished rose metallic 2 1 1 0.3333333333333333 0.0 1 2 2.0 0.0 2 2 2
3+
Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 0.5 0.4 2 3 12.666666666666666 15.084944665313014 2 34 2
4+
Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 0.6666666666666666 0.6 2 4 11.0 13.379088160259652 2 6 2
5+
Manufacturer#1 almond aquamarine burnished black steel 28 5 4 0.8333333333333334 0.8 3 5 14.4 13.763720427268202 2 28 34
6+
Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 1.0 1.0 3 6 19.0 16.237815945091466 2 42 6
7+
Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 0.2 0.0 1 1 14.0 0.0 4 14 14
8+
Manufacturer#2 almond antique violet turquoise frosted 40 2 2 0.4 0.25 1 2 27.0 13.0 4 40 14
9+
Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 0.6 0.5 2 3 18.666666666666668 15.86050300449376 4 2 14
10+
Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 0.8 0.75 2 4 20.25 14.00669482783144 4 25 40
11+
Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 1.0 1.0 3 5 19.8 12.560254774486067 4 18 2
12+
Manufacturer#3 almond antique chartreuse khaki white 17 1 1 0.2 0.0 1 1 17.0 0.0 2 17 17
13+
Manufacturer#3 almond antique forest lavender goldenrod 14 2 2 0.4 0.25 1 2 15.5 1.5 2 14 17
14+
Manufacturer#3 almond antique metallic orange dim 19 3 3 0.6 0.5 2 3 16.666666666666668 2.0548046676563256 2 19 17
15+
Manufacturer#3 almond antique misty red olive 1 4 4 0.8 0.75 2 4 12.75 7.013380069552769 2 1 14
16+
Manufacturer#3 almond antique olive coral navajo 45 5 5 1.0 1.0 3 5 19.2 14.344336861632886 2 45 19
17+
Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 0.2 0.0 1 1 10.0 0.0 0 10 10
18+
Manufacturer#4 almond antique violet mint lemon 39 2 2 0.4 0.25 1 2 24.5 14.5 0 39 10
19+
Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 0.6 0.5 2 3 25.333333333333332 11.897712198383164 0 27 10
20+
Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 0.8 0.75 2 4 20.75 13.007209539328564 0 7 39
21+
Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 1.0 1.0 3 5 19.0 12.149074038789951 0 12 27
22+
Manufacturer#5 almond antique blue firebrick mint 31 1 1 0.2 0.0 1 1 31.0 0.0 1 31 31
23+
Manufacturer#5 almond antique medium spring khaki 6 2 2 0.4 0.25 1 2 18.5 12.5 1 6 31
24+
Manufacturer#5 almond antique sky peru orange 2 3 3 0.6 0.5 2 3 13.0 12.832251036613439 1 2 31
25+
Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 0.8 0.75 2 4 21.25 18.102140757380052 1 46 6
26+
Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 1.0 1.0 3 5 21.6 16.206171663906314 1 23 2
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Manufacturer#1 almond antique burnished rose metallic 2 1 1 0.3333333333333333 4 4 2
2+
Manufacturer#1 almond antique burnished rose metallic 2 1 1 0.3333333333333333 4 4 2
3+
Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 0.5 38 34 2
4+
Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 0.6666666666666666 44 10 2
5+
Manufacturer#1 almond aquamarine burnished black steel 28 5 4 0.8333333333333334 72 28 34
6+
Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 1.0 114 42 6
7+
Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 0.2 14 14 14
8+
Manufacturer#2 almond antique violet turquoise frosted 40 2 2 0.4 54 40 14
9+
Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 0.6 56 2 14
10+
Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 0.8 81 25 40
11+
Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 1.0 99 32 2
12+
Manufacturer#3 almond antique chartreuse khaki white 17 1 1 0.2 17 31 17
13+
Manufacturer#3 almond antique forest lavender goldenrod 14 2 2 0.4 31 14 17
14+
Manufacturer#3 almond antique metallic orange dim 19 3 3 0.6 50 50 17
15+
Manufacturer#3 almond antique misty red olive 1 4 4 0.8 51 1 14
16+
Manufacturer#3 almond antique olive coral navajo 45 5 5 1.0 96 45 19
17+
Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 0.2 10 17 10
18+
Manufacturer#4 almond antique violet mint lemon 39 2 2 0.4 49 39 10
19+
Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 0.6 76 27 10
20+
Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 0.8 83 7 39
21+
Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 1.0 95 29 27
22+
Manufacturer#5 almond antique blue firebrick mint 31 1 1 0.2 31 31 31
23+
Manufacturer#5 almond antique medium spring khaki 6 2 2 0.4 37 8 31
24+
Manufacturer#5 almond antique sky peru orange 2 3 3 0.6 39 2 31
25+
Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 0.8 85 46 6
26+
Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 1.0 108 23 2
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Manufacturer#1 almond antique burnished rose metallic 2 2 2 2
2+
Manufacturer#1 almond antique burnished rose metallic 2 2 2 2
3+
Manufacturer#1 almond antique chartreuse lavender yellow 34 3 3 2
4+
Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 4 2
5+
Manufacturer#1 almond aquamarine burnished black steel 28 5 5 34
6+
Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 6 6
7+
Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 14
8+
Manufacturer#2 almond antique violet turquoise frosted 40 2 2 14
9+
Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 14
10+
Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 40
11+
Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 2
12+
Manufacturer#3 almond antique chartreuse khaki white 17 1 1 17
13+
Manufacturer#3 almond antique forest lavender goldenrod 14 2 2 17
14+
Manufacturer#3 almond antique metallic orange dim 19 3 3 17
15+
Manufacturer#3 almond antique misty red olive 1 4 4 14
16+
Manufacturer#3 almond antique olive coral navajo 45 5 5 19
17+
Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 10
18+
Manufacturer#4 almond antique violet mint lemon 39 2 2 10
19+
Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 10
20+
Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 39
21+
Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 27
22+
Manufacturer#5 almond antique blue firebrick mint 31 1 1 31
23+
Manufacturer#5 almond antique medium spring khaki 6 2 2 31
24+
Manufacturer#5 almond antique sky peru orange 2 3 3 31
25+
Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6
26+
Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 2

0 commit comments

Comments
 (0)