Adapt distributed planner for v52#2
Conversation
There was a problem hiding this comment.
As the format of some metrics changed, this file was giving a lot of problems.
This has happened in previous upgrade, so I've taken the chance to rework these tests:
With this more scoped tests, we no longer should need to change them across DataFusion upgrades.
| // FIXME: this test succeeds locally, but for some reason it fails on CI | ||
| #[ignore = "result sets were not equal: Internal error: Row counts differ: left=100, right=0"] |
There was a problem hiding this comment.
I find this one a bit weird, not sure why it only fails on CI.
The weird thing is that the plan that started returning 0 rows is the single-node one.
| } | ||
|
|
||
| #[tokio::test(flavor = "multi_thread")] | ||
| #[ignore = "result sets were not equal: Internal error: Row content differs between result sets\nLeft set size: 100, Right set size: 100\n\nRows only in left (71 total):\n NULL|NULL|NULL|NULL|674173362.51|155629\n catalog|NULL|NULL|NULL|237410857.47|46322\n catalog|1001001.00|NULL|NULL|1697729.02|347\n catalog|1001001.00|1.00|NULL|855204.24|167\n catalog|1001001.00|2.00|NULL|125167.22|24\n catalog|1001001.00|3.00|NULL|198685.08|43\n catalog|1001001.00|4.00|NULL|109585.97|31\n catalog|1001001.00|5.00|NULL|59790.61|17\n catalog|1001001.00|8.00|NULL|55768.46|13\n catalog|1001001.00|8.00|7.00|28872.49|7\n catalog|1001001.00|8.00|10.00|26895.97|6\n catalog|1001001.00|9.00|NULL|30944.19|5\n catalog|1001001.00|9.00|6.00|30944.19|5\n catalog|1001001.00|11.00|NULL|82810.87|12\n catalog|1001001.00|11.00|9.00|82810.87|12\n catalog|1001001.00|12.00|NULL|38427.52|9\n catalog|1001001.00|12.00|10.00|38427.52|9\n catalog|1001001.00|15.00|NULL|112838.10|20\n catalog|1001001.00|15.00|9.00|53508.79|7\n catalog|1001001.00|15.00|10.00|59329.31|13\n catalog|1001002.00|NULL|NULL|3527831.33|706\n catalog|1001002.00|1.00|NULL|2673969.89|530\n catalog|1001002.00|1.00|1.00|2673969.89|530\n catalog|1001002.00|2.00|NULL|140831.91|29\n catalog|1001002.00|2.00|1.00|140831.91|29\n catalog|1001002.00|3.00|NULL|320175.87|67\n catalog|1001002.00|3.00|1.00|320175.87|67\n catalog|1001002.00|4.00|NULL|133287.96|21\n catalog|1001002.00|4.00|1.00|133287.96|21\n catalog|1001002.00|5.00|NULL|16606.90|9\n catalog|1001002.00|5.00|1.00|16606.90|9\n catalog|1001002.00|6.00|NULL|15133.01|4\n catalog|1001002.00|6.00|1.00|15133.01|4\n catalog|1001002.00|7.00|NULL|24471.26|10\n catalog|1001002.00|7.00|1.00|24471.26|10\n catalog|1001002.00|8.00|NULL|63773.05|12\n catalog|1001002.00|8.00|1.00|63773.05|12\n catalog|1001002.00|9.00|NULL|9167.19|3\n catalog|1001002.00|9.00|1.00|9167.19|3\n catalog|1001002.00|12.00|NULL|29108.42|7\n catalog|1001002.00|12.00|1.00|29108.42|7\n catalog|1001002.00|15.00|NULL|31143.45|6\n catalog|1001002.00|15.00|1.00|31143.45|6\n catalog|1001002.00|16.00|NULL|70162.42|8\n catalog|1001002.00|16.00|1.00|70162.42|8\n catalog|1002001.00|NULL|NULL|2114110.72|380\n catalog|1002001.00|1.00|NULL|348693.97|55\n catalog|1002001.00|1.00|1.00|76392.13|14\n catalog|1002001.00|1.00|2.00|118394.33|21\n catalog|1002001.00|1.00|4.00|29395.79|5\n catalog|1002001.00|1.00|5.00|35541.97|4\n catalog|1002001.00|1.00|6.00|26104.36|3\n catalog|1002001.00|1.00|9.00|18793.97|4\n catalog|1002001.00|1.00|10.00|44071.42|4\n catalog|1002001.00|2.00|NULL|1233961.70|225\n catalog|1002001.00|2.00|1.00|239511.02|51\n catalog|1002001.00|2.00|2.00|147993.14|26\n catalog|1002001.00|2.00|3.00|100086.93|17\n catalog|1002001.00|2.00|4.00|53524.42|13\n catalog|1002001.00|2.00|5.00|48494.06|10\n catalog|1002001.00|2.00|6.00|142857.04|20\n catalog|1002001.00|2.00|7.00|116557.98|16\n catalog|1002001.00|2.00|8.00|92743.93|24\n catalog|1002001.00|2.00|9.00|203943.99|38\n catalog|1002001.00|2.00|10.00|88249.19|10\n catalog|1002001.00|3.00|NULL|91054.32|17\n catalog|1002001.00|3.00|2.00|25171.13|6\n catalog|1002001.00|3.00|7.00|27766.70|3\n catalog|1002001.00|3.00|8.00|38116.49|8\n catalog|1002001.00|4.00|NULL|182427.69|32\n catalog|1002001.00|4.00|1.00|66896.68|15\n\nRows only in right (71 total):\n NULL|NULL|NULL|NULL|47788579.87|11068\n NULL|NULL|NULL|NULL|46294358.79|10609\n NULL|NULL|NULL|NULL|40499040.27|9321\n NULL|NULL|NULL|NULL|37952602.75|8889\n NULL|NULL|NULL|NULL|50256292.02|11540\n NULL|NULL|NULL|NULL|27943616.98|6397\n NULL|NULL|NULL|NULL|43114338.77|10000\n NULL|NULL|NULL|NULL|56239021.04|13003\n NULL|NULL|NULL|NULL|25682800.66|6012\n NULL|NULL|NULL|NULL|38529122.81|8922\n NULL|NULL|NULL|NULL|59222982.16|13528\n NULL|NULL|NULL|NULL|48322926.86|11228\n NULL|NULL|NULL|NULL|39166012.10|9010\n NULL|NULL|NULL|NULL|32661391.26|7453\n NULL|NULL|NULL|NULL|43315152.10|10008\n NULL|NULL|NULL|NULL|37185124.07|8641\n catalog|NULL|NULL|NULL|16671923.72|3228\n catalog|NULL|NULL|NULL|16630833.01|3143\n catalog|NULL|NULL|NULL|14038550.02|2798\n catalog|NULL|NULL|NULL|13135427.84|2638\n catalog|NULL|NULL|NULL|17604907.44|3399\n catalog|NULL|NULL|NULL|10119873.49|1959\n catalog|NULL|NULL|NULL|14698922.72|2919\n catalog|NULL|NULL|NULL|19534422.18|3931\n catalog|NULL|NULL|NULL|9075046.95|1756\n catalog|NULL|NULL|NULL|13829338.20|2662\n catalog|NULL|NULL|NULL|21769645.88|4087\n catalog|NULL|NULL|NULL|16890254.59|3343\n catalog|NULL|NULL|NULL|13897305.68|2680\n catalog|NULL|NULL|NULL|11719010.15|2217\n catalog|NULL|NULL|NULL|14773719.71|2947\n catalog|NULL|NULL|NULL|13021675.89|2615\n catalog|1001001.00|NULL|NULL|188446.33|41\n catalog|1001001.00|NULL|NULL|53508.79|7\n catalog|1001001.00|NULL|NULL|100105.28|23\n catalog|1001001.00|NULL|NULL|114412.27|25\n catalog|1001001.00|NULL|NULL|77231.70|15\n catalog|1001001.00|NULL|NULL|174489.15|42\n catalog|1001001.00|NULL|NULL|206490.30|38\n catalog|1001001.00|NULL|NULL|45473.85|13\n catalog|1001001.00|NULL|NULL|146344.47|27\n catalog|1001001.00|NULL|NULL|152599.38|28\n catalog|1001001.00|NULL|NULL|206412.37|36\n catalog|1001001.00|NULL|NULL|119368.21|23\n catalog|1001001.00|NULL|NULL|45014.15|12\n catalog|1001001.00|NULL|NULL|50948.80|14\n catalog|1001001.00|NULL|NULL|16883.97|3\n catalog|1001001.00|1.00|NULL|100105.28|23\n catalog|1001001.00|1.00|NULL|99985.35|21\n catalog|1001001.00|1.00|NULL|107555.43|23\n catalog|1001001.00|1.00|NULL|161349.39|29\n catalog|1001001.00|1.00|NULL|146344.47|27\n catalog|1001001.00|1.00|NULL|122521.31|25\n catalog|1001001.00|1.00|NULL|77861.85|13\n catalog|1001001.00|1.00|NULL|22597.19|3\n catalog|1001001.00|1.00|NULL|16883.97|3\n catalog|1001001.00|2.00|NULL|68565.38|14\n catalog|1001001.00|2.00|NULL|43967.97|7\n catalog|1001001.00|2.00|NULL|12633.87|3\n catalog|1001001.00|3.00|NULL|60551.64|14\n catalog|1001001.00|3.00|NULL|14426.92|4\n catalog|1001001.00|3.00|NULL|36821.61|7\n catalog|1001001.00|3.00|NULL|30078.07|3\n catalog|1001001.00|3.00|NULL|28455.23|4\n catalog|1001001.00|3.00|NULL|28351.61|11\n catalog|1001001.00|4.00|NULL|47553.20|10\n catalog|1001001.00|4.00|NULL|45473.85|13\n catalog|1001001.00|4.00|NULL|16558.92|8\n catalog|1001001.00|5.00|NULL|29678.50|5\n catalog|1001001.00|5.00|NULL|30112.11|12\n catalog|1001001.00|8.00|NULL|26895.97|6.\nThis issue was likely caused by a bug in DataFusion's code. Please help us to resolve this by filing a bug report in our issue tracker: https://github.com/apache/datafusion/issues"] |
There was a problem hiding this comment.
Not 100% sure if this is fine, need to double check.
There was a problem hiding this comment.
The plan looks correct, however, I'm auditing the actual results and it does look like there's something wrong here:
Single node results `main`
NULL|NULL|NULL|NULL|674173362.51|155629
catalog|NULL|NULL|NULL|237410857.47|46322
catalog|1001001.00|NULL|NULL|1697729.02|347
catalog|1001001.00|1.00|NULL|855204.24|167
catalog|1001001.00|1.00|1.00|115019.61|20
catalog|1001001.00|1.00|2.00|146344.47|27
catalog|1001001.00|1.00|3.00|22597.19|3
catalog|1001001.00|1.00|4.00|107555.43|23
catalog|1001001.00|1.00|5.00|122521.31|25
catalog|1001001.00|1.00|6.00|16883.97|3
catalog|1001001.00|1.00|7.00|46329.78|9
catalog|1001001.00|1.00|8.00|77861.85|13
catalog|1001001.00|1.00|9.00|99985.35|21
catalog|1001001.00|1.00|10.00|100105.28|23
catalog|1001001.00|2.00|NULL|125167.22|24
catalog|1001001.00|2.00|2.00|43967.97|7
catalog|1001001.00|2.00|3.00|68565.38|14
catalog|1001001.00|2.00|5.00|12633.87|3
catalog|1001001.00|3.00|NULL|198685.08|43
catalog|1001001.00|3.00|1.00|11100.79|5
catalog|1001001.00|3.00|2.00|60551.64|14
catalog|1001001.00|3.00|4.00|28455.23|4
catalog|1001001.00|3.00|6.00|36821.61|7
catalog|1001001.00|3.00|7.00|17250.82|6
catalog|1001001.00|3.00|8.00|14426.92|4
catalog|1001001.00|3.00|9.00|30078.07|3
catalog|1001001.00|4.00|NULL|109585.97|31
catalog|1001001.00|4.00|2.00|45473.85|13
catalog|1001001.00|4.00|3.00|16558.92|8
catalog|1001001.00|4.00|4.00|47553.20|10
catalog|1001001.00|5.00|NULL|59790.61|17
catalog|1001001.00|5.00|9.00|30112.11|12
catalog|1001001.00|5.00|10.00|29678.50|5
catalog|1001001.00|6.00|NULL|10261.82|3
catalog|1001001.00|6.00|9.00|10261.82|3
catalog|1001001.00|7.00|NULL|18244.94|3
catalog|1001001.00|7.00|7.00|18244.94|3
catalog|1001001.00|8.00|NULL|55768.46|13
catalog|1001001.00|8.00|7.00|28872.49|7
catalog|1001001.00|8.00|10.00|26895.97|6
catalog|1001001.00|9.00|NULL|30944.19|5
catalog|1001001.00|9.00|6.00|30944.19|5
catalog|1001001.00|11.00|NULL|82810.87|12
catalog|1001001.00|11.00|9.00|82810.87|12
catalog|1001001.00|12.00|NULL|38427.52|9
catalog|1001001.00|12.00|10.00|38427.52|9
catalog|1001001.00|15.00|NULL|112838.10|20
catalog|1001001.00|15.00|9.00|53508.79|7
catalog|1001001.00|15.00|10.00|59329.31|13
catalog|1001002.00|NULL|NULL|3527831.33|706
catalog|1001002.00|1.00|NULL|2673969.89|530
catalog|1001002.00|1.00|1.00|2673969.89|530
catalog|1001002.00|2.00|NULL|140831.91|29
catalog|1001002.00|2.00|1.00|140831.91|29
catalog|1001002.00|3.00|NULL|320175.87|67
catalog|1001002.00|3.00|1.00|320175.87|67
catalog|1001002.00|4.00|NULL|133287.96|21
catalog|1001002.00|4.00|1.00|133287.96|21
catalog|1001002.00|5.00|NULL|16606.90|9
catalog|1001002.00|5.00|1.00|16606.90|9
catalog|1001002.00|6.00|NULL|15133.01|4
catalog|1001002.00|6.00|1.00|15133.01|4
catalog|1001002.00|7.00|NULL|24471.26|10
catalog|1001002.00|7.00|1.00|24471.26|10
catalog|1001002.00|8.00|NULL|63773.05|12
catalog|1001002.00|8.00|1.00|63773.05|12
catalog|1001002.00|9.00|NULL|9167.19|3
catalog|1001002.00|9.00|1.00|9167.19|3
catalog|1001002.00|12.00|NULL|29108.42|7
catalog|1001002.00|12.00|1.00|29108.42|7
catalog|1001002.00|15.00|NULL|31143.45|6
catalog|1001002.00|15.00|1.00|31143.45|6
catalog|1001002.00|16.00|NULL|70162.42|8
catalog|1001002.00|16.00|1.00|70162.42|8
catalog|1002001.00|NULL|NULL|2114110.72|380
catalog|1002001.00|1.00|NULL|348693.97|55
catalog|1002001.00|1.00|1.00|76392.13|14
catalog|1002001.00|1.00|2.00|118394.33|21
catalog|1002001.00|1.00|4.00|29395.79|5
catalog|1002001.00|1.00|5.00|35541.97|4
catalog|1002001.00|1.00|6.00|26104.36|3
catalog|1002001.00|1.00|9.00|18793.97|4
catalog|1002001.00|1.00|10.00|44071.42|4
catalog|1002001.00|2.00|NULL|1233961.70|225
catalog|1002001.00|2.00|1.00|239511.02|51
catalog|1002001.00|2.00|2.00|147993.14|26
catalog|1002001.00|2.00|3.00|100086.93|17
catalog|1002001.00|2.00|4.00|53524.42|13
catalog|1002001.00|2.00|5.00|48494.06|10
catalog|1002001.00|2.00|6.00|142857.04|20
catalog|1002001.00|2.00|7.00|116557.98|16
catalog|1002001.00|2.00|8.00|92743.93|24
catalog|1002001.00|2.00|9.00|203943.99|38
catalog|1002001.00|2.00|10.00|88249.19|10
catalog|1002001.00|3.00|NULL|91054.32|17
catalog|1002001.00|3.00|2.00|25171.13|6
catalog|1002001.00|3.00|7.00|27766.70|3
catalog|1002001.00|3.00|8.00|38116.49|8
catalog|1002001.00|4.00|NULL|182427.69|32
catalog|1002001.00|4.00|1.00|66896.68|15
Distributed results `main`
NULL|NULL|NULL|NULL|674173362.51|155629
catalog|NULL|NULL|NULL|237410857.47|46322
catalog|1001001.00|NULL|NULL|1697729.02|347
catalog|1001001.00|1.00|NULL|855204.24|167
catalog|1001001.00|1.00|1.00|115019.61|20
catalog|1001001.00|1.00|2.00|146344.47|27
catalog|1001001.00|1.00|3.00|22597.19|3
catalog|1001001.00|1.00|4.00|107555.43|23
catalog|1001001.00|1.00|5.00|122521.31|25
catalog|1001001.00|1.00|6.00|16883.97|3
catalog|1001001.00|1.00|7.00|46329.78|9
catalog|1001001.00|1.00|8.00|77861.85|13
catalog|1001001.00|1.00|9.00|99985.35|21
catalog|1001001.00|1.00|10.00|100105.28|23
catalog|1001001.00|2.00|NULL|125167.22|24
catalog|1001001.00|2.00|2.00|43967.97|7
catalog|1001001.00|2.00|3.00|68565.38|14
catalog|1001001.00|2.00|5.00|12633.87|3
catalog|1001001.00|3.00|NULL|198685.08|43
catalog|1001001.00|3.00|1.00|11100.79|5
catalog|1001001.00|3.00|2.00|60551.64|14
catalog|1001001.00|3.00|4.00|28455.23|4
catalog|1001001.00|3.00|6.00|36821.61|7
catalog|1001001.00|3.00|7.00|17250.82|6
catalog|1001001.00|3.00|8.00|14426.92|4
catalog|1001001.00|3.00|9.00|30078.07|3
catalog|1001001.00|4.00|NULL|109585.97|31
catalog|1001001.00|4.00|2.00|45473.85|13
catalog|1001001.00|4.00|3.00|16558.92|8
catalog|1001001.00|4.00|4.00|47553.20|10
catalog|1001001.00|5.00|NULL|59790.61|17
catalog|1001001.00|5.00|9.00|30112.11|12
catalog|1001001.00|5.00|10.00|29678.50|5
catalog|1001001.00|6.00|NULL|10261.82|3
catalog|1001001.00|6.00|9.00|10261.82|3
catalog|1001001.00|7.00|NULL|18244.94|3
catalog|1001001.00|7.00|7.00|18244.94|3
catalog|1001001.00|8.00|NULL|55768.46|13
catalog|1001001.00|8.00|7.00|28872.49|7
catalog|1001001.00|8.00|10.00|26895.97|6
catalog|1001001.00|9.00|NULL|30944.19|5
catalog|1001001.00|9.00|6.00|30944.19|5
catalog|1001001.00|11.00|NULL|82810.87|12
catalog|1001001.00|11.00|9.00|82810.87|12
catalog|1001001.00|12.00|NULL|38427.52|9
catalog|1001001.00|12.00|10.00|38427.52|9
catalog|1001001.00|15.00|NULL|112838.10|20
catalog|1001001.00|15.00|9.00|53508.79|7
catalog|1001001.00|15.00|10.00|59329.31|13
catalog|1001002.00|NULL|NULL|3527831.33|706
catalog|1001002.00|1.00|NULL|2673969.89|530
catalog|1001002.00|1.00|1.00|2673969.89|530
catalog|1001002.00|2.00|NULL|140831.91|29
catalog|1001002.00|2.00|1.00|140831.91|29
catalog|1001002.00|3.00|NULL|320175.87|67
catalog|1001002.00|3.00|1.00|320175.87|67
catalog|1001002.00|4.00|NULL|133287.96|21
catalog|1001002.00|4.00|1.00|133287.96|21
catalog|1001002.00|5.00|NULL|16606.90|9
catalog|1001002.00|5.00|1.00|16606.90|9
catalog|1001002.00|6.00|NULL|15133.01|4
catalog|1001002.00|6.00|1.00|15133.01|4
catalog|1001002.00|7.00|NULL|24471.26|10
catalog|1001002.00|7.00|1.00|24471.26|10
catalog|1001002.00|8.00|NULL|63773.05|12
catalog|1001002.00|8.00|1.00|63773.05|12
catalog|1001002.00|9.00|NULL|9167.19|3
catalog|1001002.00|9.00|1.00|9167.19|3
catalog|1001002.00|12.00|NULL|29108.42|7
catalog|1001002.00|12.00|1.00|29108.42|7
catalog|1001002.00|15.00|NULL|31143.45|6
catalog|1001002.00|15.00|1.00|31143.45|6
catalog|1001002.00|16.00|NULL|70162.42|8
catalog|1001002.00|16.00|1.00|70162.42|8
catalog|1002001.00|NULL|NULL|2114110.72|380
catalog|1002001.00|1.00|NULL|348693.97|55
catalog|1002001.00|1.00|1.00|76392.13|14
catalog|1002001.00|1.00|2.00|118394.33|21
catalog|1002001.00|1.00|4.00|29395.79|5
catalog|1002001.00|1.00|5.00|35541.97|4
catalog|1002001.00|1.00|6.00|26104.36|3
catalog|1002001.00|1.00|9.00|18793.97|4
catalog|1002001.00|1.00|10.00|44071.42|4
catalog|1002001.00|2.00|NULL|1233961.70|225
catalog|1002001.00|2.00|1.00|239511.02|51
catalog|1002001.00|2.00|2.00|147993.14|26
catalog|1002001.00|2.00|3.00|100086.93|17
catalog|1002001.00|2.00|4.00|53524.42|13
catalog|1002001.00|2.00|5.00|48494.06|10
catalog|1002001.00|2.00|6.00|142857.04|20
catalog|1002001.00|2.00|7.00|116557.98|16
catalog|1002001.00|2.00|8.00|92743.93|24
catalog|1002001.00|2.00|9.00|203943.99|38
catalog|1002001.00|2.00|10.00|88249.19|10
catalog|1002001.00|3.00|NULL|91054.32|17
catalog|1002001.00|3.00|2.00|25171.13|6
catalog|1002001.00|3.00|7.00|27766.70|3
catalog|1002001.00|3.00|8.00|38116.49|8
catalog|1002001.00|4.00|NULL|182427.69|32
catalog|1002001.00|4.00|1.00|66896.68|15
Single node results for this branch
NULL|NULL|NULL|NULL|47788579.87|11068
NULL|NULL|NULL|NULL|46294358.79|10609
NULL|NULL|NULL|NULL|40499040.27|9321
NULL|NULL|NULL|NULL|37952602.75|8889
NULL|NULL|NULL|NULL|50256292.02|11540
NULL|NULL|NULL|NULL|27943616.98|6397
NULL|NULL|NULL|NULL|43114338.77|10000
NULL|NULL|NULL|NULL|56239021.04|13003
NULL|NULL|NULL|NULL|25682800.66|6012
NULL|NULL|NULL|NULL|38529122.81|8922
NULL|NULL|NULL|NULL|59222982.16|13528
NULL|NULL|NULL|NULL|48322926.86|11228
NULL|NULL|NULL|NULL|39166012.10|9010
NULL|NULL|NULL|NULL|32661391.26|7453
NULL|NULL|NULL|NULL|43315152.10|10008
NULL|NULL|NULL|NULL|37185124.07|8641
catalog|NULL|NULL|NULL|16671923.72|3228
catalog|NULL|NULL|NULL|16630833.01|3143
catalog|NULL|NULL|NULL|14038550.02|2798
catalog|NULL|NULL|NULL|13135427.84|2638
catalog|NULL|NULL|NULL|17604907.44|3399
catalog|NULL|NULL|NULL|10119873.49|1959
catalog|NULL|NULL|NULL|14698922.72|2919
catalog|NULL|NULL|NULL|19534422.18|3931
catalog|NULL|NULL|NULL|9075046.95|1756
catalog|NULL|NULL|NULL|13829338.20|2662
catalog|NULL|NULL|NULL|21769645.88|4087
catalog|NULL|NULL|NULL|16890254.59|3343
catalog|NULL|NULL|NULL|13897305.68|2680
catalog|NULL|NULL|NULL|11719010.15|2217
catalog|NULL|NULL|NULL|14773719.71|2947
catalog|NULL|NULL|NULL|13021675.89|2615
catalog|1001001.00|NULL|NULL|188446.33|41
catalog|1001001.00|NULL|NULL|53508.79|7
catalog|1001001.00|NULL|NULL|100105.28|23
catalog|1001001.00|NULL|NULL|114412.27|25
catalog|1001001.00|NULL|NULL|77231.70|15
catalog|1001001.00|NULL|NULL|174489.15|42
catalog|1001001.00|NULL|NULL|206490.30|38
catalog|1001001.00|NULL|NULL|45473.85|13
catalog|1001001.00|NULL|NULL|146344.47|27
catalog|1001001.00|NULL|NULL|152599.38|28
catalog|1001001.00|NULL|NULL|206412.37|36
catalog|1001001.00|NULL|NULL|119368.21|23
catalog|1001001.00|NULL|NULL|45014.15|12
catalog|1001001.00|NULL|NULL|50948.80|14
catalog|1001001.00|NULL|NULL|16883.97|3
catalog|1001001.00|1.00|NULL|100105.28|23
catalog|1001001.00|1.00|NULL|99985.35|21
catalog|1001001.00|1.00|NULL|107555.43|23
catalog|1001001.00|1.00|NULL|161349.39|29
catalog|1001001.00|1.00|NULL|146344.47|27
catalog|1001001.00|1.00|NULL|122521.31|25
catalog|1001001.00|1.00|NULL|77861.85|13
catalog|1001001.00|1.00|NULL|22597.19|3
catalog|1001001.00|1.00|NULL|16883.97|3
catalog|1001001.00|1.00|1.00|115019.61|20
catalog|1001001.00|1.00|2.00|146344.47|27
catalog|1001001.00|1.00|3.00|22597.19|3
catalog|1001001.00|1.00|4.00|107555.43|23
catalog|1001001.00|1.00|5.00|122521.31|25
catalog|1001001.00|1.00|6.00|16883.97|3
catalog|1001001.00|1.00|7.00|46329.78|9
catalog|1001001.00|1.00|8.00|77861.85|13
catalog|1001001.00|1.00|9.00|99985.35|21
catalog|1001001.00|1.00|10.00|100105.28|23
catalog|1001001.00|2.00|NULL|68565.38|14
catalog|1001001.00|2.00|NULL|43967.97|7
catalog|1001001.00|2.00|NULL|12633.87|3
catalog|1001001.00|2.00|2.00|43967.97|7
catalog|1001001.00|2.00|3.00|68565.38|14
catalog|1001001.00|2.00|5.00|12633.87|3
catalog|1001001.00|3.00|NULL|60551.64|14
catalog|1001001.00|3.00|NULL|14426.92|4
catalog|1001001.00|3.00|NULL|36821.61|7
catalog|1001001.00|3.00|NULL|30078.07|3
catalog|1001001.00|3.00|NULL|28455.23|4
catalog|1001001.00|3.00|NULL|28351.61|11
catalog|1001001.00|3.00|1.00|11100.79|5
catalog|1001001.00|3.00|2.00|60551.64|14
catalog|1001001.00|3.00|4.00|28455.23|4
catalog|1001001.00|3.00|6.00|36821.61|7
catalog|1001001.00|3.00|7.00|17250.82|6
catalog|1001001.00|3.00|8.00|14426.92|4
catalog|1001001.00|3.00|9.00|30078.07|3
catalog|1001001.00|4.00|NULL|47553.20|10
catalog|1001001.00|4.00|NULL|45473.85|13
catalog|1001001.00|4.00|NULL|16558.92|8
catalog|1001001.00|4.00|2.00|45473.85|13
catalog|1001001.00|4.00|3.00|16558.92|8
catalog|1001001.00|4.00|4.00|47553.20|10
catalog|1001001.00|5.00|NULL|29678.50|5
catalog|1001001.00|5.00|NULL|30112.11|12
catalog|1001001.00|5.00|9.00|30112.11|12
catalog|1001001.00|5.00|10.00|29678.50|5
catalog|1001001.00|6.00|NULL|10261.82|3
catalog|1001001.00|6.00|9.00|10261.82|3
catalog|1001001.00|7.00|NULL|18244.94|3
catalog|1001001.00|7.00|7.00|18244.94|3
catalog|1001001.00|8.00|NULL|26895.97|6
Distributed results this branch
NULL|NULL|NULL|NULL|674173362.51|155629
catalog|NULL|NULL|NULL|237410857.47|46322
catalog|1001001.00|NULL|NULL|1697729.02|347
catalog|1001001.00|1.00|NULL|855204.24|167
catalog|1001001.00|1.00|1.00|115019.61|20
catalog|1001001.00|1.00|2.00|146344.47|27
catalog|1001001.00|1.00|3.00|22597.19|3
catalog|1001001.00|1.00|4.00|107555.43|23
catalog|1001001.00|1.00|5.00|122521.31|25
catalog|1001001.00|1.00|6.00|16883.97|3
catalog|1001001.00|1.00|7.00|46329.78|9
catalog|1001001.00|1.00|8.00|77861.85|13
catalog|1001001.00|1.00|9.00|99985.35|21
catalog|1001001.00|1.00|10.00|100105.28|23
catalog|1001001.00|2.00|NULL|125167.22|24
catalog|1001001.00|2.00|2.00|43967.97|7
catalog|1001001.00|2.00|3.00|68565.38|14
catalog|1001001.00|2.00|5.00|12633.87|3
catalog|1001001.00|3.00|NULL|198685.08|43
catalog|1001001.00|3.00|1.00|11100.79|5
catalog|1001001.00|3.00|2.00|60551.64|14
catalog|1001001.00|3.00|4.00|28455.23|4
catalog|1001001.00|3.00|6.00|36821.61|7
catalog|1001001.00|3.00|7.00|17250.82|6
catalog|1001001.00|3.00|8.00|14426.92|4
catalog|1001001.00|3.00|9.00|30078.07|3
catalog|1001001.00|4.00|NULL|109585.97|31
catalog|1001001.00|4.00|2.00|45473.85|13
catalog|1001001.00|4.00|3.00|16558.92|8
catalog|1001001.00|4.00|4.00|47553.20|10
catalog|1001001.00|5.00|NULL|59790.61|17
catalog|1001001.00|5.00|9.00|30112.11|12
catalog|1001001.00|5.00|10.00|29678.50|5
catalog|1001001.00|6.00|NULL|10261.82|3
catalog|1001001.00|6.00|9.00|10261.82|3
catalog|1001001.00|7.00|NULL|18244.94|3
catalog|1001001.00|7.00|7.00|18244.94|3
catalog|1001001.00|8.00|NULL|55768.46|13
catalog|1001001.00|8.00|7.00|28872.49|7
catalog|1001001.00|8.00|10.00|26895.97|6
catalog|1001001.00|9.00|NULL|30944.19|5
catalog|1001001.00|9.00|6.00|30944.19|5
catalog|1001001.00|11.00|NULL|82810.87|12
catalog|1001001.00|11.00|9.00|82810.87|12
catalog|1001001.00|12.00|NULL|38427.52|9
catalog|1001001.00|12.00|10.00|38427.52|9
catalog|1001001.00|15.00|NULL|112838.10|20
catalog|1001001.00|15.00|9.00|53508.79|7
catalog|1001001.00|15.00|10.00|59329.31|13
catalog|1001002.00|NULL|NULL|3527831.33|706
catalog|1001002.00|1.00|NULL|2673969.89|530
catalog|1001002.00|1.00|1.00|2673969.89|530
catalog|1001002.00|2.00|NULL|140831.91|29
catalog|1001002.00|2.00|1.00|140831.91|29
catalog|1001002.00|3.00|NULL|320175.87|67
catalog|1001002.00|3.00|1.00|320175.87|67
catalog|1001002.00|4.00|NULL|133287.96|21
catalog|1001002.00|4.00|1.00|133287.96|21
catalog|1001002.00|5.00|NULL|16606.90|9
catalog|1001002.00|5.00|1.00|16606.90|9
catalog|1001002.00|6.00|NULL|15133.01|4
catalog|1001002.00|6.00|1.00|15133.01|4
catalog|1001002.00|7.00|NULL|24471.26|10
catalog|1001002.00|7.00|1.00|24471.26|10
catalog|1001002.00|8.00|NULL|63773.05|12
catalog|1001002.00|8.00|1.00|63773.05|12
catalog|1001002.00|9.00|NULL|9167.19|3
catalog|1001002.00|9.00|1.00|9167.19|3
catalog|1001002.00|12.00|NULL|29108.42|7
catalog|1001002.00|12.00|1.00|29108.42|7
catalog|1001002.00|15.00|NULL|31143.45|6
catalog|1001002.00|15.00|1.00|31143.45|6
catalog|1001002.00|16.00|NULL|70162.42|8
catalog|1001002.00|16.00|1.00|70162.42|8
catalog|1002001.00|NULL|NULL|2114110.72|380
catalog|1002001.00|1.00|NULL|348693.97|55
catalog|1002001.00|1.00|1.00|76392.13|14
catalog|1002001.00|1.00|2.00|118394.33|21
catalog|1002001.00|1.00|4.00|29395.79|5
catalog|1002001.00|1.00|5.00|35541.97|4
catalog|1002001.00|1.00|6.00|26104.36|3
catalog|1002001.00|1.00|9.00|18793.97|4
catalog|1002001.00|1.00|10.00|44071.42|4
catalog|1002001.00|2.00|NULL|1233961.70|225
catalog|1002001.00|2.00|1.00|239511.02|51
catalog|1002001.00|2.00|2.00|147993.14|26
catalog|1002001.00|2.00|3.00|100086.93|17
catalog|1002001.00|2.00|4.00|53524.42|13
catalog|1002001.00|2.00|5.00|48494.06|10
catalog|1002001.00|2.00|6.00|142857.04|20
catalog|1002001.00|2.00|7.00|116557.98|16
catalog|1002001.00|2.00|8.00|92743.93|24
catalog|1002001.00|2.00|9.00|203943.99|38
catalog|1002001.00|2.00|10.00|88249.19|10
catalog|1002001.00|3.00|NULL|91054.32|17
catalog|1002001.00|3.00|2.00|25171.13|6
catalog|1002001.00|3.00|7.00|27766.70|3
catalog|1002001.00|3.00|8.00|38116.49|8
catalog|1002001.00|4.00|NULL|182427.69|32
catalog|1002001.00|4.00|1.00|66896.68|15
There was a problem hiding this comment.
The weird thing here is: it seems like what has changed is the single node results, but the distributed results have remained stable across updates, that's weird...
There was a problem hiding this comment.
Single node plan in `main`
SortPreservingMergeExec: [channel@0 ASC, i_brand_id@1 ASC, i_class_id@2 ASC, i_category_id@3 ASC], fetch=100
SortExec: TopK(fetch=100), expr=[channel@0 ASC, i_brand_id@1 ASC, i_class_id@2 ASC, i_category_id@3 ASC], preserve_partitioning=[true], filter=[channel@0 IS NULL OR channel@0 < catalog OR channel@0 = catalog AND (i_brand_id@1 IS NULL OR i_brand_id@1 < 5004001) OR channel@0 = catalog AND i_brand_id@1 = 5004001 AND (i_class_id@2 IS NULL OR i_class_id@2 < 2) OR channel@0 = catalog AND i_brand_id@1 = 5004001 AND i_class_id@2 = 2 AND (i_category_id@3 IS NULL OR i_category_id@3 < 1)]
ProjectionExec: expr=[channel@0 as channel, i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id, sum(y.sales)@5 as sum_sales, sum(y.number_sales)@6 as sum_number_sales]
AggregateExec: mode=FinalPartitioned, gby=[channel@0 as channel, i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id, __grouping_id@4 as __grouping_id], aggr=[sum(y.sales), sum(y.number_sales)]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([channel@0, i_brand_id@1, i_class_id@2, i_category_id@3, __grouping_id@4], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[(NULL as channel, NULL as i_brand_id, NULL as i_class_id, NULL as i_category_id), (channel@0 as channel, NULL as i_brand_id, NULL as i_class_id, NULL as i_category_id), (channel@0 as channel, i_brand_id@1 as i_brand_id, NULL as i_class_id, NULL as i_category_id), (channel@0 as channel, i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, NULL as i_category_id), (channel@0 as channel, i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id)], aggr=[sum(y.sales), sum(y.number_sales)]
InterleaveExec
ProjectionExec: expr=[store as channel, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id, sum(store_sales.ss_quantity * store_sales.ss_list_price)@3 as sales, count(Int64(1))@4 as number_sales]
ProjectionExec: expr=[i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id, sum(store_sales.ss_quantity * store_sales.ss_list_price)@4 as sum(store_sales.ss_quantity * store_sales.ss_list_price), count(Int64(1))@5 as count(Int64(1)), average_sales@0 as average_sales]
NestedLoopJoinExec: join_type=Inner, filter=sum(store_sales.ss_quantity * store_sales.ss_list_price)@0 > average_sales@1
ProjectionExec: expr=[avg(sq2.quantity * sq2.list_price)@0 as average_sales]
AggregateExec: mode=Final, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
CoalescePartitionsExec
AggregateExec: mode=Partial, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
UnionExec
ProjectionExec: expr=[ss_quantity@0 as quantity, ss_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[ss_quantity@3, ss_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[cs_quantity@0 as quantity, cs_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[cs_quantity@3, cs_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[ws_quantity@0 as quantity, ws_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[ws_quantity@3, ws_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id], aggr=[sum(store_sales.ss_quantity * store_sales.ss_list_price), count(Int64(1))]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_brand_id@0, i_class_id@1, i_category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[i_brand_id@2 as i_brand_id, i_class_id@3 as i_class_id, i_category_id@4 as i_category_id], aggr=[sum(store_sales.ss_quantity * store_sales.ss_list_price), count(Int64(1))]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=LeftSemi, on=[(ss_item_sk@0, ss_item_sk@0)], projection=[ss_quantity@1, ss_list_price@2, i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[ss_item_sk@3, ss_quantity@4, ss_list_price@5, i_brand_id@6, i_class_id@7, i_category_id@8]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 = 2001 AND d_moy@2 = 11, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ss_sold_date_sk@3 as ss_sold_date_sk, ss_item_sk@4 as ss_item_sk, ss_quantity@5 as ss_quantity, ss_list_price@6 as ss_list_price, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, ss_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ss_sold_date_sk@4, ss_item_sk@5, ss_quantity@6, ss_list_price@7]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([ss_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[i_item_sk@0 as ss_item_sk]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(brand_id@0, i_brand_id@1), (class_id@1, i_class_id@2), (category_id@2, i_category_id@3)], projection=[i_item_sk@3]
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d3.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d3.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ws_sold_date_sk@3 as ws_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, ws_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ws_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([ws_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=SinglePartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d2.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d2.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[cs_sold_date_sk@3 as cs_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, cs_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, cs_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([cs_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([brand_id@0, class_id@1, category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
ProjectionExec: expr=[i_brand_id@0 as brand_id, i_class_id@1 as class_id, i_category_id@2 as category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d1.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d1.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ss_sold_date_sk@3 as ss_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, ss_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ss_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([ss_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[catalog as channel, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id, sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price)@3 as sales, count(Int64(1))@4 as number_sales]
ProjectionExec: expr=[i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id, sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price)@4 as sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price), count(Int64(1))@5 as count(Int64(1)), average_sales@0 as average_sales]
NestedLoopJoinExec: join_type=Inner, filter=sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price)@0 > average_sales@1
ProjectionExec: expr=[avg(sq2.quantity * sq2.list_price)@0 as average_sales]
AggregateExec: mode=Final, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
CoalescePartitionsExec
AggregateExec: mode=Partial, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
UnionExec
ProjectionExec: expr=[ss_quantity@0 as quantity, ss_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[ss_quantity@3, ss_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[cs_quantity@0 as quantity, cs_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[cs_quantity@3, cs_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[ws_quantity@0 as quantity, ws_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[ws_quantity@3, ws_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id], aggr=[sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price), count(Int64(1))]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_brand_id@0, i_class_id@1, i_category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[i_brand_id@2 as i_brand_id, i_class_id@3 as i_class_id, i_category_id@4 as i_category_id], aggr=[sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price), count(Int64(1))]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=LeftSemi, on=[(cs_item_sk@0, ss_item_sk@0)], projection=[cs_quantity@1, cs_list_price@2, i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[cs_item_sk@3, cs_quantity@4, cs_list_price@5, i_brand_id@6, i_class_id@7, i_category_id@8]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 = 2001 AND d_moy@2 = 11, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[cs_sold_date_sk@3 as cs_sold_date_sk, cs_item_sk@4 as cs_item_sk, cs_quantity@5 as cs_quantity, cs_list_price@6 as cs_list_price, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, cs_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, cs_sold_date_sk@4, cs_item_sk@5, cs_quantity@6, cs_list_price@7]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([cs_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[i_item_sk@0 as ss_item_sk]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(brand_id@0, i_brand_id@1), (class_id@1, i_class_id@2), (category_id@2, i_category_id@3)], projection=[i_item_sk@3]
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d3.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d3.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ws_sold_date_sk@3 as ws_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, ws_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ws_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([ws_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=SinglePartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d2.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d2.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[cs_sold_date_sk@3 as cs_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, cs_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, cs_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([cs_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([brand_id@0, class_id@1, category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
ProjectionExec: expr=[i_brand_id@0 as brand_id, i_class_id@1 as class_id, i_category_id@2 as category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d1.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d1.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ss_sold_date_sk@3 as ss_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, ss_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ss_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([ss_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[web as channel, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id, sum(web_sales.ws_quantity * web_sales.ws_list_price)@3 as sales, count(Int64(1))@4 as number_sales]
ProjectionExec: expr=[i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id, sum(web_sales.ws_quantity * web_sales.ws_list_price)@4 as sum(web_sales.ws_quantity * web_sales.ws_list_price), count(Int64(1))@5 as count(Int64(1)), average_sales@0 as average_sales]
NestedLoopJoinExec: join_type=Inner, filter=sum(web_sales.ws_quantity * web_sales.ws_list_price)@0 > average_sales@1
ProjectionExec: expr=[avg(sq2.quantity * sq2.list_price)@0 as average_sales]
AggregateExec: mode=Final, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
CoalescePartitionsExec
AggregateExec: mode=Partial, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
UnionExec
ProjectionExec: expr=[ss_quantity@0 as quantity, ss_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[ss_quantity@3, ss_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[cs_quantity@0 as quantity, cs_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[cs_quantity@3, cs_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[ws_quantity@0 as quantity, ws_list_price@1 as list_price]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[ws_quantity@3, ws_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id], aggr=[sum(web_sales.ws_quantity * web_sales.ws_list_price), count(Int64(1))]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_brand_id@0, i_class_id@1, i_category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[i_brand_id@2 as i_brand_id, i_class_id@3 as i_class_id, i_category_id@4 as i_category_id], aggr=[sum(web_sales.ws_quantity * web_sales.ws_list_price), count(Int64(1))]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=LeftSemi, on=[(ws_item_sk@0, ss_item_sk@0)], projection=[ws_quantity@1, ws_list_price@2, i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[ws_item_sk@3, ws_quantity@4, ws_list_price@5, i_brand_id@6, i_class_id@7, i_category_id@8]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 = 2001 AND d_moy@2 = 11, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ws_sold_date_sk@3 as ws_sold_date_sk, ws_item_sk@4 as ws_item_sk, ws_quantity@5 as ws_quantity, ws_list_price@6 as ws_list_price, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, ws_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ws_sold_date_sk@4, ws_item_sk@5, ws_quantity@6, ws_list_price@7]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([ws_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[i_item_sk@0 as ss_item_sk]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(brand_id@0, i_brand_id@1), (class_id@1, i_class_id@2), (category_id@2, i_category_id@3)], projection=[i_item_sk@3]
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d3.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d3.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ws_sold_date_sk@3 as ws_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, ws_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ws_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([ws_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=SinglePartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d2.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d2.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[cs_sold_date_sk@3 as cs_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, cs_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, cs_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([cs_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([brand_id@0, class_id@1, category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
ProjectionExec: expr=[i_brand_id@0 as brand_id, i_class_id@1 as class_id, i_category_id@2 as category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d1.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d1.d_date_sk AS Float64)]
CoalesceBatchesExec: target_batch_size=8192
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ss_sold_date_sk@3 as ss_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
CoalesceBatchesExec: target_batch_size=8192
HashJoinExec: mode=Partitioned, join_type=Inner, on=[(i_item_sk@0, ss_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ss_sold_date_sk@4]
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([i_item_sk@0], 16), input_partitions=16
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
CoalesceBatchesExec: target_batch_size=8192
RepartitionExec: partitioning=Hash([ss_item_sk@1], 16), input_partitions=16
DataSourceExec: file_groups={16 groups...
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
Single node plan in this branch
SortPreservingMergeExec: [channel@0 ASC, i_brand_id@1 ASC, i_class_id@2 ASC, i_category_id@3 ASC], fetch=100
SortExec: TopK(fetch=100), expr=[channel@0 ASC, i_brand_id@1 ASC, i_class_id@2 ASC, i_category_id@3 ASC], preserve_partitioning=[true], filter=[channel@0 IS NULL OR channel@0 < catalog OR channel@0 = catalog AND (i_brand_id@1 IS NULL OR i_brand_id@1 < 3003002) OR channel@0 = catalog AND i_brand_id@1 = 3003002 AND (i_class_id@2 IS NULL OR i_class_id@2 < 5) OR channel@0 = catalog AND i_brand_id@1 = 3003002 AND i_class_id@2 = 5 AND false]
ProjectionExec: expr=[channel@0 as channel, i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id, sum(y.sales)@5 as sum_sales, sum(y.number_sales)@6 as sum_number_sales]
AggregateExec: mode=FinalPartitioned, gby=[channel@0 as channel, i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id, __grouping_id@4 as __grouping_id], aggr=[sum(y.sales), sum(y.number_sales)]
AggregateExec: mode=Partial, gby=[(NULL as channel, NULL as i_brand_id, NULL as i_class_id, NULL as i_category_id), (channel@0 as channel, NULL as i_brand_id, NULL as i_class_id, NULL as i_category_id), (channel@0 as channel, i_brand_id@1 as i_brand_id, NULL as i_class_id, NULL as i_category_id), (channel@0 as channel, i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, NULL as i_category_id), (channel@0 as channel, i_brand_id@1 as i_brand_id, i_class_id@2 as i_class_id, i_category_id@3 as i_category_id)], aggr=[sum(y.sales), sum(y.number_sales)]
InterleaveExec
ProjectionExec: expr=[store as channel, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id, sum(store_sales.ss_quantity * store_sales.ss_list_price)@3 as sales, count(Int64(1))@4 as number_sales]
NestedLoopJoinExec: join_type=Inner, filter=sum(store_sales.ss_quantity * store_sales.ss_list_price)@0 > average_sales@1, projection=[i_brand_id@1, i_class_id@2, i_category_id@3, sum(store_sales.ss_quantity * store_sales.ss_list_price)@4, count(Int64(1))@5]
ProjectionExec: expr=[avg(sq2.quantity * sq2.list_price)@0 as average_sales]
AggregateExec: mode=Final, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
CoalescePartitionsExec
AggregateExec: mode=Partial, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
UnionExec
ProjectionExec: expr=[ss_quantity@0 as quantity, ss_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[ss_quantity@3, ss_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[cs_quantity@0 as quantity, cs_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[cs_quantity@3, cs_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[ws_quantity@0 as quantity, ws_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[ws_quantity@3, ws_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id], aggr=[sum(store_sales.ss_quantity * store_sales.ss_list_price), count(Int64(1))]
RepartitionExec: partitioning=Hash([i_brand_id@0, i_class_id@1, i_category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[i_brand_id@2 as i_brand_id, i_class_id@3 as i_class_id, i_category_id@4 as i_category_id], aggr=[sum(store_sales.ss_quantity * store_sales.ss_list_price), count(Int64(1))]
HashJoinExec: mode=CollectLeft, join_type=LeftSemi, on=[(ss_item_sk@0, ss_item_sk@0)], projection=[ss_quantity@1, ss_list_price@2, i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[ss_item_sk@3, ss_quantity@4, ss_list_price@5, i_brand_id@6, i_class_id@7, i_category_id@8]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 = 2001 AND d_moy@2 = 11, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ss_sold_date_sk@3 as ss_sold_date_sk, ss_item_sk@4 as ss_item_sk, ss_quantity@5 as ss_quantity, ss_list_price@6 as ss_list_price, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, ss_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ss_sold_date_sk@4, ss_item_sk@5, ss_quantity@6, ss_list_price@7]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[i_item_sk@0 as ss_item_sk]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(brand_id@0, i_brand_id@1), (class_id@1, i_class_id@2), (category_id@2, i_category_id@3)], projection=[i_item_sk@3]
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d3.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d3.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ws_sold_date_sk@3 as ws_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, ws_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ws_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=SinglePartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d2.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d2.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[cs_sold_date_sk@3 as cs_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, cs_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, cs_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
RepartitionExec: partitioning=Hash([brand_id@0, class_id@1, category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
ProjectionExec: expr=[i_brand_id@0 as brand_id, i_class_id@1 as class_id, i_category_id@2 as category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d1.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d1.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ss_sold_date_sk@3 as ss_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, ss_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ss_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[catalog as channel, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id, sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price)@3 as sales, count(Int64(1))@4 as number_sales]
NestedLoopJoinExec: join_type=Inner, filter=sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price)@0 > average_sales@1, projection=[i_brand_id@1, i_class_id@2, i_category_id@3, sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price)@4, count(Int64(1))@5]
ProjectionExec: expr=[avg(sq2.quantity * sq2.list_price)@0 as average_sales]
AggregateExec: mode=Final, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
CoalescePartitionsExec
AggregateExec: mode=Partial, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
UnionExec
ProjectionExec: expr=[ss_quantity@0 as quantity, ss_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[ss_quantity@3, ss_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[cs_quantity@0 as quantity, cs_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[cs_quantity@3, cs_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[ws_quantity@0 as quantity, ws_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[ws_quantity@3, ws_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id], aggr=[sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price), count(Int64(1))]
RepartitionExec: partitioning=Hash([i_brand_id@0, i_class_id@1, i_category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[i_brand_id@2 as i_brand_id, i_class_id@3 as i_class_id, i_category_id@4 as i_category_id], aggr=[sum(catalog_sales.cs_quantity * catalog_sales.cs_list_price), count(Int64(1))]
HashJoinExec: mode=CollectLeft, join_type=LeftSemi, on=[(cs_item_sk@0, ss_item_sk@0)], projection=[cs_quantity@1, cs_list_price@2, i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[cs_item_sk@3, cs_quantity@4, cs_list_price@5, i_brand_id@6, i_class_id@7, i_category_id@8]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 = 2001 AND d_moy@2 = 11, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[cs_sold_date_sk@3 as cs_sold_date_sk, cs_item_sk@4 as cs_item_sk, cs_quantity@5 as cs_quantity, cs_list_price@6 as cs_list_price, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, cs_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, cs_sold_date_sk@4, cs_item_sk@5, cs_quantity@6, cs_list_price@7]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[i_item_sk@0 as ss_item_sk]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(brand_id@0, i_brand_id@1), (class_id@1, i_class_id@2), (category_id@2, i_category_id@3)], projection=[i_item_sk@3]
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d3.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d3.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ws_sold_date_sk@3 as ws_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, ws_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ws_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=SinglePartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d2.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d2.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[cs_sold_date_sk@3 as cs_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, cs_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, cs_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
RepartitionExec: partitioning=Hash([brand_id@0, class_id@1, category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
ProjectionExec: expr=[i_brand_id@0 as brand_id, i_class_id@1 as class_id, i_category_id@2 as category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d1.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d1.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ss_sold_date_sk@3 as ss_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, ss_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ss_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[web as channel, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id, sum(web_sales.ws_quantity * web_sales.ws_list_price)@3 as sales, count(Int64(1))@4 as number_sales]
NestedLoopJoinExec: join_type=Inner, filter=sum(web_sales.ws_quantity * web_sales.ws_list_price)@0 > average_sales@1, projection=[i_brand_id@1, i_class_id@2, i_category_id@3, sum(web_sales.ws_quantity * web_sales.ws_list_price)@4, count(Int64(1))@5]
ProjectionExec: expr=[avg(sq2.quantity * sq2.list_price)@0 as average_sales]
AggregateExec: mode=Final, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
CoalescePartitionsExec
AggregateExec: mode=Partial, gby=[], aggr=[avg(sq2.quantity * sq2.list_price)]
UnionExec
ProjectionExec: expr=[ss_quantity@0 as quantity, ss_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[ss_quantity@3, ss_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[cs_quantity@0 as quantity, cs_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[cs_quantity@3, cs_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[ws_quantity@0 as quantity, ws_list_price@1 as list_price]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[ws_quantity@3, ws_list_price@4]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id], aggr=[sum(web_sales.ws_quantity * web_sales.ws_list_price), count(Int64(1))]
RepartitionExec: partitioning=Hash([i_brand_id@0, i_class_id@1, i_category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[i_brand_id@2 as i_brand_id, i_class_id@3 as i_class_id, i_category_id@4 as i_category_id], aggr=[sum(web_sales.ws_quantity * web_sales.ws_list_price), count(Int64(1))]
HashJoinExec: mode=CollectLeft, join_type=LeftSemi, on=[(ws_item_sk@0, ss_item_sk@0)], projection=[ws_quantity@1, ws_list_price@2, i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(date_dim.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[ws_item_sk@3, ws_quantity@4, ws_list_price@5, i_brand_id@6, i_class_id@7, i_category_id@8]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(date_dim.d_date_sk AS Float64)]
FilterExec: d_year@1 = 2001 AND d_moy@2 = 11, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ws_sold_date_sk@3 as ws_sold_date_sk, ws_item_sk@4 as ws_item_sk, ws_quantity@5 as ws_quantity, ws_list_price@6 as ws_list_price, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, ws_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ws_sold_date_sk@4, ws_item_sk@5, ws_quantity@6, ws_list_price@7]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
ProjectionExec: expr=[i_item_sk@0 as ss_item_sk]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(brand_id@0, i_brand_id@1), (class_id@1, i_class_id@2), (category_id@2, i_category_id@3)], projection=[i_item_sk@3]
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d3.d_date_sk AS Float64)@1, ws_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d3.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ws_sold_date_sk@3 as ws_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, ws_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ws_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=SinglePartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
HashJoinExec: mode=CollectLeft, join_type=RightSemi, on=[(i_brand_id@0, brand_id@0), (i_class_id@1, class_id@1), (i_category_id@2, category_id@2)], NullsEqual: true
CoalescePartitionsExec
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d2.d_date_sk AS Float64)@1, cs_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d2.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[cs_sold_date_sk@3 as cs_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, cs_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, cs_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
AggregateExec: mode=FinalPartitioned, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
RepartitionExec: partitioning=Hash([brand_id@0, class_id@1, category_id@2], 16), input_partitions=16
AggregateExec: mode=Partial, gby=[brand_id@0 as brand_id, class_id@1 as class_id, category_id@2 as category_id], aggr=[]
ProjectionExec: expr=[i_brand_id@0 as brand_id, i_class_id@1 as class_id, i_category_id@2 as category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(CAST(d1.d_date_sk AS Float64)@1, ss_sold_date_sk@0)], projection=[i_brand_id@3, i_class_id@4, i_category_id@5]
CoalescePartitionsExec
ProjectionExec: expr=[d_date_sk@0 as d_date_sk, CAST(d_date_sk@0 AS Float64) as CAST(d1.d_date_sk AS Float64)]
FilterExec: d_year@1 >= 1999 AND d_year@1 <= 2001, projection=[d_date_sk@0]
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
ProjectionExec: expr=[ss_sold_date_sk@3 as ss_sold_date_sk, i_brand_id@0 as i_brand_id, i_class_id@1 as i_class_id, i_category_id@2 as i_category_id]
HashJoinExec: mode=CollectLeft, join_type=Inner, on=[(i_item_sk@0, ss_item_sk@1)], projection=[i_brand_id@1, i_class_id@2, i_category_id@3, ss_sold_date_sk@4]
CoalescePartitionsExec
DataSourceExec: file_groups={4 groups...
DataSourceExec: file_groups={16 groups...
RepartitionExec: partitioning=RoundRobinBatch(16), input_partitions=4
DataSourceExec: file_groups={4 groups...
There was a problem hiding this comment.
🤔 Could this be one new element in one node that is getting lost during protobuf serialization?
There was a problem hiding this comment.
Result of pretty_format_batches for single-node in `main`
+---------+------------+------------+---------------+--------------------+------------------+
| channel | i_brand_id | i_class_id | i_category_id | sum_sales | sum_number_sales |
+---------+------------+------------+---------------+--------------------+------------------+
| | | | | 674173362.5100003 | 155629 |
| catalog | | | | 237410857.47000003 | 46322 |
| catalog | 1001001.0 | | | 1697729.02 | 347 |
| catalog | 1001001.0 | 1.0 | | 855204.24 | 167 |
| catalog | 1001001.0 | 1.0 | 1.0 | 115019.61000000002 | 20 |
| catalog | 1001001.0 | 1.0 | 2.0 | 146344.46999999997 | 27 |
| catalog | 1001001.0 | 1.0 | 3.0 | 22597.190000000002 | 3 |
| catalog | 1001001.0 | 1.0 | 4.0 | 107555.42999999998 | 23 |
| catalog | 1001001.0 | 1.0 | 5.0 | 122521.31000000001 | 25 |
| catalog | 1001001.0 | 1.0 | 6.0 | 16883.97 | 3 |
| catalog | 1001001.0 | 1.0 | 7.0 | 46329.78 | 9 |
| catalog | 1001001.0 | 1.0 | 8.0 | 77861.85 | 13 |
| catalog | 1001001.0 | 1.0 | 9.0 | 99985.34999999999 | 21 |
| catalog | 1001001.0 | 1.0 | 10.0 | 100105.28000000001 | 23 |
| catalog | 1001001.0 | 2.0 | | 125167.21999999997 | 24 |
| catalog | 1001001.0 | 2.0 | 2.0 | 43967.969999999994 | 7 |
| catalog | 1001001.0 | 2.0 | 3.0 | 68565.37999999999 | 14 |
| catalog | 1001001.0 | 2.0 | 5.0 | 12633.87 | 3 |
| catalog | 1001001.0 | 3.0 | | 198685.08000000002 | 43 |
| catalog | 1001001.0 | 3.0 | 1.0 | 11100.79 | 5 |
| catalog | 1001001.0 | 3.0 | 2.0 | 60551.64 | 14 |
| catalog | 1001001.0 | 3.0 | 4.0 | 28455.230000000003 | 4 |
| catalog | 1001001.0 | 3.0 | 6.0 | 36821.61 | 7 |
| catalog | 1001001.0 | 3.0 | 7.0 | 17250.82 | 6 |
| catalog | 1001001.0 | 3.0 | 8.0 | 14426.920000000002 | 4 |
| catalog | 1001001.0 | 3.0 | 9.0 | 30078.07 | 3 |
| catalog | 1001001.0 | 4.0 | | 109585.96999999999 | 31 |
| catalog | 1001001.0 | 4.0 | 2.0 | 45473.85 | 13 |
| catalog | 1001001.0 | 4.0 | 3.0 | 16558.92 | 8 |
| catalog | 1001001.0 | 4.0 | 4.0 | 47553.2 | 10 |
| catalog | 1001001.0 | 5.0 | | 59790.61 | 17 |
| catalog | 1001001.0 | 5.0 | 9.0 | 30112.109999999997 | 12 |
| catalog | 1001001.0 | 5.0 | 10.0 | 29678.5 | 5 |
| catalog | 1001001.0 | 6.0 | | 10261.82 | 3 |
| catalog | 1001001.0 | 6.0 | 9.0 | 10261.82 | 3 |
| catalog | 1001001.0 | 7.0 | | 18244.94 | 3 |
| catalog | 1001001.0 | 7.0 | 7.0 | 18244.94 | 3 |
| catalog | 1001001.0 | 8.0 | | 55768.46 | 13 |
| catalog | 1001001.0 | 8.0 | 7.0 | 28872.49 | 7 |
| catalog | 1001001.0 | 8.0 | 10.0 | 26895.969999999998 | 6 |
| catalog | 1001001.0 | 9.0 | | 30944.190000000002 | 5 |
| catalog | 1001001.0 | 9.0 | 6.0 | 30944.190000000002 | 5 |
| catalog | 1001001.0 | 11.0 | | 82810.87 | 12 |
| catalog | 1001001.0 | 11.0 | 9.0 | 82810.87 | 12 |
| catalog | 1001001.0 | 12.0 | | 38427.520000000004 | 9 |
| catalog | 1001001.0 | 12.0 | 10.0 | 38427.520000000004 | 9 |
| catalog | 1001001.0 | 15.0 | | 112838.1 | 20 |
| catalog | 1001001.0 | 15.0 | 9.0 | 53508.79000000001 | 7 |
| catalog | 1001001.0 | 15.0 | 10.0 | 59329.31 | 13 |
| catalog | 1001002.0 | | | 3527831.3300000005 | 706 |
| catalog | 1001002.0 | 1.0 | | 2673969.8900000006 | 530 |
| catalog | 1001002.0 | 1.0 | 1.0 | 2673969.8900000006 | 530 |
| catalog | 1001002.0 | 2.0 | | 140831.91000000003 | 29 |
| catalog | 1001002.0 | 2.0 | 1.0 | 140831.91000000003 | 29 |
| catalog | 1001002.0 | 3.0 | | 320175.86999999994 | 67 |
| catalog | 1001002.0 | 3.0 | 1.0 | 320175.86999999994 | 67 |
| catalog | 1001002.0 | 4.0 | | 133287.96000000002 | 21 |
| catalog | 1001002.0 | 4.0 | 1.0 | 133287.96000000002 | 21 |
| catalog | 1001002.0 | 5.0 | | 16606.9 | 9 |
| catalog | 1001002.0 | 5.0 | 1.0 | 16606.9 | 9 |
| catalog | 1001002.0 | 6.0 | | 15133.01 | 4 |
| catalog | 1001002.0 | 6.0 | 1.0 | 15133.01 | 4 |
| catalog | 1001002.0 | 7.0 | | 24471.260000000002 | 10 |
| catalog | 1001002.0 | 7.0 | 1.0 | 24471.260000000002 | 10 |
| catalog | 1001002.0 | 8.0 | | 63773.049999999996 | 12 |
| catalog | 1001002.0 | 8.0 | 1.0 | 63773.049999999996 | 12 |
| catalog | 1001002.0 | 9.0 | | 9167.189999999999 | 3 |
| catalog | 1001002.0 | 9.0 | 1.0 | 9167.189999999999 | 3 |
| catalog | 1001002.0 | 12.0 | | 29108.420000000002 | 7 |
| catalog | 1001002.0 | 12.0 | 1.0 | 29108.420000000002 | 7 |
| catalog | 1001002.0 | 15.0 | | 31143.449999999997 | 6 |
| catalog | 1001002.0 | 15.0 | 1.0 | 31143.449999999997 | 6 |
| catalog | 1001002.0 | 16.0 | | 70162.42 | 8 |
| catalog | 1001002.0 | 16.0 | 1.0 | 70162.42 | 8 |
| catalog | 1002001.0 | | | 2114110.72 | 380 |
| catalog | 1002001.0 | 1.0 | | 348693.97 | 55 |
| catalog | 1002001.0 | 1.0 | 1.0 | 76392.12999999999 | 14 |
| catalog | 1002001.0 | 1.0 | 2.0 | 118394.33 | 21 |
| catalog | 1002001.0 | 1.0 | 4.0 | 29395.79 | 5 |
| catalog | 1002001.0 | 1.0 | 5.0 | 35541.97 | 4 |
| catalog | 1002001.0 | 1.0 | 6.0 | 26104.36 | 3 |
| catalog | 1002001.0 | 1.0 | 9.0 | 18793.969999999998 | 4 |
| catalog | 1002001.0 | 1.0 | 10.0 | 44071.42 | 4 |
| catalog | 1002001.0 | 2.0 | | 1233961.6999999997 | 225 |
| catalog | 1002001.0 | 2.0 | 1.0 | 239511.02000000002 | 51 |
| catalog | 1002001.0 | 2.0 | 2.0 | 147993.14 | 26 |
| catalog | 1002001.0 | 2.0 | 3.0 | 100086.92999999998 | 17 |
| catalog | 1002001.0 | 2.0 | 4.0 | 53524.41999999999 | 13 |
| catalog | 1002001.0 | 2.0 | 5.0 | 48494.06 | 10 |
| catalog | 1002001.0 | 2.0 | 6.0 | 142857.03999999998 | 20 |
| catalog | 1002001.0 | 2.0 | 7.0 | 116557.98 | 16 |
| catalog | 1002001.0 | 2.0 | 8.0 | 92743.92999999998 | 24 |
| catalog | 1002001.0 | 2.0 | 9.0 | 203943.98999999996 | 38 |
| catalog | 1002001.0 | 2.0 | 10.0 | 88249.19 | 10 |
| catalog | 1002001.0 | 3.0 | | 91054.32 | 17 |
| catalog | 1002001.0 | 3.0 | 2.0 | 25171.130000000005 | 6 |
| catalog | 1002001.0 | 3.0 | 7.0 | 27766.7 | 3 |
| catalog | 1002001.0 | 3.0 | 8.0 | 38116.49 | 8 |
| catalog | 1002001.0 | 4.0 | | 182427.69 | 32 |
| catalog | 1002001.0 | 4.0 | 1.0 | 66896.68000000001 | 15 |
+---------+------------+------------+---------------+--------------------+------------------+
Result of pretty_format_batches for single-node in this branch
+---------+------------+------------+---------------+--------------------+------------------+
| channel | i_brand_id | i_class_id | i_category_id | sum_sales | sum_number_sales |
+---------+------------+------------+---------------+--------------------+------------------+
| | | | | 47788579.86999994 | 11068 |
| | | | | 46294358.79000003 | 10609 |
| | | | | 40499040.27 | 9321 |
| | | | | 37952602.75000005 | 8889 |
| | | | | 50256292.020000026 | 11540 |
| | | | | 27943616.979999993 | 6397 |
| | | | | 43114338.769999966 | 10000 |
| | | | | 56239021.03999995 | 13003 |
| | | | | 25682800.660000004 | 6012 |
| | | | | 38529122.80999996 | 8922 |
| | | | | 59222982.15999998 | 13528 |
| | | | | 48322926.85999996 | 11228 |
| | | | | 39166012.100000024 | 9010 |
| | | | | 32661391.260000017 | 7453 |
| | | | | 43315152.09999997 | 10008 |
| | | | | 37185124.06999998 | 8641 |
| catalog | | | | 16671923.720000004 | 3228 |
| catalog | | | | 16630833.01 | 3143 |
| catalog | | | | 14038550.020000003 | 2798 |
| catalog | | | | 13135427.840000002 | 2638 |
| catalog | | | | 17604907.44 | 3399 |
| catalog | | | | 10119873.490000004 | 1959 |
| catalog | | | | 14698922.719999986 | 2919 |
| catalog | | | | 19534422.180000022 | 3931 |
| catalog | | | | 9075046.950000005 | 1756 |
| catalog | | | | 13829338.200000005 | 2662 |
| catalog | | | | 21769645.880000025 | 4087 |
| catalog | | | | 16890254.589999996 | 3343 |
| catalog | | | | 13897305.679999998 | 2680 |
| catalog | | | | 11719010.149999999 | 2217 |
| catalog | | | | 14773719.710000006 | 2947 |
| catalog | | | | 13021675.88999999 | 2615 |
| catalog | 1001001.0 | | | 188446.33000000002 | 41 |
| catalog | 1001001.0 | | | 53508.79 | 7 |
| catalog | 1001001.0 | | | 100105.28 | 23 |
| catalog | 1001001.0 | | | 114412.26999999999 | 25 |
| catalog | 1001001.0 | | | 77231.70000000001 | 15 |
| catalog | 1001001.0 | | | 174489.15000000002 | 42 |
| catalog | 1001001.0 | | | 206490.30000000002 | 38 |
| catalog | 1001001.0 | | | 45473.85 | 13 |
| catalog | 1001001.0 | | | 146344.47 | 27 |
| catalog | 1001001.0 | | | 152599.38 | 28 |
| catalog | 1001001.0 | | | 206412.37 | 36 |
| catalog | 1001001.0 | | | 119368.21 | 23 |
| catalog | 1001001.0 | | | 45014.149999999994 | 12 |
| catalog | 1001001.0 | | | 50948.8 | 14 |
| catalog | 1001001.0 | | | 16883.97 | 3 |
| catalog | 1001001.0 | 1.0 | | 100105.28 | 23 |
| catalog | 1001001.0 | 1.0 | | 99985.34999999999 | 21 |
| catalog | 1001001.0 | 1.0 | | 107555.43000000001 | 23 |
| catalog | 1001001.0 | 1.0 | | 161349.39 | 29 |
| catalog | 1001001.0 | 1.0 | | 146344.47 | 27 |
| catalog | 1001001.0 | 1.0 | | 122521.31000000001 | 25 |
| catalog | 1001001.0 | 1.0 | | 77861.85 | 13 |
| catalog | 1001001.0 | 1.0 | | 22597.190000000002 | 3 |
| catalog | 1001001.0 | 1.0 | | 16883.97 | 3 |
| catalog | 1001001.0 | 1.0 | 1.0 | 115019.61 | 20 |
| catalog | 1001001.0 | 1.0 | 2.0 | 146344.47 | 27 |
| catalog | 1001001.0 | 1.0 | 3.0 | 22597.190000000002 | 3 |
| catalog | 1001001.0 | 1.0 | 4.0 | 107555.43000000001 | 23 |
| catalog | 1001001.0 | 1.0 | 5.0 | 122521.31000000001 | 25 |
| catalog | 1001001.0 | 1.0 | 6.0 | 16883.97 | 3 |
| catalog | 1001001.0 | 1.0 | 7.0 | 46329.780000000006 | 9 |
| catalog | 1001001.0 | 1.0 | 8.0 | 77861.85 | 13 |
| catalog | 1001001.0 | 1.0 | 9.0 | 99985.34999999999 | 21 |
| catalog | 1001001.0 | 1.0 | 10.0 | 100105.28 | 23 |
| catalog | 1001001.0 | 2.0 | | 68565.38 | 14 |
| catalog | 1001001.0 | 2.0 | | 43967.969999999994 | 7 |
| catalog | 1001001.0 | 2.0 | | 12633.87 | 3 |
| catalog | 1001001.0 | 2.0 | 2.0 | 43967.969999999994 | 7 |
| catalog | 1001001.0 | 2.0 | 3.0 | 68565.38 | 14 |
| catalog | 1001001.0 | 2.0 | 5.0 | 12633.87 | 3 |
| catalog | 1001001.0 | 3.0 | | 60551.64000000001 | 14 |
| catalog | 1001001.0 | 3.0 | | 14426.92 | 4 |
| catalog | 1001001.0 | 3.0 | | 36821.61 | 7 |
| catalog | 1001001.0 | 3.0 | | 30078.07 | 3 |
| catalog | 1001001.0 | 3.0 | | 28455.23 | 4 |
| catalog | 1001001.0 | 3.0 | | 28351.61 | 11 |
| catalog | 1001001.0 | 3.0 | 1.0 | 11100.79 | 5 |
| catalog | 1001001.0 | 3.0 | 2.0 | 60551.64000000001 | 14 |
| catalog | 1001001.0 | 3.0 | 4.0 | 28455.23 | 4 |
| catalog | 1001001.0 | 3.0 | 6.0 | 36821.61 | 7 |
| catalog | 1001001.0 | 3.0 | 7.0 | 17250.82 | 6 |
| catalog | 1001001.0 | 3.0 | 8.0 | 14426.92 | 4 |
| catalog | 1001001.0 | 3.0 | 9.0 | 30078.07 | 3 |
| catalog | 1001001.0 | 4.0 | | 47553.200000000004 | 10 |
| catalog | 1001001.0 | 4.0 | | 45473.85 | 13 |
| catalog | 1001001.0 | 4.0 | | 16558.92 | 8 |
| catalog | 1001001.0 | 4.0 | 2.0 | 45473.85 | 13 |
| catalog | 1001001.0 | 4.0 | 3.0 | 16558.92 | 8 |
| catalog | 1001001.0 | 4.0 | 4.0 | 47553.200000000004 | 10 |
| catalog | 1001001.0 | 5.0 | | 29678.5 | 5 |
| catalog | 1001001.0 | 5.0 | | 30112.109999999997 | 12 |
| catalog | 1001001.0 | 5.0 | 9.0 | 30112.109999999997 | 12 |
| catalog | 1001001.0 | 5.0 | 10.0 | 29678.5 | 5 |
| catalog | 1001001.0 | 6.0 | | 10261.82 | 3 |
| catalog | 1001001.0 | 6.0 | 9.0 | 10261.82 | 3 |
| catalog | 1001001.0 | 7.0 | | 18244.94 | 3 |
| catalog | 1001001.0 | 7.0 | 7.0 | 18244.94 | 3 |
| catalog | 1001001.0 | 8.0 | | 26895.97 | 6 |
+---------+------------+------------+---------------+--------------------+------------------+
There was a problem hiding this comment.
After a careful review I don't think there's anything wrong in this project, I bet that something weird is happening upstream, so I think it should be safe to ship this and fix things upstream.
There was a problem hiding this comment.
Can I leave the double-checking for you/later? 😬
There was a problem hiding this comment.
Yes! definitely, I can take everything from here
PR targeting datafusion-contrib#291.
There's a change that broke the current distributed planner in DataFusion 52:
The plans no longer contain a
CoalesceBatchesExecnode, and the currently logic in the distributed planner was relying on single child nodes to be present aboveRepartitionExecnodes to work properly.Now, there's a chance that non-single-child nodes are placed on top of
RepartitionExec(likeHashJoinExec), which break the previous assumptions.This PR adapts the distributed planner to not rely on that logic.