== Physical Plan ==
AdaptiveSparkPlan (182)
+- == Final Plan ==
ResultQueryStage (175), Statistics(sizeInBytes=8.0 EiB)
+- * HashAggregate (174)
+- ShuffleQueryStage (173), Statistics(sizeInBytes=16.0 B, rowCount=1)
+- Exchange (172)
+- * HashAggregate (171)
+- * HashAggregate (170)
+- AQEShuffleRead (169)
+- ShuffleQueryStage (168), Statistics(sizeInBytes=288.0 B, rowCount=6)
+- Exchange (167)
+- * HashAggregate (166)
+- TableCacheQueryStage (165), Statistics(sizeInBytes=8.1 KiB, rowCount=24)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (164)
+- == Final Plan ==
ResultQueryStage (134)
+- * Project (133)
+- * BroadcastHashJoin LeftOuter BuildRight (132)
:- Window (38)
: +- * Sort (37)
: +- ShuffleQueryStage (36), Statistics(sizeInBytes=8.9 KiB, rowCount=24)
: +- Exchange (35)
: +- * Project (34)
: +- * Generate (33)
: +- * Project (32)
: +- * Project (31)
: +- * BroadcastHashJoin LeftOuter BuildRight (30)
: :- AQEShuffleRead (11)
: : +- ShuffleQueryStage (10), Statistics(sizeInBytes=8.7 KiB, rowCount=18)
: : +- Exchange (9)
: : +- * Project (8)
: : +- ShuffleQueryStage (7), Statistics(sizeInBytes=8.5 KiB, rowCount=18)
: : +- Exchange (6)
: : +- * Filter (5)
: : +- * ColumnarToRow (4)
: : +- Scan parquet (3)
: +- BroadcastQueryStage (29), Statistics(sizeInBytes=2.0 MiB, rowCount=18)
: +- BroadcastExchange (28)
: +- AQEShuffleRead (27)
: +- ShuffleQueryStage (26), Statistics(sizeInBytes=6.0 KiB, rowCount=18)
: +- Exchange (25)
: +- * Project (24)
: +- * BroadcastHashJoin LeftOuter BuildRight (23)
: :- ShuffleQueryStage (15), Statistics(sizeInBytes=3.1 KiB, rowCount=18)
: : +- Exchange (14)
: : +- * ColumnarToRow (13)
: : +- Scan parquet (12)
: +- BroadcastQueryStage (22), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
: +- BroadcastExchange (21)
: +- ShuffleQueryStage (20), Statistics(sizeInBytes=1208.0 B, rowCount=6)
: +- Exchange (19)
: +- * Filter (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (131), Statistics(sizeInBytes=1024.5 KiB, rowCount=15)
+- BroadcastExchange (130)
+- * SerializeFromObject (129)
+- MapPartitions (128)
+- DeserializeToObject (127)
+- AQEShuffleRead (126)
+- ShuffleQueryStage (125), Statistics(sizeInBytes=1880.0 B, rowCount=15)
+- Exchange (124)
+- * Project (123)
+- TableCacheQueryStage (122), Statistics(sizeInBytes=1760.0 B, rowCount=15)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=1760.0 B, rowCount=15)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=1480.0 B, rowCount=15)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=2.6 KiB, rowCount=24)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=8.2 KiB, rowCount=18)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=8.5 KiB, rowCount=18)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=18)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=4.5 KiB, rowCount=18)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=3.1 KiB, rowCount=18)
: +- Exchange (52)
: +- * ColumnarToRow (51)
: +- Scan parquet (50)
+- BroadcastQueryStage (60), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
+- BroadcastExchange (59)
+- ShuffleQueryStage (58), Statistics(sizeInBytes=680.0 B, rowCount=6)
+- Exchange (57)
+- * Filter (56)
+- * ColumnarToRow (55)
+- Scan parquet (54)
+- == Initial Plan ==
SerializeFromObject (120)
+- MapPartitions (119)
+- DeserializeToObject (118)
+- Exchange (117)
+- Project (116)
+- ObjectHashAggregate (115)
+- Exchange (114)
+- ObjectHashAggregate (113)
+- Project (112)
+- Window (111)
+- Sort (110)
+- Exchange (109)
+- Project (108)
+- Generate (107)
+- Project (106)
+- Project (105)
+- SortMergeJoin LeftOuter (104)
:- Sort (95)
: +- Exchange (94)
: +- Project (93)
: +- Exchange (92)
: +- Filter (91)
: +- Scan parquet (41)
+- Sort (103)
+- Exchange (102)
+- Project (101)
+- BroadcastHashJoin LeftOuter BuildRight (100)
:- Exchange (96)
: +- Scan parquet (50)
+- BroadcastExchange (99)
+- Exchange (98)
+- Filter (97)
+- Scan parquet (54)
+- == Initial Plan ==
Project (163)
+- BroadcastHashJoin LeftOuter BuildRight (162)
:- Window (155)
: +- Sort (154)
: +- Exchange (153)
: +- Project (152)
: +- Generate (151)
: +- Project (150)
: +- Project (149)
: +- SortMergeJoin LeftOuter (148)
: :- Sort (139)
: : +- Exchange (138)
: : +- Project (137)
: : +- Exchange (136)
: : +- Filter (135)
: : +- Scan parquet (3)
: +- Sort (147)
: +- Exchange (146)
: +- Project (145)
: +- BroadcastHashJoin LeftOuter BuildRight (144)
: :- Exchange (140)
: : +- Scan parquet (12)
: +- BroadcastExchange (143)
: +- Exchange (142)
: +- Filter (141)
: +- Scan parquet (16)
+- BroadcastExchange (161)
+- SerializeFromObject (160)
+- MapPartitions (159)
+- DeserializeToObject (158)
+- Exchange (157)
+- Project (156)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=1760.0 B, rowCount=15)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=1480.0 B, rowCount=15)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=2.6 KiB, rowCount=24)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=8.2 KiB, rowCount=18)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=8.5 KiB, rowCount=18)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=18)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=4.5 KiB, rowCount=18)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=3.1 KiB, rowCount=18)
: +- Exchange (52)
: +- * ColumnarToRow (51)
: +- Scan parquet (50)
+- BroadcastQueryStage (60), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
+- BroadcastExchange (59)
+- ShuffleQueryStage (58), Statistics(sizeInBytes=680.0 B, rowCount=6)
+- Exchange (57)
+- * Filter (56)
+- * ColumnarToRow (55)
+- Scan parquet (54)
+- == Initial Plan ==
SerializeFromObject (120)
+- MapPartitions (119)
+- DeserializeToObject (118)
+- Exchange (117)
+- Project (116)
+- ObjectHashAggregate (115)
+- Exchange (114)
+- ObjectHashAggregate (113)
+- Project (112)
+- Window (111)
+- Sort (110)
+- Exchange (109)
+- Project (108)
+- Generate (107)
+- Project (106)
+- Project (105)
+- SortMergeJoin LeftOuter (104)
:- Sort (95)
: +- Exchange (94)
: +- Project (93)
: +- Exchange (92)
: +- Filter (91)
: +- Scan parquet (41)
+- Sort (103)
+- Exchange (102)
+- Project (101)
+- BroadcastHashJoin LeftOuter BuildRight (100)
:- Exchange (96)
: +- Scan parquet (50)
+- BroadcastExchange (99)
+- Exchange (98)
+- Filter (97)
+- Scan parquet (54)
+- == Initial Plan ==
HashAggregate (181)
+- Exchange (180)
+- HashAggregate (179)
+- HashAggregate (178)
+- Exchange (177)
+- HashAggregate (176)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (164)
+- == Final Plan ==
ResultQueryStage (134)
+- * Project (133)
+- * BroadcastHashJoin LeftOuter BuildRight (132)
:- Window (38)
: +- * Sort (37)
: +- ShuffleQueryStage (36), Statistics(sizeInBytes=8.9 KiB, rowCount=24)
: +- Exchange (35)
: +- * Project (34)
: +- * Generate (33)
: +- * Project (32)
: +- * Project (31)
: +- * BroadcastHashJoin LeftOuter BuildRight (30)
: :- AQEShuffleRead (11)
: : +- ShuffleQueryStage (10), Statistics(sizeInBytes=8.7 KiB, rowCount=18)
: : +- Exchange (9)
: : +- * Project (8)
: : +- ShuffleQueryStage (7), Statistics(sizeInBytes=8.5 KiB, rowCount=18)
: : +- Exchange (6)
: : +- * Filter (5)
: : +- * ColumnarToRow (4)
: : +- Scan parquet (3)
: +- BroadcastQueryStage (29), Statistics(sizeInBytes=2.0 MiB, rowCount=18)
: +- BroadcastExchange (28)
: +- AQEShuffleRead (27)
: +- ShuffleQueryStage (26), Statistics(sizeInBytes=6.0 KiB, rowCount=18)
: +- Exchange (25)
: +- * Project (24)
: +- * BroadcastHashJoin LeftOuter BuildRight (23)
: :- ShuffleQueryStage (15), Statistics(sizeInBytes=3.1 KiB, rowCount=18)
: : +- Exchange (14)
: : +- * ColumnarToRow (13)
: : +- Scan parquet (12)
: +- BroadcastQueryStage (22), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
: +- BroadcastExchange (21)
: +- ShuffleQueryStage (20), Statistics(sizeInBytes=1208.0 B, rowCount=6)
: +- Exchange (19)
: +- * Filter (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (131), Statistics(sizeInBytes=1024.5 KiB, rowCount=15)
+- BroadcastExchange (130)
+- * SerializeFromObject (129)
+- MapPartitions (128)
+- DeserializeToObject (127)
+- AQEShuffleRead (126)
+- ShuffleQueryStage (125), Statistics(sizeInBytes=1880.0 B, rowCount=15)
+- Exchange (124)
+- * Project (123)
+- TableCacheQueryStage (122), Statistics(sizeInBytes=1760.0 B, rowCount=15)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=1760.0 B, rowCount=15)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=1480.0 B, rowCount=15)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=2.6 KiB, rowCount=24)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=8.2 KiB, rowCount=18)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=8.5 KiB, rowCount=18)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=18)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=4.5 KiB, rowCount=18)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=3.1 KiB, rowCount=18)
: +- Exchange (52)
: +- * ColumnarToRow (51)
: +- Scan parquet (50)
+- BroadcastQueryStage (60), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
+- BroadcastExchange (59)
+- ShuffleQueryStage (58), Statistics(sizeInBytes=680.0 B, rowCount=6)
+- Exchange (57)
+- * Filter (56)
+- * ColumnarToRow (55)
+- Scan parquet (54)
+- == Initial Plan ==
SerializeFromObject (120)
+- MapPartitions (119)
+- DeserializeToObject (118)
+- Exchange (117)
+- Project (116)
+- ObjectHashAggregate (115)
+- Exchange (114)
+- ObjectHashAggregate (113)
+- Project (112)
+- Window (111)
+- Sort (110)
+- Exchange (109)
+- Project (108)
+- Generate (107)
+- Project (106)
+- Project (105)
+- SortMergeJoin LeftOuter (104)
:- Sort (95)
: +- Exchange (94)
: +- Project (93)
: +- Exchange (92)
: +- Filter (91)
: +- Scan parquet (41)
+- Sort (103)
+- Exchange (102)
+- Project (101)
+- BroadcastHashJoin LeftOuter BuildRight (100)
:- Exchange (96)
: +- Scan parquet (50)
+- BroadcastExchange (99)
+- Exchange (98)
+- Filter (97)
+- Scan parquet (54)
+- == Initial Plan ==
Project (163)
+- BroadcastHashJoin LeftOuter BuildRight (162)
:- Window (155)
: +- Sort (154)
: +- Exchange (153)
: +- Project (152)
: +- Generate (151)
: +- Project (150)
: +- Project (149)
: +- SortMergeJoin LeftOuter (148)
: :- Sort (139)
: : +- Exchange (138)
: : +- Project (137)
: : +- Exchange (136)
: : +- Filter (135)
: : +- Scan parquet (3)
: +- Sort (147)
: +- Exchange (146)
: +- Project (145)
: +- BroadcastHashJoin LeftOuter BuildRight (144)
: :- Exchange (140)
: : +- Scan parquet (12)
: +- BroadcastExchange (143)
: +- Exchange (142)
: +- Filter (141)
: +- Scan parquet (16)
+- BroadcastExchange (161)
+- SerializeFromObject (160)
+- MapPartitions (159)
+- DeserializeToObject (158)
+- Exchange (157)
+- Project (156)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=1760.0 B, rowCount=15)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=1480.0 B, rowCount=15)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=2.6 KiB, rowCount=24)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=8.2 KiB, rowCount=18)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=8.5 KiB, rowCount=18)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=18)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=4.5 KiB, rowCount=18)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=3.1 KiB, rowCount=18)
: +- Exchange (52)
: +- * ColumnarToRow (51)
: +- Scan parquet (50)
+- BroadcastQueryStage (60), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
+- BroadcastExchange (59)
+- ShuffleQueryStage (58), Statistics(sizeInBytes=680.0 B, rowCount=6)
+- Exchange (57)
+- * Filter (56)
+- * ColumnarToRow (55)
+- Scan parquet (54)
+- == Initial Plan ==
SerializeFromObject (120)
+- MapPartitions (119)
+- DeserializeToObject (118)
+- Exchange (117)
+- Project (116)
+- ObjectHashAggregate (115)
+- Exchange (114)
+- ObjectHashAggregate (113)
+- Project (112)
+- Window (111)
+- Sort (110)
+- Exchange (109)
+- Project (108)
+- Generate (107)
+- Project (106)
+- Project (105)
+- SortMergeJoin LeftOuter (104)
:- Sort (95)
: +- Exchange (94)
: +- Project (93)
: +- Exchange (92)
: +- Filter (91)
: +- Scan parquet (41)
+- Sort (103)
+- Exchange (102)
+- Project (101)
+- BroadcastHashJoin LeftOuter BuildRight (100)
:- Exchange (96)
: +- Scan parquet (50)
+- BroadcastExchange (99)
+- Exchange (98)
+- Filter (97)
+- Scan parquet (54)
(1) InMemoryTableScan
Output [1]: [plant#906011]
Arguments: [plant#906011]
(2) InMemoryRelation
Arguments: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, orderProposalHorizonGroupingId#906098L, splitIndicator#906125L, previousOrderProposal#906126L, clusterId#906686L, sequenceId#906689], StorageLevel(disk, memory, 2 replicas)
(3) Scan parquet
Output [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
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/10000002110]
PushedFilters: [IsNotNull(productOrderSchedule)]
ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,supplyingPlant:string,productGroup:string,productOrderSchedule:array<struct<product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,mrpController:string,sourceOfSupplyUuid:string,purchasingOrg:string,purchasingGroup:string,isFallbackOrderOnly:boolean>>>
(4) ColumnarToRow [codegen id : 1]
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
(5) Filter [codegen id : 1]
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Condition : ((size(productOrderSchedule#906016, true) > 0) AND isnotnull(productOrderSchedule#906016))
(6) Exchange
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=354537]
(7) ShuffleQueryStage
Output [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Arguments: 0
(8) Project [codegen id : 5]
Output [9]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, CASE WHEN isnotnull(supplyingPlant#906014) THEN productGroup#906015 ELSE subrange#906013 END AS effectiveSubrange#906036]
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
(9) Exchange
Input [9]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: hashpartitioning(coalesce(supplierGroup#906009, ), isnull(supplierGroup#906009), coalesce(supplier#906010, ), isnull(supplier#906010), coalesce(effectiveSubrange#906036, ), isnull(effectiveSubrange#906036), coalesce(plant#906011, ), isnull(plant#906011), coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00), isnull(deliveryDateTime#906012), 25), ENSURE_REQUIREMENTS, [plan_id=354888]
(10) ShuffleQueryStage
Output [9]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: 5
(11) AQEShuffleRead
Input [9]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: local
(12) Scan parquet
Output [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000002110/SupplyNetworkProfiles/assignments]
ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofile:string,supplierGroup:string,locationGroup:string>
(13) ColumnarToRow [codegen id : 2]
Input [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
(14) Exchange
Input [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=354553]
(15) ShuffleQueryStage
Output [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
Arguments: 1
(16) Scan parquet
Output [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
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>>
(17) ColumnarToRow [codegen id : 3]
Input [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
(18) Filter [codegen id : 3]
Input [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
Condition : isnotnull(orderGroupingProfile#906028)
(19) Exchange
Input [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=354566]
(20) ShuffleQueryStage
Output [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
Arguments: 2
(21) BroadcastExchange
Input [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=354574]
(22) BroadcastQueryStage
Output [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
Arguments: 7
(23) BroadcastHashJoin [codegen id : 7]
Left keys [1]: [orderGroupingProfile#906021]
Right keys [1]: [orderGroupingProfile#906028]
Join type: LeftOuter
Join condition: None
(24) Project [codegen id : 7]
Output [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, subrange#906018 AS effectiveSubrange#906037]
Input [10]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
(25) Exchange
Input [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
Arguments: hashpartitioning(coalesce(supplierGroup#906022, ), isnull(supplierGroup#906022), coalesce(supplier#906017, ), isnull(supplier#906017), coalesce(effectiveSubrange#906037, ), isnull(effectiveSubrange#906037), coalesce(plant#906019, ), isnull(plant#906019), coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00), isnull(deliveryDateTime#906020), 25), ENSURE_REQUIREMENTS, [plan_id=355266]
(26) ShuffleQueryStage
Output [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
Arguments: 8
(27) AQEShuffleRead
Input [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
Arguments: local
(28) BroadcastExchange
Input [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[4, string, true], ), isnull(input[4, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[8, string, true], ), isnull(input[8, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, timestamp, true], 1970-01-01 00:00:00), isnull(input[2, timestamp, true])),false), [plan_id=355344]
(29) BroadcastQueryStage
Output [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
Arguments: 9
(30) BroadcastHashJoin [codegen id : 8]
Left keys [10]: [coalesce(supplierGroup#906009, ), isnull(supplierGroup#906009), coalesce(supplier#906010, ), isnull(supplier#906010), coalesce(effectiveSubrange#906036, ), isnull(effectiveSubrange#906036), coalesce(plant#906011, ), isnull(plant#906011), coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00), isnull(deliveryDateTime#906012)]
Right keys [10]: [coalesce(supplierGroup#906022, ), isnull(supplierGroup#906022), coalesce(supplier#906017, ), isnull(supplier#906017), coalesce(effectiveSubrange#906037, ), isnull(effectiveSubrange#906037), coalesce(plant#906019, ), isnull(plant#906019), coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00), isnull(deliveryDateTime#906020)]
Join type: LeftOuter
Join condition: None
(31) Project [codegen id : 8]
Output [14]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, CASE WHEN isnull(orderGroupCriteria#906030) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#906030 END AS orderGroupCriteria#906049, CASE WHEN isnull(orderSplitCriteria#906031) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#906031 END AS orderSplitCriteria#906059, orderGroupingProfile#906021, coalesce(supplierGroup#906009, supplier#906010) AS supplierOrGroup#906038, coalesce(locationGroup#906023, plant#906011) AS locationOrGroup#906039]
Input [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
(32) Project [codegen id : 8]
Output [26]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, orderGroupCriteria#906049.supplierSubrange AS _extract_supplierSubrange#906839, orderGroupCriteria#906049.mrpController AS _extract_mrpController#906840, orderGroupCriteria#906049.purchasingOrg AS _extract_purchasingOrg#906841, orderGroupCriteria#906049.orderDate AS _extract_orderDate#906842, orderGroupCriteria#906049.deliveryDate AS _extract_deliveryDate#906843, orderGroupCriteria#906049.supplier AS _extract_supplier#906844, orderGroupCriteria#906049.purchasingGroup AS _extract_purchasingGroup#906845, orderSplitCriteria#906059.supplierSubrange AS _extract_supplierSubrange#906832, orderSplitCriteria#906059.mrpController AS _extract_mrpController#906833, orderSplitCriteria#906059.orderDate AS _extract_orderDate#906834, orderSplitCriteria#906059.supplier AS _extract_supplier#906835, orderSplitCriteria#906059.deliveryDate AS _extract_deliveryDate#906836, orderSplitCriteria#906059.purchasingOrg AS _extract_purchasingOrg#906837, orderSplitCriteria#906059.purchasingGroup AS _extract_purchasingGroup#906838, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
Input [14]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, orderGroupCriteria#906049, orderSplitCriteria#906059, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
(33) Generate [codegen id : 8]
Input [26]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, _extract_supplierSubrange#906839, _extract_mrpController#906840, _extract_purchasingOrg#906841, _extract_orderDate#906842, _extract_deliveryDate#906843, _extract_supplier#906844, _extract_purchasingGroup#906845, _extract_supplierSubrange#906832, _extract_mrpController#906833, _extract_orderDate#906834, _extract_supplier#906835, _extract_deliveryDate#906836, _extract_purchasingOrg#906837, _extract_purchasingGroup#906838, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
Arguments: explode(productOrderSchedule#906016), [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, effectiveSubrange#906036, _extract_supplierSubrange#906839, _extract_mrpController#906840, _extract_purchasingOrg#906841, _extract_orderDate#906842, _extract_deliveryDate#906843, _extract_supplier#906844, _extract_purchasingGroup#906845, _extract_supplierSubrange#906832, _extract_mrpController#906833, _extract_orderDate#906834, _extract_supplier#906835, _extract_deliveryDate#906836, _extract_purchasingOrg#906837, _extract_purchasingGroup#906838, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039], false, [productOrderScheduleExploded#906061]
(34) Project [codegen id : 8]
Output [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderScheduleExploded#906061.product AS product#906062, productOrderScheduleExploded#906061.orderDateTime AS orderDateTime#906063, productOrderScheduleExploded#906061.availabilityDateTime AS availabilityDateTime#906064, productOrderScheduleExploded#906061.nextAvailabilityDateTime AS nextAvailabilityDateTime#906065, productOrderScheduleExploded#906061.mrpController AS mrpController#906066, productOrderScheduleExploded#906061.sourceOfSupplyUuid AS sourceOfSupplyUuid#906067, productOrderScheduleExploded#906061.purchasingOrg AS purchasingOrg#906068, productOrderScheduleExploded#906061.purchasingGroup AS purchasingGroup#906069, productOrderScheduleExploded#906061.isFallbackOrderOnly AS isFallbackOrderOnly#906070, xxhash64(CASE WHEN (_extract_supplierSubrange#906839 <=> true) THEN effectiveSubrange#906036 END, orderGroupingProfile#906021, CASE WHEN (_extract_mrpController#906840 <=> true) THEN productOrderScheduleExploded#906061.mrpController END, CASE WHEN (_extract_purchasingOrg#906841 <=> true) THEN productOrderScheduleExploded#906061.purchasingOrg END, CASE WHEN (_extract_orderDate#906842 <=> true) THEN productOrderScheduleExploded#906061.orderDateTime END, CASE WHEN (_extract_deliveryDate#906843 <=> true) THEN deliveryDateTime#906012 END, CASE WHEN (_extract_supplier#906844 <=> true) THEN supplierOrGroup#906038 END, locationOrGroup#906039, CASE WHEN (_extract_purchasingGroup#906845 <=> true) THEN productOrderScheduleExploded#906061.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#906036) AND (_extract_supplierSubrange#906839 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#906021) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.mrpController) AND (_extract_mrpController#906840 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingOrg) AND (_extract_purchasingOrg#906841 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.orderDateTime) AND (_extract_orderDate#906842 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#906012) AND (_extract_deliveryDate#906843 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#906038) AND (_extract_supplier#906844 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#906039) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingGroup) AND (_extract_purchasingGroup#906845 <=> true)) THEN 256 ELSE 0 END), 10000002110, 42) AS orderProposalId#906097L, xxhash64(CASE WHEN (_extract_supplierSubrange#906832 <=> true) THEN effectiveSubrange#906036 END, orderGroupingProfile#906021, CASE WHEN (_extract_mrpController#906833 <=> true) THEN productOrderScheduleExploded#906061.mrpController END, CASE WHEN (_extract_orderDate#906834 <=> true) THEN productOrderScheduleExploded#906061.orderDateTime END, CASE WHEN (_extract_supplier#906835 <=> true) THEN supplier#906010 END, CASE WHEN (_extract_deliveryDate#906836 <=> true) THEN deliveryDateTime#906012 END, CASE WHEN (_extract_purchasingOrg#906837 <=> true) THEN productOrderScheduleExploded#906061.purchasingOrg END, plant#906011, CASE WHEN (_extract_purchasingGroup#906838 <=> true) THEN productOrderScheduleExploded#906061.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#906036) AND (_extract_supplierSubrange#906832 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#906021) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.mrpController) AND (_extract_mrpController#906833 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.orderDateTime) AND (_extract_orderDate#906834 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(supplier#906010) AND (_extract_supplier#906835 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#906012) AND (_extract_deliveryDate#906836 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingOrg) AND (_extract_purchasingOrg#906837 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(plant#906011) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingGroup) AND (_extract_purchasingGroup#906838 <=> true)) THEN 256 ELSE 0 END), 10000002110, 42) AS splitIndicator#906125L]
Input [26]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, effectiveSubrange#906036, _extract_supplierSubrange#906839, _extract_mrpController#906840, _extract_purchasingOrg#906841, _extract_orderDate#906842, _extract_deliveryDate#906843, _extract_supplier#906844, _extract_purchasingGroup#906845, _extract_supplierSubrange#906832, _extract_mrpController#906833, _extract_orderDate#906834, _extract_supplier#906835, _extract_deliveryDate#906836, _extract_purchasingOrg#906837, _extract_purchasingGroup#906838, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039, productOrderScheduleExploded#906061]
(35) Exchange
Input [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L]
Arguments: hashpartitioning(product#906062, plant#906011, 25), ENSURE_REQUIREMENTS, [plan_id=355425]
(36) ShuffleQueryStage
Output [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L]
Arguments: 10
(37) Sort [codegen id : 9]
Input [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L]
Arguments: [product#906062 ASC NULLS FIRST, plant#906011 ASC NULLS FIRST, availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST], false, 0
(38) Window
Input [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L]
Arguments: [lag(orderProposalId#906097L, -1, null) windowspecdefinition(product#906062, plant#906011, availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#906126L], [product#906062, plant#906011], [availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST]
(39) InMemoryTableScan
Output [4]: [clusterId#906184L, orderProposalId#906179L, plant#906180, previousOrderProposals#906181]
Arguments: [clusterId#906184L, orderProposalId#906179L, plant#906180, previousOrderProposals#906181]
(40) InMemoryRelation
Arguments: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, nodeId#906182L, dependentOnNodeIds#906183, clusterId#906184L, unresolvedDependencies#906185], StorageLevel(disk, memory, 2 replicas)
(41) Scan parquet
Output [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
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/10000002110]
PushedFilters: [IsNotNull(productOrderSchedule)]
ReadSchema: struct<supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,supplyingPlant:string,productGroup:string,productOrderSchedule:array<struct<product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,mrpController:string,sourceOfSupplyUuid:string,purchasingOrg:string,purchasingGroup:string,isFallbackOrderOnly:boolean>>>
(42) ColumnarToRow [codegen id : 1]
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
(43) Filter [codegen id : 1]
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Condition : ((size(productOrderSchedule#906016, true) > 0) AND isnotnull(productOrderSchedule#906016))
(44) Exchange
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=353270]
(45) ShuffleQueryStage
Output [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Arguments: 0
(46) Project [codegen id : 4]
Output [6]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, CASE WHEN isnotnull(supplyingPlant#906014) THEN productGroup#906015 ELSE subrange#906013 END AS effectiveSubrange#906036]
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
(47) Exchange
Input [6]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: hashpartitioning(coalesce(supplierGroup#906009, ), isnull(supplierGroup#906009), coalesce(supplier#906010, ), isnull(supplier#906010), coalesce(effectiveSubrange#906036, ), isnull(effectiveSubrange#906036), coalesce(plant#906011, ), isnull(plant#906011), coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00), isnull(deliveryDateTime#906012), 25), ENSURE_REQUIREMENTS, [plan_id=353541]
(48) ShuffleQueryStage
Output [6]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: 3
(49) AQEShuffleRead
Input [6]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: local
(50) Scan parquet
Output [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000002110/SupplyNetworkProfiles/assignments]
ReadSchema: struct<supplier:string,subrange:string,plant:string,deliverydatetime:timestamp,ordergroupingprofile:string,supplierGroup:string,locationGroup:string>
(51) ColumnarToRow [codegen id : 2]
Input [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
(52) Exchange
Input [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=353286]
(53) ShuffleQueryStage
Output [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
Arguments: 1
(54) Scan parquet
Output [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
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>>
(55) ColumnarToRow [codegen id : 3]
Input [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
(56) Filter [codegen id : 3]
Input [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
Condition : isnotnull(orderGroupingProfile#906028)
(57) Exchange
Input [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=353299]
(58) ShuffleQueryStage
Output [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
Arguments: 2
(59) BroadcastExchange
Input [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=353307]
(60) BroadcastQueryStage
Output [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
Arguments: 4
(61) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [orderGroupingProfile#906021]
Right keys [1]: [orderGroupingProfile#906028]
Join type: LeftOuter
Join condition: None
(62) Project [codegen id : 5]
Output [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, subrange#906018 AS effectiveSubrange#906037]
Input [9]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupingProfile#906028, orderGroupCriteria#906030]
(63) Exchange
Input [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
Arguments: hashpartitioning(coalesce(supplierGroup#906022, ), isnull(supplierGroup#906022), coalesce(supplier#906017, ), isnull(supplier#906017), coalesce(effectiveSubrange#906037, ), isnull(effectiveSubrange#906037), coalesce(plant#906019, ), isnull(plant#906019), coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00), isnull(deliveryDateTime#906020), 25), ENSURE_REQUIREMENTS, [plan_id=353889]
(64) ShuffleQueryStage
Output [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
Arguments: 5
(65) AQEShuffleRead
Input [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
Arguments: local
(66) BroadcastExchange
Input [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[4, string, true], ), isnull(input[4, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true]), coalesce(input[7, string, true], ), isnull(input[7, string, true]), coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[2, timestamp, true], 1970-01-01 00:00:00), isnull(input[2, timestamp, true])),false), [plan_id=354013]
(67) BroadcastQueryStage
Output [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
Arguments: 6
(68) BroadcastHashJoin [codegen id : 6]
Left keys [10]: [coalesce(supplierGroup#906009, ), isnull(supplierGroup#906009), coalesce(supplier#906010, ), isnull(supplier#906010), coalesce(effectiveSubrange#906036, ), isnull(effectiveSubrange#906036), coalesce(plant#906011, ), isnull(plant#906011), coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00), isnull(deliveryDateTime#906012)]
Right keys [10]: [coalesce(supplierGroup#906022, ), isnull(supplierGroup#906022), coalesce(supplier#906017, ), isnull(supplier#906017), coalesce(effectiveSubrange#906037, ), isnull(effectiveSubrange#906037), coalesce(plant#906019, ), isnull(plant#906019), coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00), isnull(deliveryDateTime#906020)]
Join type: LeftOuter
Join condition: None
(69) Project [codegen id : 6]
Output [8]: [plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, CASE WHEN isnull(orderGroupCriteria#906030) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#906030 END AS orderGroupCriteria#906049, orderGroupingProfile#906021, coalesce(supplierGroup#906009, supplier#906010) AS supplierOrGroup#906038, coalesce(locationGroup#906023, plant#906011) AS locationOrGroup#906039]
Input [14]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
(70) Project [codegen id : 6]
Output [14]: [plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, orderGroupCriteria#906049.supplierSubrange AS _extract_supplierSubrange#906186, orderGroupCriteria#906049.mrpController AS _extract_mrpController#906187, orderGroupCriteria#906049.purchasingOrg AS _extract_purchasingOrg#906188, orderGroupCriteria#906049.orderDate AS _extract_orderDate#906189, orderGroupCriteria#906049.deliveryDate AS _extract_deliveryDate#906190, orderGroupCriteria#906049.supplier AS _extract_supplier#906191, orderGroupCriteria#906049.purchasingGroup AS _extract_purchasingGroup#906192, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
Input [8]: [plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, orderGroupCriteria#906049, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
(71) Generate [codegen id : 6]
Input [14]: [plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, _extract_supplierSubrange#906186, _extract_mrpController#906187, _extract_purchasingOrg#906188, _extract_orderDate#906189, _extract_deliveryDate#906190, _extract_supplier#906191, _extract_purchasingGroup#906192, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
Arguments: explode(productOrderSchedule#906016), [plant#906011, deliveryDateTime#906012, effectiveSubrange#906036, _extract_supplierSubrange#906186, _extract_mrpController#906187, _extract_purchasingOrg#906188, _extract_orderDate#906189, _extract_deliveryDate#906190, _extract_supplier#906191, _extract_purchasingGroup#906192, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039], false, [productOrderScheduleExploded#906061]
(72) Project [codegen id : 6]
Output [5]: [plant#906011, productOrderScheduleExploded#906061.product AS product#906062, productOrderScheduleExploded#906061.orderDateTime AS orderDateTime#906063, productOrderScheduleExploded#906061.availabilityDateTime AS availabilityDateTime#906064, xxhash64(CASE WHEN (_extract_supplierSubrange#906186 <=> true) THEN effectiveSubrange#906036 END, orderGroupingProfile#906021, CASE WHEN (_extract_mrpController#906187 <=> true) THEN productOrderScheduleExploded#906061.mrpController END, CASE WHEN (_extract_purchasingOrg#906188 <=> true) THEN productOrderScheduleExploded#906061.purchasingOrg END, CASE WHEN (_extract_orderDate#906189 <=> true) THEN productOrderScheduleExploded#906061.orderDateTime END, CASE WHEN (_extract_deliveryDate#906190 <=> true) THEN deliveryDateTime#906012 END, CASE WHEN (_extract_supplier#906191 <=> true) THEN supplierOrGroup#906038 END, locationOrGroup#906039, CASE WHEN (_extract_purchasingGroup#906192 <=> true) THEN productOrderScheduleExploded#906061.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#906036) AND (_extract_supplierSubrange#906186 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#906021) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.mrpController) AND (_extract_mrpController#906187 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingOrg) AND (_extract_purchasingOrg#906188 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.orderDateTime) AND (_extract_orderDate#906189 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#906012) AND (_extract_deliveryDate#906190 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#906038) AND (_extract_supplier#906191 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#906039) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingGroup) AND (_extract_purchasingGroup#906192 <=> true)) THEN 256 ELSE 0 END), 10000002110, 42) AS orderProposalId#906097L]
Input [14]: [plant#906011, deliveryDateTime#906012, effectiveSubrange#906036, _extract_supplierSubrange#906186, _extract_mrpController#906187, _extract_purchasingOrg#906188, _extract_orderDate#906189, _extract_deliveryDate#906190, _extract_supplier#906191, _extract_purchasingGroup#906192, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039, productOrderScheduleExploded#906061]
(73) Exchange
Input [5]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L]
Arguments: hashpartitioning(product#906062, plant#906011, 25), ENSURE_REQUIREMENTS, [plan_id=354140]
(74) ShuffleQueryStage
Output [5]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L]
Arguments: 7
(75) AQEShuffleRead
Input [5]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L]
Arguments: coalesced
(76) Sort [codegen id : 7]
Input [5]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L]
Arguments: [product#906062 ASC NULLS FIRST, plant#906011 ASC NULLS FIRST, availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST], false, 0
(77) Window
Input [5]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L]
Arguments: [lag(orderProposalId#906097L, -1, null) windowspecdefinition(product#906062, plant#906011, availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#906126L], [product#906062, plant#906011], [availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST]
(78) Project [codegen id : 8]
Output [3]: [plant#906011, orderProposalId#906097L, previousOrderProposal#906126L]
Input [6]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L, previousOrderProposal#906126L]
(79) ObjectHashAggregate
Input [3]: [plant#906011, orderProposalId#906097L, previousOrderProposal#906126L]
Keys [1]: [orderProposalId#906097L]
Functions [2]: [partial_min(plant#906011), partial_collect_set(previousOrderProposal#906126L, 0, 0)]
Aggregate Attributes [2]: [min#906450, buf#906451]
Results [3]: [orderProposalId#906097L, min#906452, buf#906453]
(80) Exchange
Input [3]: [orderProposalId#906097L, min#906452, buf#906453]
Arguments: hashpartitioning(orderProposalId#906097L, 25), ENSURE_REQUIREMENTS, [plan_id=354238]
(81) ShuffleQueryStage
Output [3]: [orderProposalId#906097L, min#906452, buf#906453]
Arguments: 8
(82) AQEShuffleRead
Input [3]: [orderProposalId#906097L, min#906452, buf#906453]
Arguments: coalesced
(83) ObjectHashAggregate
Input [3]: [orderProposalId#906097L, min#906452, buf#906453]
Keys [1]: [orderProposalId#906097L]
Functions [2]: [min(plant#906011), collect_set(previousOrderProposal#906126L, 0, 0)]
Aggregate Attributes [2]: [min(plant#906011)#906149, collect_set(previousOrderProposal#906126L, 0, 0)#906150]
Results [4]: [orderProposalId#906097L, min(plant#906011)#906149 AS plant#906127, collect_set(previousOrderProposal#906126L, 0, 0)#906150 AS previousOrderProposals#906128, orderProposalId#906097L AS nodeId#906151L]
(84) Project [codegen id : 9]
Output [5]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L, previousOrderProposals#906128 AS dependentOnNodeIds#906152]
Input [4]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L]
(85) Exchange
Input [5]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L, dependentOnNodeIds#906152]
Arguments: hashpartitioning(plant#906127, 25), REPARTITION_BY_COL, [plan_id=354290]
(86) ShuffleQueryStage
Output [5]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L, dependentOnNodeIds#906152]
Arguments: 9
(87) DeserializeToObject
Input [5]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L, dependentOnNodeIds#906152]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#906097L)), invoke(plant#906127.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -4), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -4))), previousOrderProposals#906128, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(nodeId#906151L)), mapobjects(lambdavariable(MapObject, LongType, false, -5), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -5))), dependentOnNodeIds#906152, Some(class scala.collection.mutable.ArraySeq)), StructField(orderProposalId,LongType,false), StructField(plant,StringType,true), StructField(previousOrderProposals,ArrayType(LongType,false),false), StructField(nodeId,LongType,false), StructField(dependentOnNodeIds,ArrayType(LongType,false),false)), obj#906163: org.apache.spark.sql.Row
(88) MapPartitions
Input [1]: [obj#906163]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@f9c64cd, obj#906171: org.apache.spark.sql.Row
(89) SerializeFromObject [codegen id : 10]
Input [1]: [obj#906171]
Arguments: [assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue())) AS orderProposalId#906179L, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(1))) null else static_invoke(UTF8String.fromString(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, plant), StringType, ObjectType(class java.lang.String)))) AS plant#906180, if (invoke(class [J.isInstance(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, previousOrderProposals), ArrayType(LongType,false), ObjectType(class java.lang.Object))))) static_invoke(ArrayData.toArrayData(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, previousOrderProposals), ArrayType(LongType,false), ObjectType(class java.lang.Object)))) else mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), assertnotnull(invoke(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), LongType, ObjectType(class java.lang.Long)).longValue())), validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, previousOrderProposals), ArrayType(LongType,false), ObjectType(class java.lang.Object)), None) AS previousOrderProposals#906181, assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, nodeId), LongType, ObjectType(class java.lang.Long)).longValue())) AS nodeId#906182L, if (invoke(class [J.isInstance(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, dependentOnNodeIds), ArrayType(LongType,false), ObjectType(class java.lang.Object))))) static_invoke(ArrayData.toArrayData(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, dependentOnNodeIds), ArrayType(LongType,false), ObjectType(class java.lang.Object)))) else mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), assertnotnull(invoke(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), LongType, ObjectType(class java.lang.Long)).longValue())), validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, dependentOnNodeIds), ArrayType(LongType,false), ObjectType(class java.lang.Object)), None) AS dependentOnNodeIds#906183, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(5))) null else invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, clusterId), LongType, ObjectType(class java.lang.Long)).longValue()) AS clusterId#906184L, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(6))) null else if (invoke(class [J.isInstance(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, unresolvedDependencies), ArrayType(LongType,true), ObjectType(class java.lang.Object))))) static_invoke(ArrayData.toArrayData(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, unresolvedDependencies), ArrayType(LongType,true), ObjectType(class java.lang.Object)))) else mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), invoke(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), LongType, ObjectType(class java.lang.Long)).longValue()), validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, unresolvedDependencies), ArrayType(LongType,true), ObjectType(class java.lang.Object)), None) AS unresolvedDependencies#906185]
(90) ResultQueryStage
Output [7]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, nodeId#906182L, dependentOnNodeIds#906183, clusterId#906184L, unresolvedDependencies#906185]
Arguments: 10
(91) Filter
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Condition : ((size(productOrderSchedule#906016, true) > 0) AND isnotnull(productOrderSchedule#906016))
(92) Exchange
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=353148]
(93) Project
Output [6]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, CASE WHEN isnotnull(supplyingPlant#906014) THEN productGroup#906015 ELSE subrange#906013 END AS effectiveSubrange#906036]
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
(94) Exchange
Input [6]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: hashpartitioning(coalesce(supplierGroup#906009, ), isnull(supplierGroup#906009), coalesce(supplier#906010, ), isnull(supplier#906010), coalesce(effectiveSubrange#906036, ), isnull(effectiveSubrange#906036), coalesce(plant#906011, ), isnull(plant#906011), coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00), isnull(deliveryDateTime#906012), 25), ENSURE_REQUIREMENTS, [plan_id=353172]
(95) Sort
Input [6]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: [coalesce(supplierGroup#906009, ) ASC NULLS FIRST, isnull(supplierGroup#906009) ASC NULLS FIRST, coalesce(supplier#906010, ) ASC NULLS FIRST, isnull(supplier#906010) ASC NULLS FIRST, coalesce(effectiveSubrange#906036, ) ASC NULLS FIRST, isnull(effectiveSubrange#906036) ASC NULLS FIRST, coalesce(plant#906011, ) ASC NULLS FIRST, isnull(plant#906011) ASC NULLS FIRST, coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#906012) ASC NULLS FIRST], false, 0
(96) Exchange
Input [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=353126]
(97) Filter
Input [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
Condition : isnotnull(orderGroupingProfile#906028)
(98) Exchange
Input [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=353150]
(99) BroadcastExchange
Input [2]: [orderGroupingProfile#906028, orderGroupCriteria#906030]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=353167]
(100) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#906021]
Right keys [1]: [orderGroupingProfile#906028]
Join type: LeftOuter
Join condition: None
(101) Project
Output [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, subrange#906018 AS effectiveSubrange#906037]
Input [9]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupingProfile#906028, orderGroupCriteria#906030]
(102) Exchange
Input [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
Arguments: hashpartitioning(coalesce(supplierGroup#906022, ), isnull(supplierGroup#906022), coalesce(supplier#906017, ), isnull(supplier#906017), coalesce(effectiveSubrange#906037, ), isnull(effectiveSubrange#906037), coalesce(plant#906019, ), isnull(plant#906019), coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00), isnull(deliveryDateTime#906020), 25), ENSURE_REQUIREMENTS, [plan_id=353173]
(103) Sort
Input [8]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
Arguments: [coalesce(supplierGroup#906022, ) ASC NULLS FIRST, isnull(supplierGroup#906022) ASC NULLS FIRST, coalesce(supplier#906017, ) ASC NULLS FIRST, isnull(supplier#906017) ASC NULLS FIRST, coalesce(effectiveSubrange#906037, ) ASC NULLS FIRST, isnull(effectiveSubrange#906037) ASC NULLS FIRST, coalesce(plant#906019, ) ASC NULLS FIRST, isnull(plant#906019) ASC NULLS FIRST, coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#906020) ASC NULLS FIRST], false, 0
(104) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#906009, ), isnull(supplierGroup#906009), coalesce(supplier#906010, ), isnull(supplier#906010), coalesce(effectiveSubrange#906036, ), isnull(effectiveSubrange#906036), coalesce(plant#906011, ), isnull(plant#906011), coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00), isnull(deliveryDateTime#906012)]
Right keys [10]: [coalesce(supplierGroup#906022, ), isnull(supplierGroup#906022), coalesce(supplier#906017, ), isnull(supplier#906017), coalesce(effectiveSubrange#906037, ), isnull(effectiveSubrange#906037), coalesce(plant#906019, ), isnull(plant#906019), coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00), isnull(deliveryDateTime#906020)]
Join type: LeftOuter
Join condition: None
(105) Project
Output [8]: [plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, CASE WHEN isnull(orderGroupCriteria#906030) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#906030 END AS orderGroupCriteria#906049, orderGroupingProfile#906021, coalesce(supplierGroup#906009, supplier#906010) AS supplierOrGroup#906038, coalesce(locationGroup#906023, plant#906011) AS locationOrGroup#906039]
Input [14]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, effectiveSubrange#906037]
(106) Project
Output [14]: [plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, orderGroupCriteria#906049.supplierSubrange AS _extract_supplierSubrange#906186, orderGroupCriteria#906049.mrpController AS _extract_mrpController#906187, orderGroupCriteria#906049.purchasingOrg AS _extract_purchasingOrg#906188, orderGroupCriteria#906049.orderDate AS _extract_orderDate#906189, orderGroupCriteria#906049.deliveryDate AS _extract_deliveryDate#906190, orderGroupCriteria#906049.supplier AS _extract_supplier#906191, orderGroupCriteria#906049.purchasingGroup AS _extract_purchasingGroup#906192, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
Input [8]: [plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, orderGroupCriteria#906049, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
(107) Generate
Input [14]: [plant#906011, deliveryDateTime#906012, productOrderSchedule#906016, effectiveSubrange#906036, _extract_supplierSubrange#906186, _extract_mrpController#906187, _extract_purchasingOrg#906188, _extract_orderDate#906189, _extract_deliveryDate#906190, _extract_supplier#906191, _extract_purchasingGroup#906192, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
Arguments: explode(productOrderSchedule#906016), [plant#906011, deliveryDateTime#906012, effectiveSubrange#906036, _extract_supplierSubrange#906186, _extract_mrpController#906187, _extract_purchasingOrg#906188, _extract_orderDate#906189, _extract_deliveryDate#906190, _extract_supplier#906191, _extract_purchasingGroup#906192, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039], false, [productOrderScheduleExploded#906061]
(108) Project
Output [5]: [plant#906011, productOrderScheduleExploded#906061.product AS product#906062, productOrderScheduleExploded#906061.orderDateTime AS orderDateTime#906063, productOrderScheduleExploded#906061.availabilityDateTime AS availabilityDateTime#906064, xxhash64(CASE WHEN (_extract_supplierSubrange#906186 <=> true) THEN effectiveSubrange#906036 END, orderGroupingProfile#906021, CASE WHEN (_extract_mrpController#906187 <=> true) THEN productOrderScheduleExploded#906061.mrpController END, CASE WHEN (_extract_purchasingOrg#906188 <=> true) THEN productOrderScheduleExploded#906061.purchasingOrg END, CASE WHEN (_extract_orderDate#906189 <=> true) THEN productOrderScheduleExploded#906061.orderDateTime END, CASE WHEN (_extract_deliveryDate#906190 <=> true) THEN deliveryDateTime#906012 END, CASE WHEN (_extract_supplier#906191 <=> true) THEN supplierOrGroup#906038 END, locationOrGroup#906039, CASE WHEN (_extract_purchasingGroup#906192 <=> true) THEN productOrderScheduleExploded#906061.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#906036) AND (_extract_supplierSubrange#906186 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#906021) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.mrpController) AND (_extract_mrpController#906187 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingOrg) AND (_extract_purchasingOrg#906188 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.orderDateTime) AND (_extract_orderDate#906189 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#906012) AND (_extract_deliveryDate#906190 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#906038) AND (_extract_supplier#906191 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#906039) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingGroup) AND (_extract_purchasingGroup#906192 <=> true)) THEN 256 ELSE 0 END), 10000002110, 42) AS orderProposalId#906097L]
Input [14]: [plant#906011, deliveryDateTime#906012, effectiveSubrange#906036, _extract_supplierSubrange#906186, _extract_mrpController#906187, _extract_purchasingOrg#906188, _extract_orderDate#906189, _extract_deliveryDate#906190, _extract_supplier#906191, _extract_purchasingGroup#906192, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039, productOrderScheduleExploded#906061]
(109) Exchange
Input [5]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L]
Arguments: hashpartitioning(product#906062, plant#906011, 25), ENSURE_REQUIREMENTS, [plan_id=353182]
(110) Sort
Input [5]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L]
Arguments: [product#906062 ASC NULLS FIRST, plant#906011 ASC NULLS FIRST, availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST], false, 0
(111) Window
Input [5]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L]
Arguments: [lag(orderProposalId#906097L, -1, null) windowspecdefinition(product#906062, plant#906011, availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#906126L], [product#906062, plant#906011], [availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST]
(112) Project
Output [3]: [plant#906011, orderProposalId#906097L, previousOrderProposal#906126L]
Input [6]: [plant#906011, product#906062, orderDateTime#906063, availabilityDateTime#906064, orderProposalId#906097L, previousOrderProposal#906126L]
(113) ObjectHashAggregate
Input [3]: [plant#906011, orderProposalId#906097L, previousOrderProposal#906126L]
Keys [1]: [orderProposalId#906097L]
Functions [2]: [partial_min(plant#906011), partial_collect_set(previousOrderProposal#906126L, 0, 0)]
Aggregate Attributes [2]: [min#906450, buf#906451]
Results [3]: [orderProposalId#906097L, min#906452, buf#906453]
(114) Exchange
Input [3]: [orderProposalId#906097L, min#906452, buf#906453]
Arguments: hashpartitioning(orderProposalId#906097L, 25), ENSURE_REQUIREMENTS, [plan_id=353188]
(115) ObjectHashAggregate
Input [3]: [orderProposalId#906097L, min#906452, buf#906453]
Keys [1]: [orderProposalId#906097L]
Functions [2]: [min(plant#906011), collect_set(previousOrderProposal#906126L, 0, 0)]
Aggregate Attributes [2]: [min(plant#906011)#906149, collect_set(previousOrderProposal#906126L, 0, 0)#906150]
Results [4]: [orderProposalId#906097L, min(plant#906011)#906149 AS plant#906127, collect_set(previousOrderProposal#906126L, 0, 0)#906150 AS previousOrderProposals#906128, orderProposalId#906097L AS nodeId#906151L]
(116) Project
Output [5]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L, previousOrderProposals#906128 AS dependentOnNodeIds#906152]
Input [4]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L]
(117) Exchange
Input [5]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L, dependentOnNodeIds#906152]
Arguments: hashpartitioning(plant#906127, 25), REPARTITION_BY_COL, [plan_id=353191]
(118) DeserializeToObject
Input [5]: [orderProposalId#906097L, plant#906127, previousOrderProposals#906128, nodeId#906151L, dependentOnNodeIds#906152]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#906097L)), invoke(plant#906127.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -4), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -4))), previousOrderProposals#906128, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(nodeId#906151L)), mapobjects(lambdavariable(MapObject, LongType, false, -5), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -5))), dependentOnNodeIds#906152, Some(class scala.collection.mutable.ArraySeq)), StructField(orderProposalId,LongType,false), StructField(plant,StringType,true), StructField(previousOrderProposals,ArrayType(LongType,false),false), StructField(nodeId,LongType,false), StructField(dependentOnNodeIds,ArrayType(LongType,false),false)), obj#906163: org.apache.spark.sql.Row
(119) MapPartitions
Input [1]: [obj#906163]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@f9c64cd, obj#906171: org.apache.spark.sql.Row
(120) SerializeFromObject
Input [1]: [obj#906171]
Arguments: [assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue())) AS orderProposalId#906179L, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(1))) null else static_invoke(UTF8String.fromString(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 1, plant), StringType, ObjectType(class java.lang.String)))) AS plant#906180, if (invoke(class [J.isInstance(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, previousOrderProposals), ArrayType(LongType,false), ObjectType(class java.lang.Object))))) static_invoke(ArrayData.toArrayData(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, previousOrderProposals), ArrayType(LongType,false), ObjectType(class java.lang.Object)))) else mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), assertnotnull(invoke(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -1), LongType, ObjectType(class java.lang.Long)).longValue())), validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 2, previousOrderProposals), ArrayType(LongType,false), ObjectType(class java.lang.Object)), None) AS previousOrderProposals#906181, assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, nodeId), LongType, ObjectType(class java.lang.Long)).longValue())) AS nodeId#906182L, if (invoke(class [J.isInstance(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, dependentOnNodeIds), ArrayType(LongType,false), ObjectType(class java.lang.Object))))) static_invoke(ArrayData.toArrayData(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, dependentOnNodeIds), ArrayType(LongType,false), ObjectType(class java.lang.Object)))) else mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), assertnotnull(invoke(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -2), LongType, ObjectType(class java.lang.Long)).longValue())), validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 4, dependentOnNodeIds), ArrayType(LongType,false), ObjectType(class java.lang.Object)), None) AS dependentOnNodeIds#906183, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(5))) null else invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 5, clusterId), LongType, ObjectType(class java.lang.Long)).longValue()) AS clusterId#906184L, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(6))) null else if (invoke(class [J.isInstance(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, unresolvedDependencies), ArrayType(LongType,true), ObjectType(class java.lang.Object))))) static_invoke(ArrayData.toArrayData(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, unresolvedDependencies), ArrayType(LongType,true), ObjectType(class java.lang.Object)))) else mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), invoke(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, -3), LongType, ObjectType(class java.lang.Long)).longValue()), validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, unresolvedDependencies), ArrayType(LongType,true), ObjectType(class java.lang.Object)), None) AS unresolvedDependencies#906185]
(121) AdaptiveSparkPlan
Output [7]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, nodeId#906182L, dependentOnNodeIds#906183, clusterId#906184L, unresolvedDependencies#906185]
Arguments: isFinalPlan=true
(122) TableCacheQueryStage
Output [4]: [clusterId#906184L, orderProposalId#906179L, plant#906180, previousOrderProposals#906181]
Arguments: 3
(123) Project [codegen id : 4]
Output [6]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, clusterId#906184L, orderProposalId#906179L AS nodeId#906653L, previousOrderProposals#906181 AS dependentOnNodeIds#906654]
Input [4]: [clusterId#906184L, orderProposalId#906179L, plant#906180, previousOrderProposals#906181]
(124) Exchange
Input [6]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, clusterId#906184L, nodeId#906653L, dependentOnNodeIds#906654]
Arguments: hashpartitioning(clusterId#906184L, 25), REPARTITION_BY_COL, [plan_id=354723]
(125) ShuffleQueryStage
Output [6]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, clusterId#906184L, nodeId#906653L, dependentOnNodeIds#906654]
Arguments: 4
(126) AQEShuffleRead
Input [6]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, clusterId#906184L, nodeId#906653L, dependentOnNodeIds#906654]
Arguments: coalesced
(127) DeserializeToObject
Input [6]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, clusterId#906184L, nodeId#906653L, dependentOnNodeIds#906654]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#906179L)), invoke(plant#906180.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -1), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -1))), previousOrderProposals#906181, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(clusterId#906184L)), static_invoke(java.lang.Long.valueOf(nodeId#906653L)), mapobjects(lambdavariable(MapObject, LongType, false, -2), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -2))), dependentOnNodeIds#906654, Some(class scala.collection.mutable.ArraySeq)), StructField(orderProposalId,LongType,false), StructField(plant,StringType,true), StructField(previousOrderProposals,ArrayType(LongType,false),false), StructField(clusterId,LongType,true), StructField(nodeId,LongType,false), StructField(dependentOnNodeIds,ArrayType(LongType,false),false)), obj#906667: org.apache.spark.sql.Row
(128) MapPartitions
Input [1]: [obj#906667]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@576f7382, obj#906675: org.apache.spark.sql.Row
(129) SerializeFromObject [codegen id : 6]
Input [1]: [obj#906675]
Arguments: [assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue())) AS orderProposalId#906683L, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(3))) null else invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, clusterId), LongType, ObjectType(class java.lang.Long)).longValue()) AS clusterId#906686L, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(6))) null else invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, sequenceId), IntegerType, ObjectType(class java.lang.Integer)).intValue()) AS sequenceId#906689]
(130) BroadcastExchange
Input [3]: [orderProposalId#906683L, clusterId#906686L, sequenceId#906689]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=354996]
(131) BroadcastQueryStage
Output [3]: [orderProposalId#906683L, clusterId#906686L, sequenceId#906689]
Arguments: 6
(132) BroadcastHashJoin [codegen id : 10]
Left keys [1]: [orderProposalId#906097L]
Right keys [1]: [orderProposalId#906683L]
Join type: LeftOuter
Join condition: None
(133) Project [codegen id : 10]
Output [22]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, 0 AS orderProposalHorizonGroupingId#906098L, splitIndicator#906125L, previousOrderProposal#906126L, clusterId#906686L, sequenceId#906689]
Input [22]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L, previousOrderProposal#906126L, orderProposalId#906683L, clusterId#906686L, sequenceId#906689]
(134) ResultQueryStage
Output [22]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, orderProposalHorizonGroupingId#906098L, splitIndicator#906125L, previousOrderProposal#906126L, clusterId#906686L, sequenceId#906689]
Arguments: 11
(135) Filter
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Condition : ((size(productOrderSchedule#906016, true) > 0) AND isnotnull(productOrderSchedule#906016))
(136) Exchange
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=354437]
(137) Project
Output [9]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, CASE WHEN isnotnull(supplyingPlant#906014) THEN productGroup#906015 ELSE subrange#906013 END AS effectiveSubrange#906036]
Input [8]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016]
(138) Exchange
Input [9]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: hashpartitioning(coalesce(supplierGroup#906009, ), isnull(supplierGroup#906009), coalesce(supplier#906010, ), isnull(supplier#906010), coalesce(effectiveSubrange#906036, ), isnull(effectiveSubrange#906036), coalesce(plant#906011, ), isnull(plant#906011), coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00), isnull(deliveryDateTime#906012), 25), ENSURE_REQUIREMENTS, [plan_id=354455]
(139) Sort
Input [9]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036]
Arguments: [coalesce(supplierGroup#906009, ) ASC NULLS FIRST, isnull(supplierGroup#906009) ASC NULLS FIRST, coalesce(supplier#906010, ) ASC NULLS FIRST, isnull(supplier#906010) ASC NULLS FIRST, coalesce(effectiveSubrange#906036, ) ASC NULLS FIRST, isnull(effectiveSubrange#906036) ASC NULLS FIRST, coalesce(plant#906011, ) ASC NULLS FIRST, isnull(plant#906011) ASC NULLS FIRST, coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#906012) ASC NULLS FIRST], false, 0
(140) Exchange
Input [7]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=354415]
(141) Filter
Input [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
Condition : isnotnull(orderGroupingProfile#906028)
(142) Exchange
Input [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=354439]
(143) BroadcastExchange
Input [3]: [orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=354450]
(144) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#906021]
Right keys [1]: [orderGroupingProfile#906028]
Join type: LeftOuter
Join condition: None
(145) Project
Output [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, subrange#906018 AS effectiveSubrange#906037]
Input [10]: [supplier#906017, subrange#906018, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupingProfile#906028, orderGroupCriteria#906030, orderSplitCriteria#906031]
(146) Exchange
Input [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
Arguments: hashpartitioning(coalesce(supplierGroup#906022, ), isnull(supplierGroup#906022), coalesce(supplier#906017, ), isnull(supplier#906017), coalesce(effectiveSubrange#906037, ), isnull(effectiveSubrange#906037), coalesce(plant#906019, ), isnull(plant#906019), coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00), isnull(deliveryDateTime#906020), 25), ENSURE_REQUIREMENTS, [plan_id=354456]
(147) Sort
Input [9]: [supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
Arguments: [coalesce(supplierGroup#906022, ) ASC NULLS FIRST, isnull(supplierGroup#906022) ASC NULLS FIRST, coalesce(supplier#906017, ) ASC NULLS FIRST, isnull(supplier#906017) ASC NULLS FIRST, coalesce(effectiveSubrange#906037, ) ASC NULLS FIRST, isnull(effectiveSubrange#906037) ASC NULLS FIRST, coalesce(plant#906019, ) ASC NULLS FIRST, isnull(plant#906019) ASC NULLS FIRST, coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#906020) ASC NULLS FIRST], false, 0
(148) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#906009, ), isnull(supplierGroup#906009), coalesce(supplier#906010, ), isnull(supplier#906010), coalesce(effectiveSubrange#906036, ), isnull(effectiveSubrange#906036), coalesce(plant#906011, ), isnull(plant#906011), coalesce(deliveryDateTime#906012, 1970-01-01 00:00:00), isnull(deliveryDateTime#906012)]
Right keys [10]: [coalesce(supplierGroup#906022, ), isnull(supplierGroup#906022), coalesce(supplier#906017, ), isnull(supplier#906017), coalesce(effectiveSubrange#906037, ), isnull(effectiveSubrange#906037), coalesce(plant#906019, ), isnull(plant#906019), coalesce(deliveryDateTime#906020, 1970-01-01 00:00:00), isnull(deliveryDateTime#906020)]
Join type: LeftOuter
Join condition: None
(149) Project
Output [14]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, CASE WHEN isnull(orderGroupCriteria#906030) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#906030 END AS orderGroupCriteria#906049, CASE WHEN isnull(orderSplitCriteria#906031) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#906031 END AS orderSplitCriteria#906059, orderGroupingProfile#906021, coalesce(supplierGroup#906009, supplier#906010) AS supplierOrGroup#906038, coalesce(locationGroup#906023, plant#906011) AS locationOrGroup#906039]
Input [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, supplier#906017, plant#906019, deliverydatetime#906020, ordergroupingprofile#906021, supplierGroup#906022, locationGroup#906023, orderGroupCriteria#906030, orderSplitCriteria#906031, effectiveSubrange#906037]
(150) Project
Output [26]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, orderGroupCriteria#906049.supplierSubrange AS _extract_supplierSubrange#906839, orderGroupCriteria#906049.mrpController AS _extract_mrpController#906840, orderGroupCriteria#906049.purchasingOrg AS _extract_purchasingOrg#906841, orderGroupCriteria#906049.orderDate AS _extract_orderDate#906842, orderGroupCriteria#906049.deliveryDate AS _extract_deliveryDate#906843, orderGroupCriteria#906049.supplier AS _extract_supplier#906844, orderGroupCriteria#906049.purchasingGroup AS _extract_purchasingGroup#906845, orderSplitCriteria#906059.supplierSubrange AS _extract_supplierSubrange#906832, orderSplitCriteria#906059.mrpController AS _extract_mrpController#906833, orderSplitCriteria#906059.orderDate AS _extract_orderDate#906834, orderSplitCriteria#906059.supplier AS _extract_supplier#906835, orderSplitCriteria#906059.deliveryDate AS _extract_deliveryDate#906836, orderSplitCriteria#906059.purchasingOrg AS _extract_purchasingOrg#906837, orderSplitCriteria#906059.purchasingGroup AS _extract_purchasingGroup#906838, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
Input [14]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, orderGroupCriteria#906049, orderSplitCriteria#906059, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
(151) Generate
Input [26]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderSchedule#906016, effectiveSubrange#906036, _extract_supplierSubrange#906839, _extract_mrpController#906840, _extract_purchasingOrg#906841, _extract_orderDate#906842, _extract_deliveryDate#906843, _extract_supplier#906844, _extract_purchasingGroup#906845, _extract_supplierSubrange#906832, _extract_mrpController#906833, _extract_orderDate#906834, _extract_supplier#906835, _extract_deliveryDate#906836, _extract_purchasingOrg#906837, _extract_purchasingGroup#906838, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039]
Arguments: explode(productOrderSchedule#906016), [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, effectiveSubrange#906036, _extract_supplierSubrange#906839, _extract_mrpController#906840, _extract_purchasingOrg#906841, _extract_orderDate#906842, _extract_deliveryDate#906843, _extract_supplier#906844, _extract_purchasingGroup#906845, _extract_supplierSubrange#906832, _extract_mrpController#906833, _extract_orderDate#906834, _extract_supplier#906835, _extract_deliveryDate#906836, _extract_purchasingOrg#906837, _extract_purchasingGroup#906838, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039], false, [productOrderScheduleExploded#906061]
(152) Project
Output [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, productOrderScheduleExploded#906061.product AS product#906062, productOrderScheduleExploded#906061.orderDateTime AS orderDateTime#906063, productOrderScheduleExploded#906061.availabilityDateTime AS availabilityDateTime#906064, productOrderScheduleExploded#906061.nextAvailabilityDateTime AS nextAvailabilityDateTime#906065, productOrderScheduleExploded#906061.mrpController AS mrpController#906066, productOrderScheduleExploded#906061.sourceOfSupplyUuid AS sourceOfSupplyUuid#906067, productOrderScheduleExploded#906061.purchasingOrg AS purchasingOrg#906068, productOrderScheduleExploded#906061.purchasingGroup AS purchasingGroup#906069, productOrderScheduleExploded#906061.isFallbackOrderOnly AS isFallbackOrderOnly#906070, xxhash64(CASE WHEN (_extract_supplierSubrange#906839 <=> true) THEN effectiveSubrange#906036 END, orderGroupingProfile#906021, CASE WHEN (_extract_mrpController#906840 <=> true) THEN productOrderScheduleExploded#906061.mrpController END, CASE WHEN (_extract_purchasingOrg#906841 <=> true) THEN productOrderScheduleExploded#906061.purchasingOrg END, CASE WHEN (_extract_orderDate#906842 <=> true) THEN productOrderScheduleExploded#906061.orderDateTime END, CASE WHEN (_extract_deliveryDate#906843 <=> true) THEN deliveryDateTime#906012 END, CASE WHEN (_extract_supplier#906844 <=> true) THEN supplierOrGroup#906038 END, locationOrGroup#906039, CASE WHEN (_extract_purchasingGroup#906845 <=> true) THEN productOrderScheduleExploded#906061.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#906036) AND (_extract_supplierSubrange#906839 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#906021) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.mrpController) AND (_extract_mrpController#906840 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingOrg) AND (_extract_purchasingOrg#906841 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.orderDateTime) AND (_extract_orderDate#906842 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#906012) AND (_extract_deliveryDate#906843 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#906038) AND (_extract_supplier#906844 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#906039) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingGroup) AND (_extract_purchasingGroup#906845 <=> true)) THEN 256 ELSE 0 END), 10000002110, 42) AS orderProposalId#906097L, xxhash64(CASE WHEN (_extract_supplierSubrange#906832 <=> true) THEN effectiveSubrange#906036 END, orderGroupingProfile#906021, CASE WHEN (_extract_mrpController#906833 <=> true) THEN productOrderScheduleExploded#906061.mrpController END, CASE WHEN (_extract_orderDate#906834 <=> true) THEN productOrderScheduleExploded#906061.orderDateTime END, CASE WHEN (_extract_supplier#906835 <=> true) THEN supplier#906010 END, CASE WHEN (_extract_deliveryDate#906836 <=> true) THEN deliveryDateTime#906012 END, CASE WHEN (_extract_purchasingOrg#906837 <=> true) THEN productOrderScheduleExploded#906061.purchasingOrg END, plant#906011, CASE WHEN (_extract_purchasingGroup#906838 <=> true) THEN productOrderScheduleExploded#906061.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#906036) AND (_extract_supplierSubrange#906832 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#906021) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.mrpController) AND (_extract_mrpController#906833 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.orderDateTime) AND (_extract_orderDate#906834 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(supplier#906010) AND (_extract_supplier#906835 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#906012) AND (_extract_deliveryDate#906836 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingOrg) AND (_extract_purchasingOrg#906837 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(plant#906011) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#906061.purchasingGroup) AND (_extract_purchasingGroup#906838 <=> true)) THEN 256 ELSE 0 END), 10000002110, 42) AS splitIndicator#906125L]
Input [26]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, effectiveSubrange#906036, _extract_supplierSubrange#906839, _extract_mrpController#906840, _extract_purchasingOrg#906841, _extract_orderDate#906842, _extract_deliveryDate#906843, _extract_supplier#906844, _extract_purchasingGroup#906845, _extract_supplierSubrange#906832, _extract_mrpController#906833, _extract_orderDate#906834, _extract_supplier#906835, _extract_deliveryDate#906836, _extract_purchasingOrg#906837, _extract_purchasingGroup#906838, orderGroupingProfile#906021, supplierOrGroup#906038, locationOrGroup#906039, productOrderScheduleExploded#906061]
(153) Exchange
Input [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L]
Arguments: hashpartitioning(product#906062, plant#906011, 25), ENSURE_REQUIREMENTS, [plan_id=354465]
(154) Sort
Input [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L]
Arguments: [product#906062 ASC NULLS FIRST, plant#906011 ASC NULLS FIRST, availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST], false, 0
(155) Window
Input [18]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L]
Arguments: [lag(orderProposalId#906097L, -1, null) windowspecdefinition(product#906062, plant#906011, availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#906126L], [product#906062, plant#906011], [availabilityDateTime#906064 ASC NULLS FIRST, orderDateTime#906063 ASC NULLS FIRST, orderProposalId#906097L ASC NULLS FIRST]
(156) Project
Output [6]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, clusterId#906184L, orderProposalId#906179L AS nodeId#906653L, previousOrderProposals#906181 AS dependentOnNodeIds#906654]
Input [4]: [clusterId#906184L, orderProposalId#906179L, plant#906180, previousOrderProposals#906181]
(157) Exchange
Input [6]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, clusterId#906184L, nodeId#906653L, dependentOnNodeIds#906654]
Arguments: hashpartitioning(clusterId#906184L, 25), REPARTITION_BY_COL, [plan_id=354430]
(158) DeserializeToObject
Input [6]: [orderProposalId#906179L, plant#906180, previousOrderProposals#906181, clusterId#906184L, nodeId#906653L, dependentOnNodeIds#906654]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#906179L)), invoke(plant#906180.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -1), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -1))), previousOrderProposals#906181, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(clusterId#906184L)), static_invoke(java.lang.Long.valueOf(nodeId#906653L)), mapobjects(lambdavariable(MapObject, LongType, false, -2), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -2))), dependentOnNodeIds#906654, Some(class scala.collection.mutable.ArraySeq)), StructField(orderProposalId,LongType,false), StructField(plant,StringType,true), StructField(previousOrderProposals,ArrayType(LongType,false),false), StructField(clusterId,LongType,true), StructField(nodeId,LongType,false), StructField(dependentOnNodeIds,ArrayType(LongType,false),false)), obj#906667: org.apache.spark.sql.Row
(159) MapPartitions
Input [1]: [obj#906667]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@576f7382, obj#906675: org.apache.spark.sql.Row
(160) SerializeFromObject
Input [1]: [obj#906675]
Arguments: [assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 0, orderProposalId), LongType, ObjectType(class java.lang.Long)).longValue())) AS orderProposalId#906683L, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(3))) null else invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, clusterId), LongType, ObjectType(class java.lang.Long)).longValue()) AS clusterId#906686L, if (invoke(assertnotnull(input[0, org.apache.spark.sql.Row, true]).isNullAt(6))) null else invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 6, sequenceId), IntegerType, ObjectType(class java.lang.Integer)).intValue()) AS sequenceId#906689]
(161) BroadcastExchange
Input [3]: [orderProposalId#906683L, clusterId#906686L, sequenceId#906689]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=354469]
(162) BroadcastHashJoin
Left keys [1]: [orderProposalId#906097L]
Right keys [1]: [orderProposalId#906683L]
Join type: LeftOuter
Join condition: None
(163) Project
Output [22]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, 0 AS orderProposalHorizonGroupingId#906098L, splitIndicator#906125L, previousOrderProposal#906126L, clusterId#906686L, sequenceId#906689]
Input [22]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, splitIndicator#906125L, previousOrderProposal#906126L, orderProposalId#906683L, clusterId#906686L, sequenceId#906689]
(164) AdaptiveSparkPlan
Output [22]: [supplierGroup#906009, supplier#906010, plant#906011, deliveryDateTime#906012, subrange#906013, supplyingPlant#906014, productGroup#906015, product#906062, orderDateTime#906063, availabilityDateTime#906064, nextAvailabilityDateTime#906065, mrpController#906066, sourceOfSupplyUuid#906067, purchasingOrg#906068, purchasingGroup#906069, isFallbackOrderOnly#906070, orderProposalId#906097L, orderProposalHorizonGroupingId#906098L, splitIndicator#906125L, previousOrderProposal#906126L, clusterId#906686L, sequenceId#906689]
Arguments: isFinalPlan=true
(165) TableCacheQueryStage
Output [1]: [plant#906011]
Arguments: 0
(166) HashAggregate [codegen id : 1]
Input [1]: [plant#906011]
Keys [1]: [plant#906011]
Functions: []
Aggregate Attributes: []
Results [1]: [plant#906011]
(167) Exchange
Input [1]: [plant#906011]
Arguments: hashpartitioning(plant#906011, 25), ENSURE_REQUIREMENTS, [plan_id=355569]
(168) ShuffleQueryStage
Output [1]: [plant#906011]
Arguments: 1
(169) AQEShuffleRead
Input [1]: [plant#906011]
Arguments: coalesced
(170) HashAggregate [codegen id : 2]
Input [1]: [plant#906011]
Keys [1]: [plant#906011]
Functions: []
Aggregate Attributes: []
Results: []
(171) HashAggregate [codegen id : 2]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#908036L]
Results [1]: [count#908037L]
(172) Exchange
Input [1]: [count#908037L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=355601]
(173) ShuffleQueryStage
Output [1]: [count#908037L]
Arguments: 2
(174) HashAggregate [codegen id : 3]
Input [1]: [count#908037L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#907705L]
Results [1]: [count(1)#907705L AS count#907703L]
(175) ResultQueryStage
Output [1]: [count#907703L]
Arguments: 3
(176) HashAggregate
Input [1]: [plant#906011]
Keys [1]: [plant#906011]
Functions: []
Aggregate Attributes: []
Results [1]: [plant#906011]
(177) Exchange
Input [1]: [plant#906011]
Arguments: hashpartitioning(plant#906011, 25), ENSURE_REQUIREMENTS, [plan_id=355517]
(178) HashAggregate
Input [1]: [plant#906011]
Keys [1]: [plant#906011]
Functions: []
Aggregate Attributes: []
Results: []
(179) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#908036L]
Results [1]: [count#908037L]
(180) Exchange
Input [1]: [count#908037L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=355521]
(181) HashAggregate
Input [1]: [count#908037L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#907705L]
Results [1]: [count(1)#907705L AS count#907703L]
(182) AdaptiveSparkPlan
Output [1]: [count#907703L]
Arguments: isFinalPlan=true