== Physical Plan ==
AdaptiveSparkPlan (174)
+- == Final Plan ==
ResultQueryStage (170), Statistics(sizeInBytes=8.0 EiB)
+- * HashAggregate (169)
+- ShuffleQueryStage (168), Statistics(sizeInBytes=400.0 B, rowCount=25)
+- Exchange (167)
+- * HashAggregate (166)
+- TableCacheQueryStage (165), Statistics(sizeInBytes=59.1 KiB, rowCount=170)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (164)
+- == Final Plan ==
ResultQueryStage (134)
+- * Project (133)
+- * BroadcastHashJoin LeftOuter BuildRight (132)
:- Window (38)
: +- * Sort (37)
: +- ShuffleQueryStage (36), Statistics(sizeInBytes=65.1 KiB, rowCount=170)
: +- Exchange (35)
: +- * Project (34)
: +- * Generate (33)
: +- * Project (32)
: +- * Project (31)
: +- * BroadcastHashJoin LeftOuter BuildRight (30)
: :- AQEShuffleRead (11)
: : +- ShuffleQueryStage (10), Statistics(sizeInBytes=48.4 KiB, rowCount=40)
: : +- Exchange (9)
: : +- * Project (8)
: : +- ShuffleQueryStage (7), Statistics(sizeInBytes=47.7 KiB, rowCount=40)
: : +- Exchange (6)
: : +- * Filter (5)
: : +- * ColumnarToRow (4)
: : +- Scan parquet (3)
: +- BroadcastQueryStage (29), Statistics(sizeInBytes=2.0 MiB, rowCount=40)
: +- BroadcastExchange (28)
: +- AQEShuffleRead (27)
: +- ShuffleQueryStage (26), Statistics(sizeInBytes=13.1 KiB, rowCount=40)
: +- Exchange (25)
: +- * Project (24)
: +- * BroadcastHashJoin LeftOuter BuildRight (23)
: :- ShuffleQueryStage (15), Statistics(sizeInBytes=6.6 KiB, rowCount=40)
: : +- 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=1025.0 KiB, rowCount=25)
+- BroadcastExchange (130)
+- * SerializeFromObject (129)
+- MapPartitions (128)
+- DeserializeToObject (127)
+- AQEShuffleRead (126)
+- ShuffleQueryStage (125), Statistics(sizeInBytes=3.2 KiB, rowCount=25)
+- Exchange (124)
+- * Project (123)
+- TableCacheQueryStage (122), Statistics(sizeInBytes=3.0 KiB, rowCount=25)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=3.0 KiB, rowCount=25)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=2.5 KiB, rowCount=25)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=18.6 KiB, rowCount=170)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=47.1 KiB, rowCount=40)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=47.7 KiB, rowCount=40)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=40)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=9.7 KiB, rowCount=40)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=6.6 KiB, rowCount=40)
: +- 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=3.0 KiB, rowCount=25)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=2.5 KiB, rowCount=25)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=18.6 KiB, rowCount=170)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=47.1 KiB, rowCount=40)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=47.7 KiB, rowCount=40)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=40)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=9.7 KiB, rowCount=40)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=6.6 KiB, rowCount=40)
: +- 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 (173)
+- Exchange (172)
+- HashAggregate (171)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (164)
+- == Final Plan ==
ResultQueryStage (134)
+- * Project (133)
+- * BroadcastHashJoin LeftOuter BuildRight (132)
:- Window (38)
: +- * Sort (37)
: +- ShuffleQueryStage (36), Statistics(sizeInBytes=65.1 KiB, rowCount=170)
: +- Exchange (35)
: +- * Project (34)
: +- * Generate (33)
: +- * Project (32)
: +- * Project (31)
: +- * BroadcastHashJoin LeftOuter BuildRight (30)
: :- AQEShuffleRead (11)
: : +- ShuffleQueryStage (10), Statistics(sizeInBytes=48.4 KiB, rowCount=40)
: : +- Exchange (9)
: : +- * Project (8)
: : +- ShuffleQueryStage (7), Statistics(sizeInBytes=47.7 KiB, rowCount=40)
: : +- Exchange (6)
: : +- * Filter (5)
: : +- * ColumnarToRow (4)
: : +- Scan parquet (3)
: +- BroadcastQueryStage (29), Statistics(sizeInBytes=2.0 MiB, rowCount=40)
: +- BroadcastExchange (28)
: +- AQEShuffleRead (27)
: +- ShuffleQueryStage (26), Statistics(sizeInBytes=13.1 KiB, rowCount=40)
: +- Exchange (25)
: +- * Project (24)
: +- * BroadcastHashJoin LeftOuter BuildRight (23)
: :- ShuffleQueryStage (15), Statistics(sizeInBytes=6.6 KiB, rowCount=40)
: : +- 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=1025.0 KiB, rowCount=25)
+- BroadcastExchange (130)
+- * SerializeFromObject (129)
+- MapPartitions (128)
+- DeserializeToObject (127)
+- AQEShuffleRead (126)
+- ShuffleQueryStage (125), Statistics(sizeInBytes=3.2 KiB, rowCount=25)
+- Exchange (124)
+- * Project (123)
+- TableCacheQueryStage (122), Statistics(sizeInBytes=3.0 KiB, rowCount=25)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=3.0 KiB, rowCount=25)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=2.5 KiB, rowCount=25)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=18.6 KiB, rowCount=170)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=47.1 KiB, rowCount=40)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=47.7 KiB, rowCount=40)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=40)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=9.7 KiB, rowCount=40)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=6.6 KiB, rowCount=40)
: +- 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=3.0 KiB, rowCount=25)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=2.5 KiB, rowCount=25)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=18.6 KiB, rowCount=170)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=47.1 KiB, rowCount=40)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=47.7 KiB, rowCount=40)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=40)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=9.7 KiB, rowCount=40)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=6.6 KiB, rowCount=40)
: +- 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: []
(2) InMemoryRelation
Arguments: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, orderProposalHorizonGroupingId#993569L, splitIndicator#993596L, previousOrderProposal#993597L, clusterId#993968L, sequenceId#993971], StorageLevel(disk, memory, 2 replicas)
(3) Scan parquet
Output [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
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/10000002111]
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#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
(5) Filter [codegen id : 1]
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Condition : ((size(productOrderSchedule#993487, true) > 0) AND isnotnull(productOrderSchedule#993487))
(6) Exchange
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=386796]
(7) ShuffleQueryStage
Output [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Arguments: 0
(8) Project [codegen id : 6]
Output [9]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, CASE WHEN isnotnull(supplyingPlant#993485) THEN productGroup#993486 ELSE subrange#993484 END AS effectiveSubrange#993507]
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
(9) Exchange
Input [9]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: hashpartitioning(coalesce(supplierGroup#993480, ), isnull(supplierGroup#993480), coalesce(supplier#993481, ), isnull(supplier#993481), coalesce(effectiveSubrange#993507, ), isnull(effectiveSubrange#993507), coalesce(plant#993482, ), isnull(plant#993482), coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00), isnull(deliveryDateTime#993483), 25), ENSURE_REQUIREMENTS, [plan_id=387380]
(10) ShuffleQueryStage
Output [9]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: 7
(11) AQEShuffleRead
Input [9]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: local
(12) Scan parquet
Output [7]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000002111/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#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
(14) Exchange
Input [7]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=386812]
(15) ShuffleQueryStage
Output [7]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
Arguments: 1
(16) Scan parquet
Output [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
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#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
(18) Filter [codegen id : 3]
Input [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
Condition : isnotnull(orderGroupingProfile#993499)
(19) Exchange
Input [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=386825]
(20) ShuffleQueryStage
Output [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
Arguments: 2
(21) BroadcastExchange
Input [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=386833]
(22) BroadcastQueryStage
Output [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
Arguments: 6
(23) BroadcastHashJoin [codegen id : 7]
Left keys [1]: [orderGroupingProfile#993492]
Right keys [1]: [orderGroupingProfile#993499]
Join type: LeftOuter
Join condition: None
(24) Project [codegen id : 7]
Output [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, subrange#993489 AS effectiveSubrange#993508]
Input [10]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
(25) Exchange
Input [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
Arguments: hashpartitioning(coalesce(supplierGroup#993493, ), isnull(supplierGroup#993493), coalesce(supplier#993488, ), isnull(supplier#993488), coalesce(effectiveSubrange#993508, ), isnull(effectiveSubrange#993508), coalesce(plant#993490, ), isnull(plant#993490), coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00), isnull(deliveryDateTime#993491), 25), ENSURE_REQUIREMENTS, [plan_id=387470]
(26) ShuffleQueryStage
Output [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
Arguments: 8
(27) AQEShuffleRead
Input [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
Arguments: local
(28) BroadcastExchange
Input [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
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=387605]
(29) BroadcastQueryStage
Output [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
Arguments: 9
(30) BroadcastHashJoin [codegen id : 8]
Left keys [10]: [coalesce(supplierGroup#993480, ), isnull(supplierGroup#993480), coalesce(supplier#993481, ), isnull(supplier#993481), coalesce(effectiveSubrange#993507, ), isnull(effectiveSubrange#993507), coalesce(plant#993482, ), isnull(plant#993482), coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00), isnull(deliveryDateTime#993483)]
Right keys [10]: [coalesce(supplierGroup#993493, ), isnull(supplierGroup#993493), coalesce(supplier#993488, ), isnull(supplier#993488), coalesce(effectiveSubrange#993508, ), isnull(effectiveSubrange#993508), coalesce(plant#993490, ), isnull(plant#993490), coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00), isnull(deliveryDateTime#993491)]
Join type: LeftOuter
Join condition: None
(31) Project [codegen id : 8]
Output [14]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, CASE WHEN isnull(orderGroupCriteria#993501) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#993501 END AS orderGroupCriteria#993520, CASE WHEN isnull(orderSplitCriteria#993502) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#993502 END AS orderSplitCriteria#993530, orderGroupingProfile#993492, coalesce(supplierGroup#993480, supplier#993481) AS supplierOrGroup#993509, coalesce(locationGroup#993494, plant#993482) AS locationOrGroup#993510]
Input [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
(32) Project [codegen id : 8]
Output [26]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, orderGroupCriteria#993520.supplierSubrange AS _extract_supplierSubrange#994114, orderGroupCriteria#993520.mrpController AS _extract_mrpController#994115, orderGroupCriteria#993520.purchasingOrg AS _extract_purchasingOrg#994116, orderGroupCriteria#993520.orderDate AS _extract_orderDate#994117, orderGroupCriteria#993520.deliveryDate AS _extract_deliveryDate#994118, orderGroupCriteria#993520.supplier AS _extract_supplier#994119, orderGroupCriteria#993520.purchasingGroup AS _extract_purchasingGroup#994120, orderSplitCriteria#993530.supplierSubrange AS _extract_supplierSubrange#994121, orderSplitCriteria#993530.mrpController AS _extract_mrpController#994122, orderSplitCriteria#993530.orderDate AS _extract_orderDate#994123, orderSplitCriteria#993530.supplier AS _extract_supplier#994124, orderSplitCriteria#993530.deliveryDate AS _extract_deliveryDate#994125, orderSplitCriteria#993530.purchasingOrg AS _extract_purchasingOrg#994126, orderSplitCriteria#993530.purchasingGroup AS _extract_purchasingGroup#994127, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
Input [14]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, orderGroupCriteria#993520, orderSplitCriteria#993530, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
(33) Generate [codegen id : 8]
Input [26]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, _extract_supplierSubrange#994114, _extract_mrpController#994115, _extract_purchasingOrg#994116, _extract_orderDate#994117, _extract_deliveryDate#994118, _extract_supplier#994119, _extract_purchasingGroup#994120, _extract_supplierSubrange#994121, _extract_mrpController#994122, _extract_orderDate#994123, _extract_supplier#994124, _extract_deliveryDate#994125, _extract_purchasingOrg#994126, _extract_purchasingGroup#994127, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
Arguments: explode(productOrderSchedule#993487), [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, effectiveSubrange#993507, _extract_supplierSubrange#994114, _extract_mrpController#994115, _extract_purchasingOrg#994116, _extract_orderDate#994117, _extract_deliveryDate#994118, _extract_supplier#994119, _extract_purchasingGroup#994120, _extract_supplierSubrange#994121, _extract_mrpController#994122, _extract_orderDate#994123, _extract_supplier#994124, _extract_deliveryDate#994125, _extract_purchasingOrg#994126, _extract_purchasingGroup#994127, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510], false, [productOrderScheduleExploded#993532]
(34) Project [codegen id : 8]
Output [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderScheduleExploded#993532.product AS product#993533, productOrderScheduleExploded#993532.orderDateTime AS orderDateTime#993534, productOrderScheduleExploded#993532.availabilityDateTime AS availabilityDateTime#993535, productOrderScheduleExploded#993532.nextAvailabilityDateTime AS nextAvailabilityDateTime#993536, productOrderScheduleExploded#993532.mrpController AS mrpController#993537, productOrderScheduleExploded#993532.sourceOfSupplyUuid AS sourceOfSupplyUuid#993538, productOrderScheduleExploded#993532.purchasingOrg AS purchasingOrg#993539, productOrderScheduleExploded#993532.purchasingGroup AS purchasingGroup#993540, productOrderScheduleExploded#993532.isFallbackOrderOnly AS isFallbackOrderOnly#993541, xxhash64(CASE WHEN (_extract_supplierSubrange#994114 <=> true) THEN effectiveSubrange#993507 END, orderGroupingProfile#993492, CASE WHEN (_extract_mrpController#994115 <=> true) THEN productOrderScheduleExploded#993532.mrpController END, CASE WHEN (_extract_purchasingOrg#994116 <=> true) THEN productOrderScheduleExploded#993532.purchasingOrg END, CASE WHEN (_extract_orderDate#994117 <=> true) THEN productOrderScheduleExploded#993532.orderDateTime END, CASE WHEN (_extract_deliveryDate#994118 <=> true) THEN deliveryDateTime#993483 END, CASE WHEN (_extract_supplier#994119 <=> true) THEN supplierOrGroup#993509 END, locationOrGroup#993510, CASE WHEN (_extract_purchasingGroup#994120 <=> true) THEN productOrderScheduleExploded#993532.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#993507) AND (_extract_supplierSubrange#994114 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#993492) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.mrpController) AND (_extract_mrpController#994115 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingOrg) AND (_extract_purchasingOrg#994116 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.orderDateTime) AND (_extract_orderDate#994117 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#993483) AND (_extract_deliveryDate#994118 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#993509) AND (_extract_supplier#994119 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#993510) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingGroup) AND (_extract_purchasingGroup#994120 <=> true)) THEN 256 ELSE 0 END), 10000002111, 42) AS orderProposalId#993568L, xxhash64(CASE WHEN (_extract_supplierSubrange#994121 <=> true) THEN effectiveSubrange#993507 END, orderGroupingProfile#993492, CASE WHEN (_extract_mrpController#994122 <=> true) THEN productOrderScheduleExploded#993532.mrpController END, CASE WHEN (_extract_orderDate#994123 <=> true) THEN productOrderScheduleExploded#993532.orderDateTime END, CASE WHEN (_extract_supplier#994124 <=> true) THEN supplier#993481 END, CASE WHEN (_extract_deliveryDate#994125 <=> true) THEN deliveryDateTime#993483 END, CASE WHEN (_extract_purchasingOrg#994126 <=> true) THEN productOrderScheduleExploded#993532.purchasingOrg END, plant#993482, CASE WHEN (_extract_purchasingGroup#994127 <=> true) THEN productOrderScheduleExploded#993532.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#993507) AND (_extract_supplierSubrange#994121 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#993492) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.mrpController) AND (_extract_mrpController#994122 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.orderDateTime) AND (_extract_orderDate#994123 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(supplier#993481) AND (_extract_supplier#994124 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#993483) AND (_extract_deliveryDate#994125 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingOrg) AND (_extract_purchasingOrg#994126 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(plant#993482) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingGroup) AND (_extract_purchasingGroup#994127 <=> true)) THEN 256 ELSE 0 END), 10000002111, 42) AS splitIndicator#993596L]
Input [26]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, effectiveSubrange#993507, _extract_supplierSubrange#994114, _extract_mrpController#994115, _extract_purchasingOrg#994116, _extract_orderDate#994117, _extract_deliveryDate#994118, _extract_supplier#994119, _extract_purchasingGroup#994120, _extract_supplierSubrange#994121, _extract_mrpController#994122, _extract_orderDate#994123, _extract_supplier#994124, _extract_deliveryDate#994125, _extract_purchasingOrg#994126, _extract_purchasingGroup#994127, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510, productOrderScheduleExploded#993532]
(35) Exchange
Input [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L]
Arguments: hashpartitioning(product#993533, plant#993482, 25), ENSURE_REQUIREMENTS, [plan_id=387686]
(36) ShuffleQueryStage
Output [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L]
Arguments: 10
(37) Sort [codegen id : 9]
Input [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L]
Arguments: [product#993533 ASC NULLS FIRST, plant#993482 ASC NULLS FIRST, availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST], false, 0
(38) Window
Input [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L]
Arguments: [lag(orderProposalId#993568L, -1, null) windowspecdefinition(product#993533, plant#993482, availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#993597L], [product#993533, plant#993482], [availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST]
(39) InMemoryTableScan
Output [4]: [clusterId#993655L, orderProposalId#993650L, plant#993651, previousOrderProposals#993652]
Arguments: [clusterId#993655L, orderProposalId#993650L, plant#993651, previousOrderProposals#993652]
(40) InMemoryRelation
Arguments: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, nodeId#993653L, dependentOnNodeIds#993654, clusterId#993655L, unresolvedDependencies#993656], StorageLevel(disk, memory, 2 replicas)
(41) Scan parquet
Output [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
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/10000002111]
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#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
(43) Filter [codegen id : 1]
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Condition : ((size(productOrderSchedule#993487, true) > 0) AND isnotnull(productOrderSchedule#993487))
(44) Exchange
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=385508]
(45) ShuffleQueryStage
Output [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Arguments: 0
(46) Project [codegen id : 4]
Output [6]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, CASE WHEN isnotnull(supplyingPlant#993485) THEN productGroup#993486 ELSE subrange#993484 END AS effectiveSubrange#993507]
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
(47) Exchange
Input [6]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: hashpartitioning(coalesce(supplierGroup#993480, ), isnull(supplierGroup#993480), coalesce(supplier#993481, ), isnull(supplier#993481), coalesce(effectiveSubrange#993507, ), isnull(effectiveSubrange#993507), coalesce(plant#993482, ), isnull(plant#993482), coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00), isnull(deliveryDateTime#993483), 25), ENSURE_REQUIREMENTS, [plan_id=385779]
(48) ShuffleQueryStage
Output [6]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: 3
(49) AQEShuffleRead
Input [6]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: local
(50) Scan parquet
Output [7]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000002111/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#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
(52) Exchange
Input [7]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=385524]
(53) ShuffleQueryStage
Output [7]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
Arguments: 1
(54) Scan parquet
Output [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
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#993499, orderGroupCriteria#993501]
(56) Filter [codegen id : 3]
Input [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
Condition : isnotnull(orderGroupingProfile#993499)
(57) Exchange
Input [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=385537]
(58) ShuffleQueryStage
Output [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
Arguments: 2
(59) BroadcastExchange
Input [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=385545]
(60) BroadcastQueryStage
Output [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
Arguments: 4
(61) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [orderGroupingProfile#993492]
Right keys [1]: [orderGroupingProfile#993499]
Join type: LeftOuter
Join condition: None
(62) Project [codegen id : 5]
Output [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, subrange#993489 AS effectiveSubrange#993508]
Input [9]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupingProfile#993499, orderGroupCriteria#993501]
(63) Exchange
Input [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
Arguments: hashpartitioning(coalesce(supplierGroup#993493, ), isnull(supplierGroup#993493), coalesce(supplier#993488, ), isnull(supplier#993488), coalesce(effectiveSubrange#993508, ), isnull(effectiveSubrange#993508), coalesce(plant#993490, ), isnull(plant#993490), coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00), isnull(deliveryDateTime#993491), 25), ENSURE_REQUIREMENTS, [plan_id=386052]
(64) ShuffleQueryStage
Output [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
Arguments: 5
(65) AQEShuffleRead
Input [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
Arguments: local
(66) BroadcastExchange
Input [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
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=386272]
(67) BroadcastQueryStage
Output [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
Arguments: 6
(68) BroadcastHashJoin [codegen id : 6]
Left keys [10]: [coalesce(supplierGroup#993480, ), isnull(supplierGroup#993480), coalesce(supplier#993481, ), isnull(supplier#993481), coalesce(effectiveSubrange#993507, ), isnull(effectiveSubrange#993507), coalesce(plant#993482, ), isnull(plant#993482), coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00), isnull(deliveryDateTime#993483)]
Right keys [10]: [coalesce(supplierGroup#993493, ), isnull(supplierGroup#993493), coalesce(supplier#993488, ), isnull(supplier#993488), coalesce(effectiveSubrange#993508, ), isnull(effectiveSubrange#993508), coalesce(plant#993490, ), isnull(plant#993490), coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00), isnull(deliveryDateTime#993491)]
Join type: LeftOuter
Join condition: None
(69) Project [codegen id : 6]
Output [8]: [plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, CASE WHEN isnull(orderGroupCriteria#993501) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#993501 END AS orderGroupCriteria#993520, orderGroupingProfile#993492, coalesce(supplierGroup#993480, supplier#993481) AS supplierOrGroup#993509, coalesce(locationGroup#993494, plant#993482) AS locationOrGroup#993510]
Input [14]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
(70) Project [codegen id : 6]
Output [14]: [plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, orderGroupCriteria#993520.supplierSubrange AS _extract_supplierSubrange#993657, orderGroupCriteria#993520.mrpController AS _extract_mrpController#993658, orderGroupCriteria#993520.purchasingOrg AS _extract_purchasingOrg#993659, orderGroupCriteria#993520.orderDate AS _extract_orderDate#993660, orderGroupCriteria#993520.deliveryDate AS _extract_deliveryDate#993661, orderGroupCriteria#993520.supplier AS _extract_supplier#993662, orderGroupCriteria#993520.purchasingGroup AS _extract_purchasingGroup#993663, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
Input [8]: [plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, orderGroupCriteria#993520, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
(71) Generate [codegen id : 6]
Input [14]: [plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, _extract_supplierSubrange#993657, _extract_mrpController#993658, _extract_purchasingOrg#993659, _extract_orderDate#993660, _extract_deliveryDate#993661, _extract_supplier#993662, _extract_purchasingGroup#993663, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
Arguments: explode(productOrderSchedule#993487), [plant#993482, deliveryDateTime#993483, effectiveSubrange#993507, _extract_supplierSubrange#993657, _extract_mrpController#993658, _extract_purchasingOrg#993659, _extract_orderDate#993660, _extract_deliveryDate#993661, _extract_supplier#993662, _extract_purchasingGroup#993663, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510], false, [productOrderScheduleExploded#993532]
(72) Project [codegen id : 6]
Output [5]: [plant#993482, productOrderScheduleExploded#993532.product AS product#993533, productOrderScheduleExploded#993532.orderDateTime AS orderDateTime#993534, productOrderScheduleExploded#993532.availabilityDateTime AS availabilityDateTime#993535, xxhash64(CASE WHEN (_extract_supplierSubrange#993657 <=> true) THEN effectiveSubrange#993507 END, orderGroupingProfile#993492, CASE WHEN (_extract_mrpController#993658 <=> true) THEN productOrderScheduleExploded#993532.mrpController END, CASE WHEN (_extract_purchasingOrg#993659 <=> true) THEN productOrderScheduleExploded#993532.purchasingOrg END, CASE WHEN (_extract_orderDate#993660 <=> true) THEN productOrderScheduleExploded#993532.orderDateTime END, CASE WHEN (_extract_deliveryDate#993661 <=> true) THEN deliveryDateTime#993483 END, CASE WHEN (_extract_supplier#993662 <=> true) THEN supplierOrGroup#993509 END, locationOrGroup#993510, CASE WHEN (_extract_purchasingGroup#993663 <=> true) THEN productOrderScheduleExploded#993532.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#993507) AND (_extract_supplierSubrange#993657 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#993492) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.mrpController) AND (_extract_mrpController#993658 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingOrg) AND (_extract_purchasingOrg#993659 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.orderDateTime) AND (_extract_orderDate#993660 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#993483) AND (_extract_deliveryDate#993661 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#993509) AND (_extract_supplier#993662 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#993510) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingGroup) AND (_extract_purchasingGroup#993663 <=> true)) THEN 256 ELSE 0 END), 10000002111, 42) AS orderProposalId#993568L]
Input [14]: [plant#993482, deliveryDateTime#993483, effectiveSubrange#993507, _extract_supplierSubrange#993657, _extract_mrpController#993658, _extract_purchasingOrg#993659, _extract_orderDate#993660, _extract_deliveryDate#993661, _extract_supplier#993662, _extract_purchasingGroup#993663, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510, productOrderScheduleExploded#993532]
(73) Exchange
Input [5]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L]
Arguments: hashpartitioning(product#993533, plant#993482, 25), ENSURE_REQUIREMENTS, [plan_id=386399]
(74) ShuffleQueryStage
Output [5]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L]
Arguments: 7
(75) AQEShuffleRead
Input [5]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L]
Arguments: coalesced
(76) Sort [codegen id : 7]
Input [5]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L]
Arguments: [product#993533 ASC NULLS FIRST, plant#993482 ASC NULLS FIRST, availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST], false, 0
(77) Window
Input [5]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L]
Arguments: [lag(orderProposalId#993568L, -1, null) windowspecdefinition(product#993533, plant#993482, availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#993597L], [product#993533, plant#993482], [availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST]
(78) Project [codegen id : 8]
Output [3]: [plant#993482, orderProposalId#993568L, previousOrderProposal#993597L]
Input [6]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L, previousOrderProposal#993597L]
(79) ObjectHashAggregate
Input [3]: [plant#993482, orderProposalId#993568L, previousOrderProposal#993597L]
Keys [1]: [orderProposalId#993568L]
Functions [2]: [partial_min(plant#993482), partial_collect_set(previousOrderProposal#993597L, 0, 0)]
Aggregate Attributes [2]: [min#993730, buf#993731]
Results [3]: [orderProposalId#993568L, min#993732, buf#993733]
(80) Exchange
Input [3]: [orderProposalId#993568L, min#993732, buf#993733]
Arguments: hashpartitioning(orderProposalId#993568L, 25), ENSURE_REQUIREMENTS, [plan_id=386497]
(81) ShuffleQueryStage
Output [3]: [orderProposalId#993568L, min#993732, buf#993733]
Arguments: 8
(82) AQEShuffleRead
Input [3]: [orderProposalId#993568L, min#993732, buf#993733]
Arguments: coalesced
(83) ObjectHashAggregate
Input [3]: [orderProposalId#993568L, min#993732, buf#993733]
Keys [1]: [orderProposalId#993568L]
Functions [2]: [min(plant#993482), collect_set(previousOrderProposal#993597L, 0, 0)]
Aggregate Attributes [2]: [min(plant#993482)#993620, collect_set(previousOrderProposal#993597L, 0, 0)#993621]
Results [4]: [orderProposalId#993568L, min(plant#993482)#993620 AS plant#993598, collect_set(previousOrderProposal#993597L, 0, 0)#993621 AS previousOrderProposals#993599, orderProposalId#993568L AS nodeId#993622L]
(84) Project [codegen id : 9]
Output [5]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L, previousOrderProposals#993599 AS dependentOnNodeIds#993623]
Input [4]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L]
(85) Exchange
Input [5]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L, dependentOnNodeIds#993623]
Arguments: hashpartitioning(plant#993598, 25), REPARTITION_BY_COL, [plan_id=386549]
(86) ShuffleQueryStage
Output [5]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L, dependentOnNodeIds#993623]
Arguments: 9
(87) DeserializeToObject
Input [5]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L, dependentOnNodeIds#993623]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#993568L)), invoke(plant#993598.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -4), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -4))), previousOrderProposals#993599, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(nodeId#993622L)), mapobjects(lambdavariable(MapObject, LongType, false, -5), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -5))), dependentOnNodeIds#993623, 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#993634: org.apache.spark.sql.Row
(88) MapPartitions
Input [1]: [obj#993634]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@5445319e, obj#993642: org.apache.spark.sql.Row
(89) SerializeFromObject [codegen id : 10]
Input [1]: [obj#993642]
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#993650L, 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#993651, 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#993652, assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, nodeId), LongType, ObjectType(class java.lang.Long)).longValue())) AS nodeId#993653L, 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#993654, 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#993655L, 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#993656]
(90) ResultQueryStage
Output [7]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, nodeId#993653L, dependentOnNodeIds#993654, clusterId#993655L, unresolvedDependencies#993656]
Arguments: 10
(91) Filter
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Condition : ((size(productOrderSchedule#993487, true) > 0) AND isnotnull(productOrderSchedule#993487))
(92) Exchange
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=385386]
(93) Project
Output [6]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, CASE WHEN isnotnull(supplyingPlant#993485) THEN productGroup#993486 ELSE subrange#993484 END AS effectiveSubrange#993507]
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
(94) Exchange
Input [6]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: hashpartitioning(coalesce(supplierGroup#993480, ), isnull(supplierGroup#993480), coalesce(supplier#993481, ), isnull(supplier#993481), coalesce(effectiveSubrange#993507, ), isnull(effectiveSubrange#993507), coalesce(plant#993482, ), isnull(plant#993482), coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00), isnull(deliveryDateTime#993483), 25), ENSURE_REQUIREMENTS, [plan_id=385410]
(95) Sort
Input [6]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: [coalesce(supplierGroup#993480, ) ASC NULLS FIRST, isnull(supplierGroup#993480) ASC NULLS FIRST, coalesce(supplier#993481, ) ASC NULLS FIRST, isnull(supplier#993481) ASC NULLS FIRST, coalesce(effectiveSubrange#993507, ) ASC NULLS FIRST, isnull(effectiveSubrange#993507) ASC NULLS FIRST, coalesce(plant#993482, ) ASC NULLS FIRST, isnull(plant#993482) ASC NULLS FIRST, coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#993483) ASC NULLS FIRST], false, 0
(96) Exchange
Input [7]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=385364]
(97) Filter
Input [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
Condition : isnotnull(orderGroupingProfile#993499)
(98) Exchange
Input [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=385388]
(99) BroadcastExchange
Input [2]: [orderGroupingProfile#993499, orderGroupCriteria#993501]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=385405]
(100) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#993492]
Right keys [1]: [orderGroupingProfile#993499]
Join type: LeftOuter
Join condition: None
(101) Project
Output [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, subrange#993489 AS effectiveSubrange#993508]
Input [9]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupingProfile#993499, orderGroupCriteria#993501]
(102) Exchange
Input [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
Arguments: hashpartitioning(coalesce(supplierGroup#993493, ), isnull(supplierGroup#993493), coalesce(supplier#993488, ), isnull(supplier#993488), coalesce(effectiveSubrange#993508, ), isnull(effectiveSubrange#993508), coalesce(plant#993490, ), isnull(plant#993490), coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00), isnull(deliveryDateTime#993491), 25), ENSURE_REQUIREMENTS, [plan_id=385411]
(103) Sort
Input [8]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
Arguments: [coalesce(supplierGroup#993493, ) ASC NULLS FIRST, isnull(supplierGroup#993493) ASC NULLS FIRST, coalesce(supplier#993488, ) ASC NULLS FIRST, isnull(supplier#993488) ASC NULLS FIRST, coalesce(effectiveSubrange#993508, ) ASC NULLS FIRST, isnull(effectiveSubrange#993508) ASC NULLS FIRST, coalesce(plant#993490, ) ASC NULLS FIRST, isnull(plant#993490) ASC NULLS FIRST, coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#993491) ASC NULLS FIRST], false, 0
(104) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#993480, ), isnull(supplierGroup#993480), coalesce(supplier#993481, ), isnull(supplier#993481), coalesce(effectiveSubrange#993507, ), isnull(effectiveSubrange#993507), coalesce(plant#993482, ), isnull(plant#993482), coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00), isnull(deliveryDateTime#993483)]
Right keys [10]: [coalesce(supplierGroup#993493, ), isnull(supplierGroup#993493), coalesce(supplier#993488, ), isnull(supplier#993488), coalesce(effectiveSubrange#993508, ), isnull(effectiveSubrange#993508), coalesce(plant#993490, ), isnull(plant#993490), coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00), isnull(deliveryDateTime#993491)]
Join type: LeftOuter
Join condition: None
(105) Project
Output [8]: [plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, CASE WHEN isnull(orderGroupCriteria#993501) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#993501 END AS orderGroupCriteria#993520, orderGroupingProfile#993492, coalesce(supplierGroup#993480, supplier#993481) AS supplierOrGroup#993509, coalesce(locationGroup#993494, plant#993482) AS locationOrGroup#993510]
Input [14]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, effectiveSubrange#993508]
(106) Project
Output [14]: [plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, orderGroupCriteria#993520.supplierSubrange AS _extract_supplierSubrange#993657, orderGroupCriteria#993520.mrpController AS _extract_mrpController#993658, orderGroupCriteria#993520.purchasingOrg AS _extract_purchasingOrg#993659, orderGroupCriteria#993520.orderDate AS _extract_orderDate#993660, orderGroupCriteria#993520.deliveryDate AS _extract_deliveryDate#993661, orderGroupCriteria#993520.supplier AS _extract_supplier#993662, orderGroupCriteria#993520.purchasingGroup AS _extract_purchasingGroup#993663, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
Input [8]: [plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, orderGroupCriteria#993520, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
(107) Generate
Input [14]: [plant#993482, deliveryDateTime#993483, productOrderSchedule#993487, effectiveSubrange#993507, _extract_supplierSubrange#993657, _extract_mrpController#993658, _extract_purchasingOrg#993659, _extract_orderDate#993660, _extract_deliveryDate#993661, _extract_supplier#993662, _extract_purchasingGroup#993663, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
Arguments: explode(productOrderSchedule#993487), [plant#993482, deliveryDateTime#993483, effectiveSubrange#993507, _extract_supplierSubrange#993657, _extract_mrpController#993658, _extract_purchasingOrg#993659, _extract_orderDate#993660, _extract_deliveryDate#993661, _extract_supplier#993662, _extract_purchasingGroup#993663, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510], false, [productOrderScheduleExploded#993532]
(108) Project
Output [5]: [plant#993482, productOrderScheduleExploded#993532.product AS product#993533, productOrderScheduleExploded#993532.orderDateTime AS orderDateTime#993534, productOrderScheduleExploded#993532.availabilityDateTime AS availabilityDateTime#993535, xxhash64(CASE WHEN (_extract_supplierSubrange#993657 <=> true) THEN effectiveSubrange#993507 END, orderGroupingProfile#993492, CASE WHEN (_extract_mrpController#993658 <=> true) THEN productOrderScheduleExploded#993532.mrpController END, CASE WHEN (_extract_purchasingOrg#993659 <=> true) THEN productOrderScheduleExploded#993532.purchasingOrg END, CASE WHEN (_extract_orderDate#993660 <=> true) THEN productOrderScheduleExploded#993532.orderDateTime END, CASE WHEN (_extract_deliveryDate#993661 <=> true) THEN deliveryDateTime#993483 END, CASE WHEN (_extract_supplier#993662 <=> true) THEN supplierOrGroup#993509 END, locationOrGroup#993510, CASE WHEN (_extract_purchasingGroup#993663 <=> true) THEN productOrderScheduleExploded#993532.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#993507) AND (_extract_supplierSubrange#993657 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#993492) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.mrpController) AND (_extract_mrpController#993658 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingOrg) AND (_extract_purchasingOrg#993659 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.orderDateTime) AND (_extract_orderDate#993660 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#993483) AND (_extract_deliveryDate#993661 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#993509) AND (_extract_supplier#993662 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#993510) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingGroup) AND (_extract_purchasingGroup#993663 <=> true)) THEN 256 ELSE 0 END), 10000002111, 42) AS orderProposalId#993568L]
Input [14]: [plant#993482, deliveryDateTime#993483, effectiveSubrange#993507, _extract_supplierSubrange#993657, _extract_mrpController#993658, _extract_purchasingOrg#993659, _extract_orderDate#993660, _extract_deliveryDate#993661, _extract_supplier#993662, _extract_purchasingGroup#993663, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510, productOrderScheduleExploded#993532]
(109) Exchange
Input [5]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L]
Arguments: hashpartitioning(product#993533, plant#993482, 25), ENSURE_REQUIREMENTS, [plan_id=385420]
(110) Sort
Input [5]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L]
Arguments: [product#993533 ASC NULLS FIRST, plant#993482 ASC NULLS FIRST, availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST], false, 0
(111) Window
Input [5]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L]
Arguments: [lag(orderProposalId#993568L, -1, null) windowspecdefinition(product#993533, plant#993482, availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#993597L], [product#993533, plant#993482], [availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST]
(112) Project
Output [3]: [plant#993482, orderProposalId#993568L, previousOrderProposal#993597L]
Input [6]: [plant#993482, product#993533, orderDateTime#993534, availabilityDateTime#993535, orderProposalId#993568L, previousOrderProposal#993597L]
(113) ObjectHashAggregate
Input [3]: [plant#993482, orderProposalId#993568L, previousOrderProposal#993597L]
Keys [1]: [orderProposalId#993568L]
Functions [2]: [partial_min(plant#993482), partial_collect_set(previousOrderProposal#993597L, 0, 0)]
Aggregate Attributes [2]: [min#993730, buf#993731]
Results [3]: [orderProposalId#993568L, min#993732, buf#993733]
(114) Exchange
Input [3]: [orderProposalId#993568L, min#993732, buf#993733]
Arguments: hashpartitioning(orderProposalId#993568L, 25), ENSURE_REQUIREMENTS, [plan_id=385426]
(115) ObjectHashAggregate
Input [3]: [orderProposalId#993568L, min#993732, buf#993733]
Keys [1]: [orderProposalId#993568L]
Functions [2]: [min(plant#993482), collect_set(previousOrderProposal#993597L, 0, 0)]
Aggregate Attributes [2]: [min(plant#993482)#993620, collect_set(previousOrderProposal#993597L, 0, 0)#993621]
Results [4]: [orderProposalId#993568L, min(plant#993482)#993620 AS plant#993598, collect_set(previousOrderProposal#993597L, 0, 0)#993621 AS previousOrderProposals#993599, orderProposalId#993568L AS nodeId#993622L]
(116) Project
Output [5]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L, previousOrderProposals#993599 AS dependentOnNodeIds#993623]
Input [4]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L]
(117) Exchange
Input [5]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L, dependentOnNodeIds#993623]
Arguments: hashpartitioning(plant#993598, 25), REPARTITION_BY_COL, [plan_id=385429]
(118) DeserializeToObject
Input [5]: [orderProposalId#993568L, plant#993598, previousOrderProposals#993599, nodeId#993622L, dependentOnNodeIds#993623]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#993568L)), invoke(plant#993598.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -4), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -4))), previousOrderProposals#993599, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(nodeId#993622L)), mapobjects(lambdavariable(MapObject, LongType, false, -5), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -5))), dependentOnNodeIds#993623, 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#993634: org.apache.spark.sql.Row
(119) MapPartitions
Input [1]: [obj#993634]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@5445319e, obj#993642: org.apache.spark.sql.Row
(120) SerializeFromObject
Input [1]: [obj#993642]
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#993650L, 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#993651, 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#993652, assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, nodeId), LongType, ObjectType(class java.lang.Long)).longValue())) AS nodeId#993653L, 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#993654, 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#993655L, 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#993656]
(121) AdaptiveSparkPlan
Output [7]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, nodeId#993653L, dependentOnNodeIds#993654, clusterId#993655L, unresolvedDependencies#993656]
Arguments: isFinalPlan=true
(122) TableCacheQueryStage
Output [4]: [clusterId#993655L, orderProposalId#993650L, plant#993651, previousOrderProposals#993652]
Arguments: 3
(123) Project [codegen id : 4]
Output [6]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, clusterId#993655L, orderProposalId#993650L AS nodeId#993935L, previousOrderProposals#993652 AS dependentOnNodeIds#993936]
Input [4]: [clusterId#993655L, orderProposalId#993650L, plant#993651, previousOrderProposals#993652]
(124) Exchange
Input [6]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, clusterId#993655L, nodeId#993935L, dependentOnNodeIds#993936]
Arguments: hashpartitioning(clusterId#993655L, 25), REPARTITION_BY_COL, [plan_id=386982]
(125) ShuffleQueryStage
Output [6]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, clusterId#993655L, nodeId#993935L, dependentOnNodeIds#993936]
Arguments: 4
(126) AQEShuffleRead
Input [6]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, clusterId#993655L, nodeId#993935L, dependentOnNodeIds#993936]
Arguments: coalesced
(127) DeserializeToObject
Input [6]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, clusterId#993655L, nodeId#993935L, dependentOnNodeIds#993936]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#993650L)), invoke(plant#993651.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -1), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -1))), previousOrderProposals#993652, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(clusterId#993655L)), static_invoke(java.lang.Long.valueOf(nodeId#993935L)), mapobjects(lambdavariable(MapObject, LongType, false, -2), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -2))), dependentOnNodeIds#993936, 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#993949: org.apache.spark.sql.Row
(128) MapPartitions
Input [1]: [obj#993949]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@c7b81b4, obj#993957: org.apache.spark.sql.Row
(129) SerializeFromObject [codegen id : 5]
Input [1]: [obj#993957]
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#993965L, 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#993968L, 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#993971]
(130) BroadcastExchange
Input [3]: [orderProposalId#993965L, clusterId#993968L, sequenceId#993971]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=387152]
(131) BroadcastQueryStage
Output [3]: [orderProposalId#993965L, clusterId#993968L, sequenceId#993971]
Arguments: 5
(132) BroadcastHashJoin [codegen id : 10]
Left keys [1]: [orderProposalId#993568L]
Right keys [1]: [orderProposalId#993965L]
Join type: LeftOuter
Join condition: None
(133) Project [codegen id : 10]
Output [22]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, 0 AS orderProposalHorizonGroupingId#993569L, splitIndicator#993596L, previousOrderProposal#993597L, clusterId#993968L, sequenceId#993971]
Input [22]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L, previousOrderProposal#993597L, orderProposalId#993965L, clusterId#993968L, sequenceId#993971]
(134) ResultQueryStage
Output [22]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, orderProposalHorizonGroupingId#993569L, splitIndicator#993596L, previousOrderProposal#993597L, clusterId#993968L, sequenceId#993971]
Arguments: 11
(135) Filter
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Condition : ((size(productOrderSchedule#993487, true) > 0) AND isnotnull(productOrderSchedule#993487))
(136) Exchange
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=386696]
(137) Project
Output [9]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, CASE WHEN isnotnull(supplyingPlant#993485) THEN productGroup#993486 ELSE subrange#993484 END AS effectiveSubrange#993507]
Input [8]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487]
(138) Exchange
Input [9]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: hashpartitioning(coalesce(supplierGroup#993480, ), isnull(supplierGroup#993480), coalesce(supplier#993481, ), isnull(supplier#993481), coalesce(effectiveSubrange#993507, ), isnull(effectiveSubrange#993507), coalesce(plant#993482, ), isnull(plant#993482), coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00), isnull(deliveryDateTime#993483), 25), ENSURE_REQUIREMENTS, [plan_id=386714]
(139) Sort
Input [9]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507]
Arguments: [coalesce(supplierGroup#993480, ) ASC NULLS FIRST, isnull(supplierGroup#993480) ASC NULLS FIRST, coalesce(supplier#993481, ) ASC NULLS FIRST, isnull(supplier#993481) ASC NULLS FIRST, coalesce(effectiveSubrange#993507, ) ASC NULLS FIRST, isnull(effectiveSubrange#993507) ASC NULLS FIRST, coalesce(plant#993482, ) ASC NULLS FIRST, isnull(plant#993482) ASC NULLS FIRST, coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#993483) ASC NULLS FIRST], false, 0
(140) Exchange
Input [7]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=386674]
(141) Filter
Input [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
Condition : isnotnull(orderGroupingProfile#993499)
(142) Exchange
Input [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=386698]
(143) BroadcastExchange
Input [3]: [orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=386709]
(144) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#993492]
Right keys [1]: [orderGroupingProfile#993499]
Join type: LeftOuter
Join condition: None
(145) Project
Output [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, subrange#993489 AS effectiveSubrange#993508]
Input [10]: [supplier#993488, subrange#993489, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupingProfile#993499, orderGroupCriteria#993501, orderSplitCriteria#993502]
(146) Exchange
Input [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
Arguments: hashpartitioning(coalesce(supplierGroup#993493, ), isnull(supplierGroup#993493), coalesce(supplier#993488, ), isnull(supplier#993488), coalesce(effectiveSubrange#993508, ), isnull(effectiveSubrange#993508), coalesce(plant#993490, ), isnull(plant#993490), coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00), isnull(deliveryDateTime#993491), 25), ENSURE_REQUIREMENTS, [plan_id=386715]
(147) Sort
Input [9]: [supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
Arguments: [coalesce(supplierGroup#993493, ) ASC NULLS FIRST, isnull(supplierGroup#993493) ASC NULLS FIRST, coalesce(supplier#993488, ) ASC NULLS FIRST, isnull(supplier#993488) ASC NULLS FIRST, coalesce(effectiveSubrange#993508, ) ASC NULLS FIRST, isnull(effectiveSubrange#993508) ASC NULLS FIRST, coalesce(plant#993490, ) ASC NULLS FIRST, isnull(plant#993490) ASC NULLS FIRST, coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#993491) ASC NULLS FIRST], false, 0
(148) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#993480, ), isnull(supplierGroup#993480), coalesce(supplier#993481, ), isnull(supplier#993481), coalesce(effectiveSubrange#993507, ), isnull(effectiveSubrange#993507), coalesce(plant#993482, ), isnull(plant#993482), coalesce(deliveryDateTime#993483, 1970-01-01 00:00:00), isnull(deliveryDateTime#993483)]
Right keys [10]: [coalesce(supplierGroup#993493, ), isnull(supplierGroup#993493), coalesce(supplier#993488, ), isnull(supplier#993488), coalesce(effectiveSubrange#993508, ), isnull(effectiveSubrange#993508), coalesce(plant#993490, ), isnull(plant#993490), coalesce(deliveryDateTime#993491, 1970-01-01 00:00:00), isnull(deliveryDateTime#993491)]
Join type: LeftOuter
Join condition: None
(149) Project
Output [14]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, CASE WHEN isnull(orderGroupCriteria#993501) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#993501 END AS orderGroupCriteria#993520, CASE WHEN isnull(orderSplitCriteria#993502) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#993502 END AS orderSplitCriteria#993530, orderGroupingProfile#993492, coalesce(supplierGroup#993480, supplier#993481) AS supplierOrGroup#993509, coalesce(locationGroup#993494, plant#993482) AS locationOrGroup#993510]
Input [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, supplier#993488, plant#993490, deliverydatetime#993491, ordergroupingprofile#993492, supplierGroup#993493, locationGroup#993494, orderGroupCriteria#993501, orderSplitCriteria#993502, effectiveSubrange#993508]
(150) Project
Output [26]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, orderGroupCriteria#993520.supplierSubrange AS _extract_supplierSubrange#994114, orderGroupCriteria#993520.mrpController AS _extract_mrpController#994115, orderGroupCriteria#993520.purchasingOrg AS _extract_purchasingOrg#994116, orderGroupCriteria#993520.orderDate AS _extract_orderDate#994117, orderGroupCriteria#993520.deliveryDate AS _extract_deliveryDate#994118, orderGroupCriteria#993520.supplier AS _extract_supplier#994119, orderGroupCriteria#993520.purchasingGroup AS _extract_purchasingGroup#994120, orderSplitCriteria#993530.supplierSubrange AS _extract_supplierSubrange#994121, orderSplitCriteria#993530.mrpController AS _extract_mrpController#994122, orderSplitCriteria#993530.orderDate AS _extract_orderDate#994123, orderSplitCriteria#993530.supplier AS _extract_supplier#994124, orderSplitCriteria#993530.deliveryDate AS _extract_deliveryDate#994125, orderSplitCriteria#993530.purchasingOrg AS _extract_purchasingOrg#994126, orderSplitCriteria#993530.purchasingGroup AS _extract_purchasingGroup#994127, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
Input [14]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, orderGroupCriteria#993520, orderSplitCriteria#993530, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
(151) Generate
Input [26]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderSchedule#993487, effectiveSubrange#993507, _extract_supplierSubrange#994114, _extract_mrpController#994115, _extract_purchasingOrg#994116, _extract_orderDate#994117, _extract_deliveryDate#994118, _extract_supplier#994119, _extract_purchasingGroup#994120, _extract_supplierSubrange#994121, _extract_mrpController#994122, _extract_orderDate#994123, _extract_supplier#994124, _extract_deliveryDate#994125, _extract_purchasingOrg#994126, _extract_purchasingGroup#994127, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510]
Arguments: explode(productOrderSchedule#993487), [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, effectiveSubrange#993507, _extract_supplierSubrange#994114, _extract_mrpController#994115, _extract_purchasingOrg#994116, _extract_orderDate#994117, _extract_deliveryDate#994118, _extract_supplier#994119, _extract_purchasingGroup#994120, _extract_supplierSubrange#994121, _extract_mrpController#994122, _extract_orderDate#994123, _extract_supplier#994124, _extract_deliveryDate#994125, _extract_purchasingOrg#994126, _extract_purchasingGroup#994127, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510], false, [productOrderScheduleExploded#993532]
(152) Project
Output [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, productOrderScheduleExploded#993532.product AS product#993533, productOrderScheduleExploded#993532.orderDateTime AS orderDateTime#993534, productOrderScheduleExploded#993532.availabilityDateTime AS availabilityDateTime#993535, productOrderScheduleExploded#993532.nextAvailabilityDateTime AS nextAvailabilityDateTime#993536, productOrderScheduleExploded#993532.mrpController AS mrpController#993537, productOrderScheduleExploded#993532.sourceOfSupplyUuid AS sourceOfSupplyUuid#993538, productOrderScheduleExploded#993532.purchasingOrg AS purchasingOrg#993539, productOrderScheduleExploded#993532.purchasingGroup AS purchasingGroup#993540, productOrderScheduleExploded#993532.isFallbackOrderOnly AS isFallbackOrderOnly#993541, xxhash64(CASE WHEN (_extract_supplierSubrange#994114 <=> true) THEN effectiveSubrange#993507 END, orderGroupingProfile#993492, CASE WHEN (_extract_mrpController#994115 <=> true) THEN productOrderScheduleExploded#993532.mrpController END, CASE WHEN (_extract_purchasingOrg#994116 <=> true) THEN productOrderScheduleExploded#993532.purchasingOrg END, CASE WHEN (_extract_orderDate#994117 <=> true) THEN productOrderScheduleExploded#993532.orderDateTime END, CASE WHEN (_extract_deliveryDate#994118 <=> true) THEN deliveryDateTime#993483 END, CASE WHEN (_extract_supplier#994119 <=> true) THEN supplierOrGroup#993509 END, locationOrGroup#993510, CASE WHEN (_extract_purchasingGroup#994120 <=> true) THEN productOrderScheduleExploded#993532.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#993507) AND (_extract_supplierSubrange#994114 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#993492) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.mrpController) AND (_extract_mrpController#994115 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingOrg) AND (_extract_purchasingOrg#994116 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.orderDateTime) AND (_extract_orderDate#994117 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#993483) AND (_extract_deliveryDate#994118 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#993509) AND (_extract_supplier#994119 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#993510) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingGroup) AND (_extract_purchasingGroup#994120 <=> true)) THEN 256 ELSE 0 END), 10000002111, 42) AS orderProposalId#993568L, xxhash64(CASE WHEN (_extract_supplierSubrange#994121 <=> true) THEN effectiveSubrange#993507 END, orderGroupingProfile#993492, CASE WHEN (_extract_mrpController#994122 <=> true) THEN productOrderScheduleExploded#993532.mrpController END, CASE WHEN (_extract_orderDate#994123 <=> true) THEN productOrderScheduleExploded#993532.orderDateTime END, CASE WHEN (_extract_supplier#994124 <=> true) THEN supplier#993481 END, CASE WHEN (_extract_deliveryDate#994125 <=> true) THEN deliveryDateTime#993483 END, CASE WHEN (_extract_purchasingOrg#994126 <=> true) THEN productOrderScheduleExploded#993532.purchasingOrg END, plant#993482, CASE WHEN (_extract_purchasingGroup#994127 <=> true) THEN productOrderScheduleExploded#993532.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#993507) AND (_extract_supplierSubrange#994121 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#993492) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.mrpController) AND (_extract_mrpController#994122 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.orderDateTime) AND (_extract_orderDate#994123 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(supplier#993481) AND (_extract_supplier#994124 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#993483) AND (_extract_deliveryDate#994125 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingOrg) AND (_extract_purchasingOrg#994126 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(plant#993482) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#993532.purchasingGroup) AND (_extract_purchasingGroup#994127 <=> true)) THEN 256 ELSE 0 END), 10000002111, 42) AS splitIndicator#993596L]
Input [26]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, effectiveSubrange#993507, _extract_supplierSubrange#994114, _extract_mrpController#994115, _extract_purchasingOrg#994116, _extract_orderDate#994117, _extract_deliveryDate#994118, _extract_supplier#994119, _extract_purchasingGroup#994120, _extract_supplierSubrange#994121, _extract_mrpController#994122, _extract_orderDate#994123, _extract_supplier#994124, _extract_deliveryDate#994125, _extract_purchasingOrg#994126, _extract_purchasingGroup#994127, orderGroupingProfile#993492, supplierOrGroup#993509, locationOrGroup#993510, productOrderScheduleExploded#993532]
(153) Exchange
Input [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L]
Arguments: hashpartitioning(product#993533, plant#993482, 25), ENSURE_REQUIREMENTS, [plan_id=386724]
(154) Sort
Input [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L]
Arguments: [product#993533 ASC NULLS FIRST, plant#993482 ASC NULLS FIRST, availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST], false, 0
(155) Window
Input [18]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L]
Arguments: [lag(orderProposalId#993568L, -1, null) windowspecdefinition(product#993533, plant#993482, availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#993597L], [product#993533, plant#993482], [availabilityDateTime#993535 ASC NULLS FIRST, orderDateTime#993534 ASC NULLS FIRST, orderProposalId#993568L ASC NULLS FIRST]
(156) Project
Output [6]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, clusterId#993655L, orderProposalId#993650L AS nodeId#993935L, previousOrderProposals#993652 AS dependentOnNodeIds#993936]
Input [4]: [clusterId#993655L, orderProposalId#993650L, plant#993651, previousOrderProposals#993652]
(157) Exchange
Input [6]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, clusterId#993655L, nodeId#993935L, dependentOnNodeIds#993936]
Arguments: hashpartitioning(clusterId#993655L, 25), REPARTITION_BY_COL, [plan_id=386689]
(158) DeserializeToObject
Input [6]: [orderProposalId#993650L, plant#993651, previousOrderProposals#993652, clusterId#993655L, nodeId#993935L, dependentOnNodeIds#993936]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#993650L)), invoke(plant#993651.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -1), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -1))), previousOrderProposals#993652, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(clusterId#993655L)), static_invoke(java.lang.Long.valueOf(nodeId#993935L)), mapobjects(lambdavariable(MapObject, LongType, false, -2), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -2))), dependentOnNodeIds#993936, 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#993949: org.apache.spark.sql.Row
(159) MapPartitions
Input [1]: [obj#993949]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@c7b81b4, obj#993957: org.apache.spark.sql.Row
(160) SerializeFromObject
Input [1]: [obj#993957]
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#993965L, 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#993968L, 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#993971]
(161) BroadcastExchange
Input [3]: [orderProposalId#993965L, clusterId#993968L, sequenceId#993971]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=386728]
(162) BroadcastHashJoin
Left keys [1]: [orderProposalId#993568L]
Right keys [1]: [orderProposalId#993965L]
Join type: LeftOuter
Join condition: None
(163) Project
Output [22]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, 0 AS orderProposalHorizonGroupingId#993569L, splitIndicator#993596L, previousOrderProposal#993597L, clusterId#993968L, sequenceId#993971]
Input [22]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, splitIndicator#993596L, previousOrderProposal#993597L, orderProposalId#993965L, clusterId#993968L, sequenceId#993971]
(164) AdaptiveSparkPlan
Output [22]: [supplierGroup#993480, supplier#993481, plant#993482, deliveryDateTime#993483, subrange#993484, supplyingPlant#993485, productGroup#993486, product#993533, orderDateTime#993534, availabilityDateTime#993535, nextAvailabilityDateTime#993536, mrpController#993537, sourceOfSupplyUuid#993538, purchasingOrg#993539, purchasingGroup#993540, isFallbackOrderOnly#993541, orderProposalId#993568L, orderProposalHorizonGroupingId#993569L, splitIndicator#993596L, previousOrderProposal#993597L, clusterId#993968L, sequenceId#993971]
Arguments: isFinalPlan=true
(165) TableCacheQueryStage
Output: []
Arguments: 0
(166) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#994693L]
Results [1]: [count#994694L]
(167) Exchange
Input [1]: [count#994694L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=387748]
(168) ShuffleQueryStage
Output [1]: [count#994694L]
Arguments: 1
(169) HashAggregate [codegen id : 2]
Input [1]: [count#994694L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#994362L]
Results [1]: [count(1)#994362L AS count#994339L]
(170) ResultQueryStage
Output [1]: [count#994339L]
Arguments: 2
(171) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#994693L]
Results [1]: [count#994694L]
(172) Exchange
Input [1]: [count#994694L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=386742]
(173) HashAggregate
Input [1]: [count#994694L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#994362L]
Results [1]: [count(1)#994362L AS count#994339L]
(174) AdaptiveSparkPlan
Output [1]: [count#994339L]
Arguments: isFinalPlan=true