== Physical Plan ==
AdaptiveSparkPlan (86)
+- == Final Plan ==
Execute InsertIntoHadoopFsRelationCommand (81)
+- WriteFiles (80)
+- * Sort (79)
+- ShuffleQueryStage (78), Statistics(sizeInBytes=499.8 KiB, rowCount=1.20E+3)
+- Exchange (77)
+- TableCacheQueryStage (76), Statistics(sizeInBytes=423.6 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (75)
+- == Final Plan ==
* Project (72)
+- * Project (71)
+- TableCacheQueryStage (70), Statistics(sizeInBytes=383.8 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- AdaptiveSparkPlan (69)
+- == Final Plan ==
* SerializeFromObject (65)
+- MapPartitions (64)
+- DeserializeToObject (63)
+- TableCacheQueryStage (62), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- AdaptiveSparkPlan (61)
+- == Final Plan ==
ShuffleQueryStage (59), Statistics(sizeInBytes=434.4 KiB, rowCount=1.20E+3)
+- Exchange (58)
+- TableCacheQueryStage (57), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Exchange (60)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
SerializeFromObject (68)
+- MapPartitions (67)
+- DeserializeToObject (66)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- AdaptiveSparkPlan (61)
+- == Final Plan ==
ShuffleQueryStage (59), Statistics(sizeInBytes=434.4 KiB, rowCount=1.20E+3)
+- Exchange (58)
+- TableCacheQueryStage (57), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Exchange (60)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Project (74)
+- Project (73)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- AdaptiveSparkPlan (69)
+- == Final Plan ==
* SerializeFromObject (65)
+- MapPartitions (64)
+- DeserializeToObject (63)
+- TableCacheQueryStage (62), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- AdaptiveSparkPlan (61)
+- == Final Plan ==
ShuffleQueryStage (59), Statistics(sizeInBytes=434.4 KiB, rowCount=1.20E+3)
+- Exchange (58)
+- TableCacheQueryStage (57), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Exchange (60)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
SerializeFromObject (68)
+- MapPartitions (67)
+- DeserializeToObject (66)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- AdaptiveSparkPlan (61)
+- == Final Plan ==
ShuffleQueryStage (59), Statistics(sizeInBytes=434.4 KiB, rowCount=1.20E+3)
+- Exchange (58)
+- TableCacheQueryStage (57), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Exchange (60)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Execute InsertIntoHadoopFsRelationCommand (85)
+- WriteFiles (84)
+- Sort (83)
+- Exchange (82)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (75)
+- == Final Plan ==
* Project (72)
+- * Project (71)
+- TableCacheQueryStage (70), Statistics(sizeInBytes=383.8 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- AdaptiveSparkPlan (69)
+- == Final Plan ==
* SerializeFromObject (65)
+- MapPartitions (64)
+- DeserializeToObject (63)
+- TableCacheQueryStage (62), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- AdaptiveSparkPlan (61)
+- == Final Plan ==
ShuffleQueryStage (59), Statistics(sizeInBytes=434.4 KiB, rowCount=1.20E+3)
+- Exchange (58)
+- TableCacheQueryStage (57), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Exchange (60)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
SerializeFromObject (68)
+- MapPartitions (67)
+- DeserializeToObject (66)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- AdaptiveSparkPlan (61)
+- == Final Plan ==
ShuffleQueryStage (59), Statistics(sizeInBytes=434.4 KiB, rowCount=1.20E+3)
+- Exchange (58)
+- TableCacheQueryStage (57), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Exchange (60)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Project (74)
+- Project (73)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- AdaptiveSparkPlan (69)
+- == Final Plan ==
* SerializeFromObject (65)
+- MapPartitions (64)
+- DeserializeToObject (63)
+- TableCacheQueryStage (62), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- AdaptiveSparkPlan (61)
+- == Final Plan ==
ShuffleQueryStage (59), Statistics(sizeInBytes=434.4 KiB, rowCount=1.20E+3)
+- Exchange (58)
+- TableCacheQueryStage (57), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Exchange (60)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
SerializeFromObject (68)
+- MapPartitions (67)
+- DeserializeToObject (66)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- AdaptiveSparkPlan (61)
+- == Final Plan ==
ShuffleQueryStage (59), Statistics(sizeInBytes=434.4 KiB, rowCount=1.20E+3)
+- Exchange (58)
+- TableCacheQueryStage (57), Statistics(sizeInBytes=379.1 KiB, rowCount=1.20E+3)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
+- == Initial Plan ==
Exchange (60)
+- InMemoryTableScan (7)
+- InMemoryRelation (8)
+- AdaptiveSparkPlan (56)
+- == Final Plan ==
* Project (38)
+- * Generate (37)
+- * Project (36)
+- * Project (35)
+- * BroadcastHashJoin LeftOuter BuildRight (34)
:- ShuffleQueryStage (15), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (14)
: +- ShuffleQueryStage (13), Statistics(sizeInBytes=304.9 KiB, rowCount=179)
: +- Exchange (12)
: +- * Filter (11)
: +- * ColumnarToRow (10)
: +- Scan parquet (9)
+- BroadcastQueryStage (33), Statistics(sizeInBytes=2.0 MiB, rowCount=179)
+- BroadcastExchange (32)
+- AQEShuffleRead (31)
+- ShuffleQueryStage (30), Statistics(sizeInBytes=58.3 KiB, rowCount=179)
+- Exchange (29)
+- * Project (28)
+- * BroadcastHashJoin LeftOuter BuildRight (27)
:- ShuffleQueryStage (19), Statistics(sizeInBytes=28.9 KiB, rowCount=179)
: +- Exchange (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (26), Statistics(sizeInBytes=2.0 MiB, rowCount=1)
+- BroadcastExchange (25)
+- ShuffleQueryStage (24), Statistics(sizeInBytes=208.0 B, rowCount=1)
+- Exchange (23)
+- * Filter (22)
+- * ColumnarToRow (21)
+- Scan parquet (20)
+- == Initial Plan ==
Project (55)
+- Generate (54)
+- Project (53)
+- Project (52)
+- SortMergeJoin LeftOuter (51)
:- Sort (42)
: +- Exchange (41)
: +- Exchange (40)
: +- Filter (39)
: +- Scan parquet (9)
+- Sort (50)
+- Exchange (49)
+- Project (48)
+- BroadcastHashJoin LeftOuter BuildRight (47)
:- Exchange (43)
: +- Scan parquet (16)
+- BroadcastExchange (46)
+- Exchange (45)
+- Filter (44)
+- Scan parquet (20)
(1) InMemoryTableScan
Output [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
Arguments: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
(2) InMemoryRelation
Arguments: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@763c116,StorageLevel(disk, memory, 2 replicas),AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(1) Project [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, null AS orderProposalItemGroupId#35709, cast((monotonically_increasing_id() % 9999999999) as string) AS orderProposalItemId#35729]
+- *(1) Project [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, concat(0, _, cast(binId#35328 as string), _, 10000000096) AS shardId#35654, monotonically_increasing_id() AS worklistShardItemId#35690L]
+- TableCacheQueryStage 0
+- InMemoryTableScan [availabilityDateTime#35319, binId#35328, deliveryDateTime#35315, mrpController#35321, nextAvailabilityDateTime#35320, orderDateTime#35318, orderProposalHorizonGroupingId#35326L, orderProposalId#35325L, plant#35314, product#35317, purchasingGroup#35324, purchasingOrg#35323, sourceOfSupplyUuid#35322, splitIndicator#35327L, subrange#35316, supplier#35313, supplierGroup#35312]
+- InMemoryRelation [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, binId#35328], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(1) SerializeFromObject [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, supplierGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplierGroup#35312, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, supplier), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplier#35313, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, plant), StringType, ObjectType(class java.lang.String)), true, false, true) AS plant#35314, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, deliveryDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS deliveryDateTime#35315, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, subrange), StringType, ObjectType(class java.lang.String)), true, false, true) AS subrange#35316, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, product), StringType, ObjectType(class java.lang.String)), true, false, true) AS product#35317, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, orderDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS orderDateTime#35318, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, availabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS availabilityDateTime#35319, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, nextAvailabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS nextAvailabilityDateTime#35320, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, mrpController), StringType, ObjectType(class java.lang.String)), true, false, true) AS mrpController#35321, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, sourceOfSupplyUuid), StringType, ObjectType(class java.lang.String)), true, false, true) AS sourceOfSupplyUuid#35322, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, purchasingOrg), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingOrg#35323, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, purchasingGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingGroup#35324, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalId#35325L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, orderProposalHorizonGroupingId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalHorizonGroupingId#35326L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 15, splitIndicator), LongType, ObjectType(class java.lang.Long)).longValue) AS splitIndicator#35327L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 16, binId), IntegerType, ObjectType(class java.lang.Integer)).intValue) AS binId#35328]
+- MapPartitions org.apache.spark.sql.Dataset$$Lambda$7144/0x00007f71e9afe200@20787079, obj#35311: org.apache.spark.sql.Row
+- DeserializeToObject createexternalrow(supplierGroup#32467.toString, supplier#32468.toString, plant#32469.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, deliveryDateTime#32470, true, false, true), subrange#32471.toString, product#32783.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, orderDateTime#32784, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, availabilityDateTime#32785, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, nextAvailabilityDateTime#32786, true, false, true), mrpController#32787.toString, sourceOfSupplyUuid#32788.toString, purchasingOrg#32789.toString, purchasingGroup#32790.toString, staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalId#33183L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalHorizonGroupingId#33204L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, splitIndicator#33604L, true, false, true), StructField(supplierGroup,StringType,true), StructField(supplier,StringType,true), StructField(plant,StringType,true), StructField(deliveryDateTime,TimestampType,true), StructField(subrange,StringType,true), StructField(product,StringType,true), StructField(orderDateTime,TimestampType,true), StructField(availabilityDateTime,TimestampType,true), ... 8 more fields), obj#35310: org.apache.spark.sql.Row
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
ShuffleQueryStage 1
+- Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11149]
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11089]
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
SerializeFromObject [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, supplierGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplierGroup#35312, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, supplier), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplier#35313, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, plant), StringType, ObjectType(class java.lang.String)), true, false, true) AS plant#35314, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, deliveryDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS deliveryDateTime#35315, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, subrange), StringType, ObjectType(class java.lang.String)), true, false, true) AS subrange#35316, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, product), StringType, ObjectType(class java.lang.String)), true, false, true) AS product#35317, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, orderDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS orderDateTime#35318, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, availabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS availabilityDateTime#35319, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, nextAvailabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS nextAvailabilityDateTime#35320, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, mrpController), StringType, ObjectType(class java.lang.String)), true, false, true) AS mrpController#35321, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, sourceOfSupplyUuid), StringType, ObjectType(class java.lang.String)), true, false, true) AS sourceOfSupplyUuid#35322, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, purchasingOrg), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingOrg#35323, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, purchasingGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingGroup#35324, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalId#35325L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, orderProposalHorizonGroupingId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalHorizonGroupingId#35326L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 15, splitIndicator), LongType, ObjectType(class java.lang.Long)).longValue) AS splitIndicator#35327L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 16, binId), IntegerType, ObjectType(class java.lang.Integer)).intValue) AS binId#35328]
+- MapPartitions org.apache.spark.sql.Dataset$$Lambda$7144/0x00007f71e9afe200@20787079, obj#35311: org.apache.spark.sql.Row
+- DeserializeToObject createexternalrow(supplierGroup#32467.toString, supplier#32468.toString, plant#32469.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, deliveryDateTime#32470, true, false, true), subrange#32471.toString, product#32783.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, orderDateTime#32784, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, availabilityDateTime#32785, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, nextAvailabilityDateTime#32786, true, false, true), mrpController#32787.toString, sourceOfSupplyUuid#32788.toString, purchasingOrg#32789.toString, purchasingGroup#32790.toString, staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalId#33183L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalHorizonGroupingId#33204L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, splitIndicator#33604L, true, false, true), StructField(supplierGroup,StringType,true), StructField(supplier,StringType,true), StructField(plant,StringType,true), StructField(deliveryDateTime,TimestampType,true), StructField(subrange,StringType,true), StructField(product,StringType,true), StructField(orderDateTime,TimestampType,true), StructField(availabilityDateTime,TimestampType,true), ... 8 more fields), obj#35310: org.apache.spark.sql.Row
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
ShuffleQueryStage 1
+- Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11149]
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11089]
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, null AS orderProposalItemGroupId#35709, cast((monotonically_increasing_id() % 9999999999) as string) AS orderProposalItemId#35729]
+- Project [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, concat(0, _, cast(binId#35328 as string), _, 10000000096) AS shardId#35654, monotonically_increasing_id() AS worklistShardItemId#35690L]
+- InMemoryTableScan [availabilityDateTime#35319, binId#35328, deliveryDateTime#35315, mrpController#35321, nextAvailabilityDateTime#35320, orderDateTime#35318, orderProposalHorizonGroupingId#35326L, orderProposalId#35325L, plant#35314, product#35317, purchasingGroup#35324, purchasingOrg#35323, sourceOfSupplyUuid#35322, splitIndicator#35327L, subrange#35316, supplier#35313, supplierGroup#35312]
+- InMemoryRelation [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, binId#35328], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(1) SerializeFromObject [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, supplierGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplierGroup#35312, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, supplier), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplier#35313, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, plant), StringType, ObjectType(class java.lang.String)), true, false, true) AS plant#35314, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, deliveryDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS deliveryDateTime#35315, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, subrange), StringType, ObjectType(class java.lang.String)), true, false, true) AS subrange#35316, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, product), StringType, ObjectType(class java.lang.String)), true, false, true) AS product#35317, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, orderDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS orderDateTime#35318, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, availabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS availabilityDateTime#35319, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, nextAvailabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS nextAvailabilityDateTime#35320, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, mrpController), StringType, ObjectType(class java.lang.String)), true, false, true) AS mrpController#35321, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, sourceOfSupplyUuid), StringType, ObjectType(class java.lang.String)), true, false, true) AS sourceOfSupplyUuid#35322, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, purchasingOrg), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingOrg#35323, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, purchasingGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingGroup#35324, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalId#35325L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, orderProposalHorizonGroupingId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalHorizonGroupingId#35326L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 15, splitIndicator), LongType, ObjectType(class java.lang.Long)).longValue) AS splitIndicator#35327L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 16, binId), IntegerType, ObjectType(class java.lang.Integer)).intValue) AS binId#35328]
+- MapPartitions org.apache.spark.sql.Dataset$$Lambda$7144/0x00007f71e9afe200@20787079, obj#35311: org.apache.spark.sql.Row
+- DeserializeToObject createexternalrow(supplierGroup#32467.toString, supplier#32468.toString, plant#32469.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, deliveryDateTime#32470, true, false, true), subrange#32471.toString, product#32783.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, orderDateTime#32784, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, availabilityDateTime#32785, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, nextAvailabilityDateTime#32786, true, false, true), mrpController#32787.toString, sourceOfSupplyUuid#32788.toString, purchasingOrg#32789.toString, purchasingGroup#32790.toString, staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalId#33183L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalHorizonGroupingId#33204L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, splitIndicator#33604L, true, false, true), StructField(supplierGroup,StringType,true), StructField(supplier,StringType,true), StructField(plant,StringType,true), StructField(deliveryDateTime,TimestampType,true), StructField(subrange,StringType,true), StructField(product,StringType,true), StructField(orderDateTime,TimestampType,true), StructField(availabilityDateTime,TimestampType,true), ... 8 more fields), obj#35310: org.apache.spark.sql.Row
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
ShuffleQueryStage 1
+- Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11149]
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11089]
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
SerializeFromObject [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, supplierGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplierGroup#35312, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, supplier), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplier#35313, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, plant), StringType, ObjectType(class java.lang.String)), true, false, true) AS plant#35314, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, deliveryDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS deliveryDateTime#35315, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, subrange), StringType, ObjectType(class java.lang.String)), true, false, true) AS subrange#35316, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, product), StringType, ObjectType(class java.lang.String)), true, false, true) AS product#35317, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, orderDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS orderDateTime#35318, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, availabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS availabilityDateTime#35319, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, nextAvailabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS nextAvailabilityDateTime#35320, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, mrpController), StringType, ObjectType(class java.lang.String)), true, false, true) AS mrpController#35321, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, sourceOfSupplyUuid), StringType, ObjectType(class java.lang.String)), true, false, true) AS sourceOfSupplyUuid#35322, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, purchasingOrg), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingOrg#35323, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, purchasingGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingGroup#35324, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalId#35325L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, orderProposalHorizonGroupingId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalHorizonGroupingId#35326L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 15, splitIndicator), LongType, ObjectType(class java.lang.Long)).longValue) AS splitIndicator#35327L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 16, binId), IntegerType, ObjectType(class java.lang.Integer)).intValue) AS binId#35328]
+- MapPartitions org.apache.spark.sql.Dataset$$Lambda$7144/0x00007f71e9afe200@20787079, obj#35311: org.apache.spark.sql.Row
+- DeserializeToObject createexternalrow(supplierGroup#32467.toString, supplier#32468.toString, plant#32469.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, deliveryDateTime#32470, true, false, true), subrange#32471.toString, product#32783.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, orderDateTime#32784, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, availabilityDateTime#32785, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, nextAvailabilityDateTime#32786, true, false, true), mrpController#32787.toString, sourceOfSupplyUuid#32788.toString, purchasingOrg#32789.toString, purchasingGroup#32790.toString, staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalId#33183L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalHorizonGroupingId#33204L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, splitIndicator#33604L, true, false, true), StructField(supplierGroup,StringType,true), StructField(supplier,StringType,true), StructField(plant,StringType,true), StructField(deliveryDateTime,TimestampType,true), StructField(subrange,StringType,true), StructField(product,StringType,true), StructField(orderDateTime,TimestampType,true), StructField(availabilityDateTime,TimestampType,true), ... 8 more fields), obj#35310: org.apache.spark.sql.Row
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
ShuffleQueryStage 1
+- Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11149]
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11089]
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
,None)
(3) InMemoryTableScan
Output [17]: [availabilityDateTime#35319, binId#35328, deliveryDateTime#35315, mrpController#35321, nextAvailabilityDateTime#35320, orderDateTime#35318, orderProposalHorizonGroupingId#35326L, orderProposalId#35325L, plant#35314, product#35317, purchasingGroup#35324, purchasingOrg#35323, sourceOfSupplyUuid#35322, splitIndicator#35327L, subrange#35316, supplier#35313, supplierGroup#35312]
Arguments: [availabilityDateTime#35319, binId#35328, deliveryDateTime#35315, mrpController#35321, nextAvailabilityDateTime#35320, orderDateTime#35318, orderProposalHorizonGroupingId#35326L, orderProposalId#35325L, plant#35314, product#35317, purchasingGroup#35324, purchasingOrg#35323, sourceOfSupplyUuid#35322, splitIndicator#35327L, subrange#35316, supplier#35313, supplierGroup#35312]
(4) InMemoryRelation
Arguments: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, binId#35328], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@763c116,StorageLevel(disk, memory, 2 replicas),AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(1) SerializeFromObject [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, supplierGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplierGroup#35312, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, supplier), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplier#35313, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, plant), StringType, ObjectType(class java.lang.String)), true, false, true) AS plant#35314, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, deliveryDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS deliveryDateTime#35315, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, subrange), StringType, ObjectType(class java.lang.String)), true, false, true) AS subrange#35316, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, product), StringType, ObjectType(class java.lang.String)), true, false, true) AS product#35317, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, orderDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS orderDateTime#35318, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, availabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS availabilityDateTime#35319, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, nextAvailabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS nextAvailabilityDateTime#35320, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, mrpController), StringType, ObjectType(class java.lang.String)), true, false, true) AS mrpController#35321, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, sourceOfSupplyUuid), StringType, ObjectType(class java.lang.String)), true, false, true) AS sourceOfSupplyUuid#35322, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, purchasingOrg), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingOrg#35323, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, purchasingGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingGroup#35324, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalId#35325L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, orderProposalHorizonGroupingId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalHorizonGroupingId#35326L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 15, splitIndicator), LongType, ObjectType(class java.lang.Long)).longValue) AS splitIndicator#35327L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 16, binId), IntegerType, ObjectType(class java.lang.Integer)).intValue) AS binId#35328]
+- MapPartitions org.apache.spark.sql.Dataset$$Lambda$7144/0x00007f71e9afe200@20787079, obj#35311: org.apache.spark.sql.Row
+- DeserializeToObject createexternalrow(supplierGroup#32467.toString, supplier#32468.toString, plant#32469.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, deliveryDateTime#32470, true, false, true), subrange#32471.toString, product#32783.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, orderDateTime#32784, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, availabilityDateTime#32785, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, nextAvailabilityDateTime#32786, true, false, true), mrpController#32787.toString, sourceOfSupplyUuid#32788.toString, purchasingOrg#32789.toString, purchasingGroup#32790.toString, staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalId#33183L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalHorizonGroupingId#33204L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, splitIndicator#33604L, true, false, true), StructField(supplierGroup,StringType,true), StructField(supplier,StringType,true), StructField(plant,StringType,true), StructField(deliveryDateTime,TimestampType,true), StructField(subrange,StringType,true), StructField(product,StringType,true), StructField(orderDateTime,TimestampType,true), StructField(availabilityDateTime,TimestampType,true), ... 8 more fields), obj#35310: org.apache.spark.sql.Row
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
ShuffleQueryStage 1
+- Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11149]
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11089]
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
SerializeFromObject [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, supplierGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplierGroup#35312, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, supplier), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplier#35313, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, plant), StringType, ObjectType(class java.lang.String)), true, false, true) AS plant#35314, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, deliveryDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS deliveryDateTime#35315, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, subrange), StringType, ObjectType(class java.lang.String)), true, false, true) AS subrange#35316, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, product), StringType, ObjectType(class java.lang.String)), true, false, true) AS product#35317, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, orderDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS orderDateTime#35318, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, availabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS availabilityDateTime#35319, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, nextAvailabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS nextAvailabilityDateTime#35320, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, mrpController), StringType, ObjectType(class java.lang.String)), true, false, true) AS mrpController#35321, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, sourceOfSupplyUuid), StringType, ObjectType(class java.lang.String)), true, false, true) AS sourceOfSupplyUuid#35322, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, purchasingOrg), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingOrg#35323, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, purchasingGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingGroup#35324, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalId#35325L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, orderProposalHorizonGroupingId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalHorizonGroupingId#35326L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 15, splitIndicator), LongType, ObjectType(class java.lang.Long)).longValue) AS splitIndicator#35327L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 16, binId), IntegerType, ObjectType(class java.lang.Integer)).intValue) AS binId#35328]
+- MapPartitions org.apache.spark.sql.Dataset$$Lambda$7144/0x00007f71e9afe200@20787079, obj#35311: org.apache.spark.sql.Row
+- DeserializeToObject createexternalrow(supplierGroup#32467.toString, supplier#32468.toString, plant#32469.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, deliveryDateTime#32470, true, false, true), subrange#32471.toString, product#32783.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, orderDateTime#32784, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, availabilityDateTime#32785, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, nextAvailabilityDateTime#32786, true, false, true), mrpController#32787.toString, sourceOfSupplyUuid#32788.toString, purchasingOrg#32789.toString, purchasingGroup#32790.toString, staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalId#33183L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalHorizonGroupingId#33204L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, splitIndicator#33604L, true, false, true), StructField(supplierGroup,StringType,true), StructField(supplier,StringType,true), StructField(plant,StringType,true), StructField(deliveryDateTime,TimestampType,true), StructField(subrange,StringType,true), StructField(product,StringType,true), StructField(orderDateTime,TimestampType,true), StructField(availabilityDateTime,TimestampType,true), ... 8 more fields), obj#35310: org.apache.spark.sql.Row
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
ShuffleQueryStage 1
+- Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11149]
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11089]
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
,None)
(5) InMemoryTableScan
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
(6) InMemoryRelation
Arguments: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@763c116,StorageLevel(disk, memory, 2 replicas),AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
ShuffleQueryStage 1
+- Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11149]
+- TableCacheQueryStage 0
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=11089]
+- InMemoryTableScan [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
+- InMemoryRelation [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], StorageLevel(disk, memory, 2 replicas)
+- AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
,None)
(7) InMemoryTableScan
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
(8) InMemoryRelation
Arguments: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@763c116,StorageLevel(disk, memory, 2 replicas),AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- *(5) Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- *(5) Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- *(5) BroadcastHashJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter, BuildRight, false
:- ShuffleQueryStage 5
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
: +- ShuffleQueryStage 0
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
: +- *(1) Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- *(1) ColumnarToRow
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- BroadcastQueryStage 6
+- BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
+- AQEShuffleRead local
+- ShuffleQueryStage 4
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
+- *(4) Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- *(4) BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- ShuffleQueryStage 1
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
: +- *(2) ColumnarToRow
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastQueryStage 3
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
+- ShuffleQueryStage 2
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
+- *(3) Filter isnotnull(orderGroupingProfile#32577)
+- *(3) ColumnarToRow
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
+- == Initial Plan ==
Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
+- Generate explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
+- Project [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
+- SortMergeJoin [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)], [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)], LeftOuter
:- Sort [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
: +- Exchange hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
: +- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
: +- Filter ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
: +- FileScan parquet [supplierGroup#32467,supplier#32468,plant#32469,deliveryDateTime#32470,subrange#32471,productOrderSchedule#32472] Batched: true, DataFilters: [(size(productOrderSchedule#32472, true) > 0), isnotnull(productOrderSchedule#32472)], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [IsNotNull(productOrderSchedule)], ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:stri...
+- Sort [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
+- Project [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
+- BroadcastHashJoin [orderGroupingProfile#32483], [orderGroupingProfile#32577], LeftOuter, BuildRight, false
:- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
: +- FileScan parquet [supplier#32479,subrange#32480,plant#32481,deliverydatetime#32482,ordergroupingprofile#32483,supplierGroup#32484,locationGroup#32485] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofi...
+- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
+- Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
+- Filter isnotnull(orderGroupingProfile#32577)
+- FileScan parquet [orderGroupingProfile#32577,orderGroupCriteria#32579,orderSplitCriteria#32580] Batched: true, DataFilters: [isnotnull(orderGroupingProfile#32577)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(orderGroupingProfile)], ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:bo...
,None)
(9) Scan parquet
Output [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/grouping-worklist/10000000096]
PushedFilters: [IsNotNull(productOrderSchedule)]
ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,productOrderSchedule:array<struct<product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,mrpController:string,sourceOfSupplyUuid:string,purchasingOrg:string,purchasingGroup:string>>>
(10) ColumnarToRow [codegen id : 1]
Input [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
(11) Filter [codegen id : 1]
Input [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Condition : ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
(12) Exchange
Input [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10605]
(13) ShuffleQueryStage
Output [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Arguments: 0
(14) Exchange
Input [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Arguments: hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10613]
(15) ShuffleQueryStage
Output [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Arguments: 5
(16) Scan parquet
Output [7]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000000096]
ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofile:string,supplierGroup:string,locationGroup:string>
(17) ColumnarToRow [codegen id : 2]
Input [7]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485]
(18) Exchange
Input [7]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10633]
(19) ShuffleQueryStage
Output [7]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485]
Arguments: 1
(20) Scan parquet
Output [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-dl-stream-service/prp/order-grouping-profile]
PushedFilters: [IsNotNull(orderGroupingProfile)]
ReadSchema: struct<orderGroupingProfile:string,orderGroupCriteria:struct<supplier:boolean,supplierSubrange:boolean,receivingLocation:boolean,deliveryDate:boolean,orderDate:boolean,purchasingOrg:boolean,purchasingGroup:boolean,mrpController:boolean>,orderSplitCriteria:struct<supplier:boolean,supplierSubrange:boolean,receivingLocation:boolean,deliveryDate:boolean,multiplesOrderQuantity:boolean,orderDate:boolean,purchasingOrg:boolean,purchasingGroup:boolean,mrpController:boolean>>
(21) ColumnarToRow [codegen id : 3]
Input [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
(22) Filter [codegen id : 3]
Input [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Condition : isnotnull(orderGroupingProfile#32577)
(23) Exchange
Input [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10646]
(24) ShuffleQueryStage
Output [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: 2
(25) BroadcastExchange
Input [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10654]
(26) BroadcastQueryStage
Output [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: 3
(27) BroadcastHashJoin [codegen id : 4]
Left keys [1]: [orderGroupingProfile#32483]
Right keys [1]: [orderGroupingProfile#32577]
Join type: LeftOuter
Join condition: None
(28) Project [codegen id : 4]
Output [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Input [10]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
(29) Exchange
Input [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10810]
(30) ShuffleQueryStage
Output [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: 4
(31) AQEShuffleRead
Input [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: local
(32) BroadcastExchange
Input [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[5, string, true], ), isnull(input[5, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, timestamp, true], 1970-01-01 00:00:00), isnull(input[3, timestamp, true])),false), [plan_id=10888]
(33) BroadcastQueryStage
Output [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: 6
(34) BroadcastHashJoin [codegen id : 5]
Left keys [10]: [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)]
Right keys [10]: [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)]
Join type: LeftOuter
Join condition: None
(35) Project [codegen id : 5]
Output [11]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
Input [15]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
(36) Project [codegen id : 5]
Output [23]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
Input [11]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733, orderSplitCriteria#32755, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
(37) Generate [codegen id : 5]
Input [23]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
Arguments: explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
(38) Project [codegen id : 5]
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
Input [23]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688, productOrderScheduleExploded#32769]
(39) Filter
Input [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Condition : ((size(productOrderSchedule#32472, true) > 0) AND isnotnull(productOrderSchedule#32472))
(40) Exchange
Input [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10548]
(41) Exchange
Input [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Arguments: hashpartitioning(coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470), 25), ENSURE_REQUIREMENTS, [plan_id=10562]
(42) Sort
Input [6]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472]
Arguments: [coalesce(supplierGroup#32467, ) ASC NULLS FIRST, isnull(supplierGroup#32467) ASC NULLS FIRST, coalesce(supplier#32468, ) ASC NULLS FIRST, isnull(supplier#32468) ASC NULLS FIRST, coalesce(subrange#32471, ) ASC NULLS FIRST, isnull(subrange#32471) ASC NULLS FIRST, coalesce(plant#32469, ) ASC NULLS FIRST, isnull(plant#32469) ASC NULLS FIRST, coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32470) ASC NULLS FIRST], false, 0
(43) Exchange
Input [7]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10535]
(44) Filter
Input [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Condition : isnotnull(orderGroupingProfile#32577)
(45) Exchange
Input [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=10549]
(46) BroadcastExchange
Input [3]: [orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=10557]
(47) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#32483]
Right keys [1]: [orderGroupingProfile#32577]
Join type: LeftOuter
Join condition: None
(48) Project
Output [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Input [10]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupingProfile#32577, orderGroupCriteria#32579, orderSplitCriteria#32580]
(49) Exchange
Input [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: hashpartitioning(coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482), 25), ENSURE_REQUIREMENTS, [plan_id=10563]
(50) Sort
Input [9]: [supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
Arguments: [coalesce(supplierGroup#32484, ) ASC NULLS FIRST, isnull(supplierGroup#32484) ASC NULLS FIRST, coalesce(supplier#32479, ) ASC NULLS FIRST, isnull(supplier#32479) ASC NULLS FIRST, coalesce(subrange#32480, ) ASC NULLS FIRST, isnull(subrange#32480) ASC NULLS FIRST, coalesce(plant#32481, ) ASC NULLS FIRST, isnull(plant#32481) ASC NULLS FIRST, coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#32482) ASC NULLS FIRST], false, 0
(51) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#32467, ), isnull(supplierGroup#32467), coalesce(supplier#32468, ), isnull(supplier#32468), coalesce(subrange#32471, ), isnull(subrange#32471), coalesce(plant#32469, ), isnull(plant#32469), coalesce(deliveryDateTime#32470, 1970-01-01 00:00:00), isnull(deliveryDateTime#32470)]
Right keys [10]: [coalesce(supplierGroup#32484, ), isnull(supplierGroup#32484), coalesce(supplier#32479, ), isnull(supplier#32479), coalesce(subrange#32480, ), isnull(subrange#32480), coalesce(plant#32481, ), isnull(plant#32481), coalesce(deliveryDateTime#32482, 1970-01-01 00:00:00), isnull(deliveryDateTime#32482)]
Join type: LeftOuter
Join condition: None
(52) Project
Output [11]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, CASE WHEN isnull(orderGroupCriteria#32579) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#32579 END AS orderGroupCriteria#32733, CASE WHEN isnull(orderSplitCriteria#32580) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#32580 END AS orderSplitCriteria#32755, orderGroupingProfile#32483, coalesce(supplierGroup#32467, supplier#32468) AS supplierOrGroup#32676, coalesce(locationGroup#32485, plant#32469) AS locationOrGroup#32688]
Input [15]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, supplier#32479, subrange#32480, plant#32481, deliverydatetime#32482, ordergroupingprofile#32483, supplierGroup#32484, locationGroup#32485, orderGroupCriteria#32579, orderSplitCriteria#32580]
(53) Project
Output [23]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733.supplier AS _extract_supplier#33643, orderGroupCriteria#32733.deliveryDate AS _extract_deliveryDate#33644, orderGroupCriteria#32733.orderDate AS _extract_orderDate#33645, orderGroupCriteria#32733.supplierSubrange AS _extract_supplierSubrange#33646, orderGroupCriteria#32733.purchasingOrg AS _extract_purchasingOrg#33647, orderGroupCriteria#32733.mrpController AS _extract_mrpController#33648, orderGroupCriteria#32733.purchasingGroup AS _extract_purchasingGroup#33649, orderSplitCriteria#32755.purchasingOrg AS _extract_purchasingOrg#33650, orderSplitCriteria#32755.deliveryDate AS _extract_deliveryDate#33651, orderSplitCriteria#32755.supplier AS _extract_supplier#33652, orderSplitCriteria#32755.supplierSubrange AS _extract_supplierSubrange#33653, orderSplitCriteria#32755.orderDate AS _extract_orderDate#33654, orderSplitCriteria#32755.mrpController AS _extract_mrpController#33655, orderSplitCriteria#32755.purchasingGroup AS _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
Input [11]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, orderGroupCriteria#32733, orderSplitCriteria#32755, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
(54) Generate
Input [23]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderSchedule#32472, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688]
Arguments: explode(productOrderSchedule#32472), [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688], false, [productOrderScheduleExploded#32769]
(55) Project
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, productOrderScheduleExploded#32769.product AS product#32783, productOrderScheduleExploded#32769.orderDateTime AS orderDateTime#32784, productOrderScheduleExploded#32769.availabilityDateTime AS availabilityDateTime#32785, productOrderScheduleExploded#32769.nextAvailabilityDateTime AS nextAvailabilityDateTime#32786, productOrderScheduleExploded#32769.mrpController AS mrpController#32787, productOrderScheduleExploded#32769.sourceOfSupplyUuid AS sourceOfSupplyUuid#32788, productOrderScheduleExploded#32769.purchasingOrg AS purchasingOrg#32789, productOrderScheduleExploded#32769.purchasingGroup AS purchasingGroup#32790, xxhash64(CASE WHEN (_extract_supplier#33643 <=> true) THEN supplierOrGroup#32676 END, CASE WHEN (_extract_deliveryDate#33644 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_orderDate#33645 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_supplierSubrange#33646 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_purchasingOrg#33647 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_mrpController#33648 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33649 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, locationOrGroup#32688, ((((((((CASE WHEN (isnull(supplierOrGroup#32676) AND (_extract_supplier#33643 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33644 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33645 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33646 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33647 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33648 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33649 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#32688) THEN 256 ELSE 0 END), 10000000096, 42) AS orderProposalId#33183L, 0 AS orderProposalHorizonGroupingId#33204L, xxhash64(CASE WHEN (_extract_purchasingOrg#33650 <=> true) THEN productOrderScheduleExploded#32769.purchasingOrg END, CASE WHEN (_extract_deliveryDate#33651 <=> true) THEN deliveryDateTime#32470 END, CASE WHEN (_extract_supplier#33652 <=> true) THEN supplier#32468 END, CASE WHEN (_extract_supplierSubrange#33653 <=> true) THEN subrange#32471 END, CASE WHEN (_extract_orderDate#33654 <=> true) THEN productOrderScheduleExploded#32769.orderDateTime END, CASE WHEN (_extract_mrpController#33655 <=> true) THEN productOrderScheduleExploded#32769.mrpController END, orderGroupingProfile#32483, CASE WHEN (_extract_purchasingGroup#33656 <=> true) THEN productOrderScheduleExploded#32769.purchasingGroup END, plant#32469, ((((((((CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingOrg) AND (_extract_purchasingOrg#33650 <=> true)) THEN 1 ELSE 0 END + CASE WHEN (isnull(deliveryDateTime#32470) AND (_extract_deliveryDate#33651 <=> true)) THEN 2 ELSE 0 END) + CASE WHEN (isnull(supplier#32468) AND (_extract_supplier#33652 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(subrange#32471) AND (_extract_supplierSubrange#33653 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.orderDateTime) AND (_extract_orderDate#33654 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.mrpController) AND (_extract_mrpController#33655 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN isnull(orderGroupingProfile#32483) THEN 64 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#32769.purchasingGroup) AND (_extract_purchasingGroup#33656 <=> true)) THEN 128 ELSE 0 END) + CASE WHEN isnull(plant#32469) THEN 256 ELSE 0 END), 10000000096, 42) AS splitIndicator#33604L]
Input [23]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, _extract_supplier#33643, _extract_deliveryDate#33644, _extract_orderDate#33645, _extract_supplierSubrange#33646, _extract_purchasingOrg#33647, _extract_mrpController#33648, _extract_purchasingGroup#33649, _extract_purchasingOrg#33650, _extract_deliveryDate#33651, _extract_supplier#33652, _extract_supplierSubrange#33653, _extract_orderDate#33654, _extract_mrpController#33655, _extract_purchasingGroup#33656, orderGroupingProfile#32483, supplierOrGroup#32676, locationOrGroup#32688, productOrderScheduleExploded#32769]
(56) AdaptiveSparkPlan
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: isFinalPlan=true
(57) TableCacheQueryStage
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: 0
(58) Exchange
Input [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=11149]
(59) ShuffleQueryStage
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: 1
(60) Exchange
Input [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=11089]
(61) AdaptiveSparkPlan
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: isFinalPlan=true
(62) TableCacheQueryStage
Output [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: 0
(63) DeserializeToObject
Input [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: createexternalrow(supplierGroup#32467.toString, supplier#32468.toString, plant#32469.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, deliveryDateTime#32470, true, false, true), subrange#32471.toString, product#32783.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, orderDateTime#32784, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, availabilityDateTime#32785, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, nextAvailabilityDateTime#32786, true, false, true), mrpController#32787.toString, sourceOfSupplyUuid#32788.toString, purchasingOrg#32789.toString, purchasingGroup#32790.toString, staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalId#33183L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalHorizonGroupingId#33204L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, splitIndicator#33604L, true, false, true), StructField(supplierGroup,StringType,true), StructField(supplier,StringType,true), StructField(plant,StringType,true), StructField(deliveryDateTime,TimestampType,true), StructField(subrange,StringType,true), StructField(product,StringType,true), StructField(orderDateTime,TimestampType,true), StructField(availabilityDateTime,TimestampType,true), ... 8 more fields), obj#35310: org.apache.spark.sql.Row
(64) MapPartitions
Input [1]: [obj#35310]
Arguments: org.apache.spark.sql.Dataset$$Lambda$7144/0x00007f71e9afe200@20787079, obj#35311: org.apache.spark.sql.Row
(65) SerializeFromObject [codegen id : 1]
Input [1]: [obj#35311]
Arguments: [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, supplierGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplierGroup#35312, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, supplier), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplier#35313, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, plant), StringType, ObjectType(class java.lang.String)), true, false, true) AS plant#35314, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, deliveryDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS deliveryDateTime#35315, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, subrange), StringType, ObjectType(class java.lang.String)), true, false, true) AS subrange#35316, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, product), StringType, ObjectType(class java.lang.String)), true, false, true) AS product#35317, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, orderDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS orderDateTime#35318, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, availabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS availabilityDateTime#35319, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, nextAvailabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS nextAvailabilityDateTime#35320, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, mrpController), StringType, ObjectType(class java.lang.String)), true, false, true) AS mrpController#35321, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, sourceOfSupplyUuid), StringType, ObjectType(class java.lang.String)), true, false, true) AS sourceOfSupplyUuid#35322, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, purchasingOrg), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingOrg#35323, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, purchasingGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingGroup#35324, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalId#35325L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, orderProposalHorizonGroupingId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalHorizonGroupingId#35326L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 15, splitIndicator), LongType, ObjectType(class java.lang.Long)).longValue) AS splitIndicator#35327L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 16, binId), IntegerType, ObjectType(class java.lang.Integer)).intValue) AS binId#35328]
(66) DeserializeToObject
Input [16]: [supplierGroup#32467, supplier#32468, plant#32469, deliveryDateTime#32470, subrange#32471, product#32783, orderDateTime#32784, availabilityDateTime#32785, nextAvailabilityDateTime#32786, mrpController#32787, sourceOfSupplyUuid#32788, purchasingOrg#32789, purchasingGroup#32790, orderProposalId#33183L, orderProposalHorizonGroupingId#33204L, splitIndicator#33604L]
Arguments: createexternalrow(supplierGroup#32467.toString, supplier#32468.toString, plant#32469.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, deliveryDateTime#32470, true, false, true), subrange#32471.toString, product#32783.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, orderDateTime#32784, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, availabilityDateTime#32785, true, false, true), staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, nextAvailabilityDateTime#32786, true, false, true), mrpController#32787.toString, sourceOfSupplyUuid#32788.toString, purchasingOrg#32789.toString, purchasingGroup#32790.toString, staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalId#33183L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, orderProposalHorizonGroupingId#33204L, true, false, true), staticinvoke(class java.lang.Long, ObjectType(class java.lang.Long), valueOf, splitIndicator#33604L, true, false, true), StructField(supplierGroup,StringType,true), StructField(supplier,StringType,true), StructField(plant,StringType,true), StructField(deliveryDateTime,TimestampType,true), StructField(subrange,StringType,true), StructField(product,StringType,true), StructField(orderDateTime,TimestampType,true), StructField(availabilityDateTime,TimestampType,true), ... 8 more fields), obj#35310: org.apache.spark.sql.Row
(67) MapPartitions
Input [1]: [obj#35310]
Arguments: org.apache.spark.sql.Dataset$$Lambda$7144/0x00007f71e9afe200@20787079, obj#35311: org.apache.spark.sql.Row
(68) SerializeFromObject
Input [1]: [obj#35311]
Arguments: [if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, supplierGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplierGroup#35312, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, supplier), StringType, ObjectType(class java.lang.String)), true, false, true) AS supplier#35313, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, plant), StringType, ObjectType(class java.lang.String)), true, false, true) AS plant#35314, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, deliveryDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS deliveryDateTime#35315, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, subrange), StringType, ObjectType(class java.lang.String)), true, false, true) AS subrange#35316, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, product), StringType, ObjectType(class java.lang.String)), true, false, true) AS product#35317, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, orderDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS orderDateTime#35318, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 7, availabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS availabilityDateTime#35319, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, TimestampType, fromJavaTimestamp, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 8, nextAvailabilityDateTime), TimestampType, ObjectType(class java.sql.Timestamp)), true, false, true) AS nextAvailabilityDateTime#35320, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 9, mrpController), StringType, ObjectType(class java.lang.String)), true, false, true) AS mrpController#35321, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 10, sourceOfSupplyUuid), StringType, ObjectType(class java.lang.String)), true, false, true) AS sourceOfSupplyUuid#35322, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 11, purchasingOrg), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingOrg#35323, if (assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt) null else staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 12, purchasingGroup), StringType, ObjectType(class java.lang.String)), true, false, true) AS purchasingGroup#35324, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 13, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalId#35325L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 14, orderProposalHorizonGroupingId), LongType, ObjectType(class java.lang.Long)).longValue) AS orderProposalHorizonGroupingId#35326L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 15, splitIndicator), LongType, ObjectType(class java.lang.Long)).longValue) AS splitIndicator#35327L, assertnotnull(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 16, binId), IntegerType, ObjectType(class java.lang.Integer)).intValue) AS binId#35328]
(69) AdaptiveSparkPlan
Output [17]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, binId#35328]
Arguments: isFinalPlan=true
(70) TableCacheQueryStage
Output [17]: [availabilityDateTime#35319, binId#35328, deliveryDateTime#35315, mrpController#35321, nextAvailabilityDateTime#35320, orderDateTime#35318, orderProposalHorizonGroupingId#35326L, orderProposalId#35325L, plant#35314, product#35317, purchasingGroup#35324, purchasingOrg#35323, sourceOfSupplyUuid#35322, splitIndicator#35327L, subrange#35316, supplier#35313, supplierGroup#35312]
Arguments: 0
(71) Project [codegen id : 1]
Output [18]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, concat(0, _, cast(binId#35328 as string), _, 10000000096) AS shardId#35654, monotonically_increasing_id() AS worklistShardItemId#35690L]
Input [17]: [availabilityDateTime#35319, binId#35328, deliveryDateTime#35315, mrpController#35321, nextAvailabilityDateTime#35320, orderDateTime#35318, orderProposalHorizonGroupingId#35326L, orderProposalId#35325L, plant#35314, product#35317, purchasingGroup#35324, purchasingOrg#35323, sourceOfSupplyUuid#35322, splitIndicator#35327L, subrange#35316, supplier#35313, supplierGroup#35312]
(72) Project [codegen id : 1]
Output [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, null AS orderProposalItemGroupId#35709, cast((monotonically_increasing_id() % 9999999999) as string) AS orderProposalItemId#35729]
Input [18]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L]
(73) Project
Output [18]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, concat(0, _, cast(binId#35328 as string), _, 10000000096) AS shardId#35654, monotonically_increasing_id() AS worklistShardItemId#35690L]
Input [17]: [availabilityDateTime#35319, binId#35328, deliveryDateTime#35315, mrpController#35321, nextAvailabilityDateTime#35320, orderDateTime#35318, orderProposalHorizonGroupingId#35326L, orderProposalId#35325L, plant#35314, product#35317, purchasingGroup#35324, purchasingOrg#35323, sourceOfSupplyUuid#35322, splitIndicator#35327L, subrange#35316, supplier#35313, supplierGroup#35312]
(74) Project
Output [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, null AS orderProposalItemGroupId#35709, cast((monotonically_increasing_id() % 9999999999) as string) AS orderProposalItemId#35729]
Input [18]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L]
(75) AdaptiveSparkPlan
Output [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
Arguments: isFinalPlan=true
(76) TableCacheQueryStage
Output [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
Arguments: 0
(77) Exchange
Input [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=11225]
(78) ShuffleQueryStage
Output [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
Arguments: 1
(79) Sort [codegen id : 1]
Input [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
Arguments: [shardId#35654 ASC NULLS FIRST], false, 0
(80) WriteFiles
Input [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
(81) Execute InsertIntoHadoopFsRelationCommand
Input: []
Arguments: hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-boundary-snapshot/10000000096, false, [shardId#35654], Parquet, [__partition_columns=["shardId"], path=hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-boundary-snapshot/10000000096], Overwrite, [supplierGroup, supplier, plant, deliveryDateTime, subrange, product, orderDateTime, availabilityDateTime, nextAvailabilityDateTime, mrpController, sourceOfSupplyUuid, purchasingOrg, purchasingGroup, orderProposalId, orderProposalHorizonGroupingId, splitIndicator, shardId, worklistShardItemId, orderProposalItemGroupId, orderProposalItemId]
(82) Exchange
Input [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=11204]
(83) Sort
Input [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
Arguments: [shardId#35654 ASC NULLS FIRST], false, 0
(84) WriteFiles
Input [20]: [supplierGroup#35312, supplier#35313, plant#35314, deliveryDateTime#35315, subrange#35316, product#35317, orderDateTime#35318, availabilityDateTime#35319, nextAvailabilityDateTime#35320, mrpController#35321, sourceOfSupplyUuid#35322, purchasingOrg#35323, purchasingGroup#35324, orderProposalId#35325L, orderProposalHorizonGroupingId#35326L, splitIndicator#35327L, shardId#35654, worklistShardItemId#35690L, orderProposalItemGroupId#35709, orderProposalItemId#35729]
(85) Execute InsertIntoHadoopFsRelationCommand
Input: []
Arguments: hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-boundary-snapshot/10000000096, false, [shardId#35654], Parquet, [__partition_columns=["shardId"], path=hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-boundary-snapshot/10000000096], Overwrite, [supplierGroup, supplier, plant, deliveryDateTime, subrange, product, orderDateTime, availabilityDateTime, nextAvailabilityDateTime, mrpController, sourceOfSupplyUuid, purchasingOrg, purchasingGroup, orderProposalId, orderProposalHorizonGroupingId, splitIndicator, shardId, worklistShardItemId, orderProposalItemGroupId, orderProposalItemId]
(86) AdaptiveSparkPlan
Output: []
Arguments: isFinalPlan=true