== Physical Plan ==
AdaptiveSparkPlan (182)
+- == Final Plan ==
ResultQueryStage (175), Statistics(sizeInBytes=8.0 EiB)
+- * HashAggregate (174)
+- ShuffleQueryStage (173), Statistics(sizeInBytes=16.0 B, rowCount=1)
+- Exchange (172)
+- * HashAggregate (171)
+- * HashAggregate (170)
+- AQEShuffleRead (169)
+- ShuffleQueryStage (168), Statistics(sizeInBytes=192.0 B, rowCount=4)
+- Exchange (167)
+- * HashAggregate (166)
+- TableCacheQueryStage (165), Statistics(sizeInBytes=6.3 KiB, rowCount=18)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (164)
+- == Final Plan ==
ResultQueryStage (134)
+- * Project (133)
+- * BroadcastHashJoin LeftOuter BuildRight (132)
:- Window (38)
: +- * Sort (37)
: +- ShuffleQueryStage (36), Statistics(sizeInBytes=6.9 KiB, rowCount=18)
: +- Exchange (35)
: +- * Project (34)
: +- * Generate (33)
: +- * Project (32)
: +- * Project (31)
: +- * BroadcastHashJoin LeftOuter BuildRight (30)
: :- AQEShuffleRead (11)
: : +- ShuffleQueryStage (10), Statistics(sizeInBytes=6.5 KiB, rowCount=12)
: : +- Exchange (9)
: : +- * Project (8)
: : +- ShuffleQueryStage (7), Statistics(sizeInBytes=6.3 KiB, rowCount=12)
: : +- Exchange (6)
: : +- * Filter (5)
: : +- * ColumnarToRow (4)
: : +- Scan parquet (3)
: +- BroadcastQueryStage (29), Statistics(sizeInBytes=2.0 MiB, rowCount=12)
: +- BroadcastExchange (28)
: +- AQEShuffleRead (27)
: +- ShuffleQueryStage (26), Statistics(sizeInBytes=4.0 KiB, rowCount=12)
: +- Exchange (25)
: +- * Project (24)
: +- * BroadcastHashJoin LeftOuter BuildRight (23)
: :- ShuffleQueryStage (15), Statistics(sizeInBytes=2.1 KiB, rowCount=12)
: : +- Exchange (14)
: : +- * ColumnarToRow (13)
: : +- Scan parquet (12)
: +- BroadcastQueryStage (22), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
: +- BroadcastExchange (21)
: +- ShuffleQueryStage (20), Statistics(sizeInBytes=1208.0 B, rowCount=6)
: +- Exchange (19)
: +- * Filter (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (131), Statistics(sizeInBytes=1024.5 KiB, rowCount=12)
+- BroadcastExchange (130)
+- * SerializeFromObject (129)
+- MapPartitions (128)
+- DeserializeToObject (127)
+- AQEShuffleRead (126)
+- ShuffleQueryStage (125), Statistics(sizeInBytes=1504.0 B, rowCount=12)
+- Exchange (124)
+- * Project (123)
+- TableCacheQueryStage (122), Statistics(sizeInBytes=1408.0 B, rowCount=12)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=1408.0 B, rowCount=12)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=1184.0 B, rowCount=12)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=2016.0 B, rowCount=18)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=6.1 KiB, rowCount=12)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=6.3 KiB, rowCount=12)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=12)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=3.0 KiB, rowCount=12)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=2.1 KiB, rowCount=12)
: +- 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=1408.0 B, rowCount=12)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=1184.0 B, rowCount=12)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=2016.0 B, rowCount=18)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=6.1 KiB, rowCount=12)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=6.3 KiB, rowCount=12)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=12)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=3.0 KiB, rowCount=12)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=2.1 KiB, rowCount=12)
: +- Exchange (52)
: +- * ColumnarToRow (51)
: +- Scan parquet (50)
+- BroadcastQueryStage (60), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
+- BroadcastExchange (59)
+- ShuffleQueryStage (58), Statistics(sizeInBytes=680.0 B, rowCount=6)
+- Exchange (57)
+- * Filter (56)
+- * ColumnarToRow (55)
+- Scan parquet (54)
+- == Initial Plan ==
SerializeFromObject (120)
+- MapPartitions (119)
+- DeserializeToObject (118)
+- Exchange (117)
+- Project (116)
+- ObjectHashAggregate (115)
+- Exchange (114)
+- ObjectHashAggregate (113)
+- Project (112)
+- Window (111)
+- Sort (110)
+- Exchange (109)
+- Project (108)
+- Generate (107)
+- Project (106)
+- Project (105)
+- SortMergeJoin LeftOuter (104)
:- Sort (95)
: +- Exchange (94)
: +- Project (93)
: +- Exchange (92)
: +- Filter (91)
: +- Scan parquet (41)
+- Sort (103)
+- Exchange (102)
+- Project (101)
+- BroadcastHashJoin LeftOuter BuildRight (100)
:- Exchange (96)
: +- Scan parquet (50)
+- BroadcastExchange (99)
+- Exchange (98)
+- Filter (97)
+- Scan parquet (54)
+- == Initial Plan ==
HashAggregate (181)
+- Exchange (180)
+- HashAggregate (179)
+- HashAggregate (178)
+- Exchange (177)
+- HashAggregate (176)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (164)
+- == Final Plan ==
ResultQueryStage (134)
+- * Project (133)
+- * BroadcastHashJoin LeftOuter BuildRight (132)
:- Window (38)
: +- * Sort (37)
: +- ShuffleQueryStage (36), Statistics(sizeInBytes=6.9 KiB, rowCount=18)
: +- Exchange (35)
: +- * Project (34)
: +- * Generate (33)
: +- * Project (32)
: +- * Project (31)
: +- * BroadcastHashJoin LeftOuter BuildRight (30)
: :- AQEShuffleRead (11)
: : +- ShuffleQueryStage (10), Statistics(sizeInBytes=6.5 KiB, rowCount=12)
: : +- Exchange (9)
: : +- * Project (8)
: : +- ShuffleQueryStage (7), Statistics(sizeInBytes=6.3 KiB, rowCount=12)
: : +- Exchange (6)
: : +- * Filter (5)
: : +- * ColumnarToRow (4)
: : +- Scan parquet (3)
: +- BroadcastQueryStage (29), Statistics(sizeInBytes=2.0 MiB, rowCount=12)
: +- BroadcastExchange (28)
: +- AQEShuffleRead (27)
: +- ShuffleQueryStage (26), Statistics(sizeInBytes=4.0 KiB, rowCount=12)
: +- Exchange (25)
: +- * Project (24)
: +- * BroadcastHashJoin LeftOuter BuildRight (23)
: :- ShuffleQueryStage (15), Statistics(sizeInBytes=2.1 KiB, rowCount=12)
: : +- Exchange (14)
: : +- * ColumnarToRow (13)
: : +- Scan parquet (12)
: +- BroadcastQueryStage (22), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
: +- BroadcastExchange (21)
: +- ShuffleQueryStage (20), Statistics(sizeInBytes=1208.0 B, rowCount=6)
: +- Exchange (19)
: +- * Filter (18)
: +- * ColumnarToRow (17)
: +- Scan parquet (16)
+- BroadcastQueryStage (131), Statistics(sizeInBytes=1024.5 KiB, rowCount=12)
+- BroadcastExchange (130)
+- * SerializeFromObject (129)
+- MapPartitions (128)
+- DeserializeToObject (127)
+- AQEShuffleRead (126)
+- ShuffleQueryStage (125), Statistics(sizeInBytes=1504.0 B, rowCount=12)
+- Exchange (124)
+- * Project (123)
+- TableCacheQueryStage (122), Statistics(sizeInBytes=1408.0 B, rowCount=12)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=1408.0 B, rowCount=12)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=1184.0 B, rowCount=12)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=2016.0 B, rowCount=18)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=6.1 KiB, rowCount=12)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=6.3 KiB, rowCount=12)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=12)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=3.0 KiB, rowCount=12)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=2.1 KiB, rowCount=12)
: +- 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=1408.0 B, rowCount=12)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=1184.0 B, rowCount=12)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=2016.0 B, rowCount=18)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=6.1 KiB, rowCount=12)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=6.3 KiB, rowCount=12)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=12)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=3.0 KiB, rowCount=12)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=2.1 KiB, rowCount=12)
: +- Exchange (52)
: +- * ColumnarToRow (51)
: +- Scan parquet (50)
+- BroadcastQueryStage (60), Statistics(sizeInBytes=2.0 MiB, rowCount=6)
+- BroadcastExchange (59)
+- ShuffleQueryStage (58), Statistics(sizeInBytes=680.0 B, rowCount=6)
+- Exchange (57)
+- * Filter (56)
+- * ColumnarToRow (55)
+- Scan parquet (54)
+- == Initial Plan ==
SerializeFromObject (120)
+- MapPartitions (119)
+- DeserializeToObject (118)
+- Exchange (117)
+- Project (116)
+- ObjectHashAggregate (115)
+- Exchange (114)
+- ObjectHashAggregate (113)
+- Project (112)
+- Window (111)
+- Sort (110)
+- Exchange (109)
+- Project (108)
+- Generate (107)
+- Project (106)
+- Project (105)
+- SortMergeJoin LeftOuter (104)
:- Sort (95)
: +- Exchange (94)
: +- Project (93)
: +- Exchange (92)
: +- Filter (91)
: +- Scan parquet (41)
+- Sort (103)
+- Exchange (102)
+- Project (101)
+- BroadcastHashJoin LeftOuter BuildRight (100)
:- Exchange (96)
: +- Scan parquet (50)
+- BroadcastExchange (99)
+- Exchange (98)
+- Filter (97)
+- Scan parquet (54)
(1) InMemoryTableScan
Output [1]: [plant#818277]
Arguments: [plant#818277]
(2) InMemoryRelation
Arguments: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, orderProposalHorizonGroupingId#818364L, splitIndicator#818391L, previousOrderProposal#818392L, clusterId#818952L, sequenceId#818955], StorageLevel(disk, memory, 2 replicas)
(3) Scan parquet
Output [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
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/10000002109]
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#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
(5) Filter [codegen id : 1]
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Condition : ((size(productOrderSchedule#818282, true) > 0) AND isnotnull(productOrderSchedule#818282))
(6) Exchange
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=321888]
(7) ShuffleQueryStage
Output [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Arguments: 0
(8) Project [codegen id : 5]
Output [9]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, CASE WHEN isnotnull(supplyingPlant#818280) THEN productGroup#818281 ELSE subrange#818279 END AS effectiveSubrange#818302]
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
(9) Exchange
Input [9]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: hashpartitioning(coalesce(supplierGroup#818275, ), isnull(supplierGroup#818275), coalesce(supplier#818276, ), isnull(supplier#818276), coalesce(effectiveSubrange#818302, ), isnull(effectiveSubrange#818302), coalesce(plant#818277, ), isnull(plant#818277), coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00), isnull(deliveryDateTime#818278), 25), ENSURE_REQUIREMENTS, [plan_id=322161]
(10) ShuffleQueryStage
Output [9]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: 5
(11) AQEShuffleRead
Input [9]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: local
(12) Scan parquet
Output [7]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000002109/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#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
(14) Exchange
Input [7]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=321904]
(15) ShuffleQueryStage
Output [7]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
Arguments: 1
(16) Scan parquet
Output [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
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#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
(18) Filter [codegen id : 3]
Input [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
Condition : isnotnull(orderGroupingProfile#818294)
(19) Exchange
Input [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=321917]
(20) ShuffleQueryStage
Output [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
Arguments: 2
(21) BroadcastExchange
Input [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=321925]
(22) BroadcastQueryStage
Output [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
Arguments: 7
(23) BroadcastHashJoin [codegen id : 7]
Left keys [1]: [orderGroupingProfile#818287]
Right keys [1]: [orderGroupingProfile#818294]
Join type: LeftOuter
Join condition: None
(24) Project [codegen id : 7]
Output [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, subrange#818284 AS effectiveSubrange#818303]
Input [10]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
(25) Exchange
Input [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
Arguments: hashpartitioning(coalesce(supplierGroup#818288, ), isnull(supplierGroup#818288), coalesce(supplier#818283, ), isnull(supplier#818283), coalesce(effectiveSubrange#818303, ), isnull(effectiveSubrange#818303), coalesce(plant#818285, ), isnull(plant#818285), coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00), isnull(deliveryDateTime#818286), 25), ENSURE_REQUIREMENTS, [plan_id=322617]
(26) ShuffleQueryStage
Output [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
Arguments: 8
(27) AQEShuffleRead
Input [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
Arguments: local
(28) BroadcastExchange
Input [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
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=322695]
(29) BroadcastQueryStage
Output [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
Arguments: 9
(30) BroadcastHashJoin [codegen id : 8]
Left keys [10]: [coalesce(supplierGroup#818275, ), isnull(supplierGroup#818275), coalesce(supplier#818276, ), isnull(supplier#818276), coalesce(effectiveSubrange#818302, ), isnull(effectiveSubrange#818302), coalesce(plant#818277, ), isnull(plant#818277), coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00), isnull(deliveryDateTime#818278)]
Right keys [10]: [coalesce(supplierGroup#818288, ), isnull(supplierGroup#818288), coalesce(supplier#818283, ), isnull(supplier#818283), coalesce(effectiveSubrange#818303, ), isnull(effectiveSubrange#818303), coalesce(plant#818285, ), isnull(plant#818285), coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00), isnull(deliveryDateTime#818286)]
Join type: LeftOuter
Join condition: None
(31) Project [codegen id : 8]
Output [14]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, CASE WHEN isnull(orderGroupCriteria#818296) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#818296 END AS orderGroupCriteria#818315, CASE WHEN isnull(orderSplitCriteria#818297) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#818297 END AS orderSplitCriteria#818325, orderGroupingProfile#818287, coalesce(supplierGroup#818275, supplier#818276) AS supplierOrGroup#818304, coalesce(locationGroup#818289, plant#818277) AS locationOrGroup#818305]
Input [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
(32) Project [codegen id : 8]
Output [26]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, orderGroupCriteria#818315.supplierSubrange AS _extract_supplierSubrange#819105, orderGroupCriteria#818315.mrpController AS _extract_mrpController#819106, orderGroupCriteria#818315.purchasingOrg AS _extract_purchasingOrg#819107, orderGroupCriteria#818315.orderDate AS _extract_orderDate#819108, orderGroupCriteria#818315.deliveryDate AS _extract_deliveryDate#819109, orderGroupCriteria#818315.supplier AS _extract_supplier#819110, orderGroupCriteria#818315.purchasingGroup AS _extract_purchasingGroup#819111, orderSplitCriteria#818325.supplierSubrange AS _extract_supplierSubrange#819098, orderSplitCriteria#818325.mrpController AS _extract_mrpController#819099, orderSplitCriteria#818325.orderDate AS _extract_orderDate#819100, orderSplitCriteria#818325.supplier AS _extract_supplier#819101, orderSplitCriteria#818325.deliveryDate AS _extract_deliveryDate#819102, orderSplitCriteria#818325.purchasingOrg AS _extract_purchasingOrg#819103, orderSplitCriteria#818325.purchasingGroup AS _extract_purchasingGroup#819104, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
Input [14]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, orderGroupCriteria#818315, orderSplitCriteria#818325, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
(33) Generate [codegen id : 8]
Input [26]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, _extract_supplierSubrange#819105, _extract_mrpController#819106, _extract_purchasingOrg#819107, _extract_orderDate#819108, _extract_deliveryDate#819109, _extract_supplier#819110, _extract_purchasingGroup#819111, _extract_supplierSubrange#819098, _extract_mrpController#819099, _extract_orderDate#819100, _extract_supplier#819101, _extract_deliveryDate#819102, _extract_purchasingOrg#819103, _extract_purchasingGroup#819104, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
Arguments: explode(productOrderSchedule#818282), [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, effectiveSubrange#818302, _extract_supplierSubrange#819105, _extract_mrpController#819106, _extract_purchasingOrg#819107, _extract_orderDate#819108, _extract_deliveryDate#819109, _extract_supplier#819110, _extract_purchasingGroup#819111, _extract_supplierSubrange#819098, _extract_mrpController#819099, _extract_orderDate#819100, _extract_supplier#819101, _extract_deliveryDate#819102, _extract_purchasingOrg#819103, _extract_purchasingGroup#819104, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305], false, [productOrderScheduleExploded#818327]
(34) Project [codegen id : 8]
Output [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderScheduleExploded#818327.product AS product#818328, productOrderScheduleExploded#818327.orderDateTime AS orderDateTime#818329, productOrderScheduleExploded#818327.availabilityDateTime AS availabilityDateTime#818330, productOrderScheduleExploded#818327.nextAvailabilityDateTime AS nextAvailabilityDateTime#818331, productOrderScheduleExploded#818327.mrpController AS mrpController#818332, productOrderScheduleExploded#818327.sourceOfSupplyUuid AS sourceOfSupplyUuid#818333, productOrderScheduleExploded#818327.purchasingOrg AS purchasingOrg#818334, productOrderScheduleExploded#818327.purchasingGroup AS purchasingGroup#818335, productOrderScheduleExploded#818327.isFallbackOrderOnly AS isFallbackOrderOnly#818336, xxhash64(CASE WHEN (_extract_supplierSubrange#819105 <=> true) THEN effectiveSubrange#818302 END, orderGroupingProfile#818287, CASE WHEN (_extract_mrpController#819106 <=> true) THEN productOrderScheduleExploded#818327.mrpController END, CASE WHEN (_extract_purchasingOrg#819107 <=> true) THEN productOrderScheduleExploded#818327.purchasingOrg END, CASE WHEN (_extract_orderDate#819108 <=> true) THEN productOrderScheduleExploded#818327.orderDateTime END, CASE WHEN (_extract_deliveryDate#819109 <=> true) THEN deliveryDateTime#818278 END, CASE WHEN (_extract_supplier#819110 <=> true) THEN supplierOrGroup#818304 END, locationOrGroup#818305, CASE WHEN (_extract_purchasingGroup#819111 <=> true) THEN productOrderScheduleExploded#818327.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#818302) AND (_extract_supplierSubrange#819105 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#818287) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.mrpController) AND (_extract_mrpController#819106 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingOrg) AND (_extract_purchasingOrg#819107 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.orderDateTime) AND (_extract_orderDate#819108 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#818278) AND (_extract_deliveryDate#819109 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#818304) AND (_extract_supplier#819110 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#818305) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingGroup) AND (_extract_purchasingGroup#819111 <=> true)) THEN 256 ELSE 0 END), 10000002109, 42) AS orderProposalId#818363L, xxhash64(CASE WHEN (_extract_supplierSubrange#819098 <=> true) THEN effectiveSubrange#818302 END, orderGroupingProfile#818287, CASE WHEN (_extract_mrpController#819099 <=> true) THEN productOrderScheduleExploded#818327.mrpController END, CASE WHEN (_extract_orderDate#819100 <=> true) THEN productOrderScheduleExploded#818327.orderDateTime END, CASE WHEN (_extract_supplier#819101 <=> true) THEN supplier#818276 END, CASE WHEN (_extract_deliveryDate#819102 <=> true) THEN deliveryDateTime#818278 END, CASE WHEN (_extract_purchasingOrg#819103 <=> true) THEN productOrderScheduleExploded#818327.purchasingOrg END, plant#818277, CASE WHEN (_extract_purchasingGroup#819104 <=> true) THEN productOrderScheduleExploded#818327.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#818302) AND (_extract_supplierSubrange#819098 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#818287) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.mrpController) AND (_extract_mrpController#819099 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.orderDateTime) AND (_extract_orderDate#819100 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(supplier#818276) AND (_extract_supplier#819101 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#818278) AND (_extract_deliveryDate#819102 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingOrg) AND (_extract_purchasingOrg#819103 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(plant#818277) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingGroup) AND (_extract_purchasingGroup#819104 <=> true)) THEN 256 ELSE 0 END), 10000002109, 42) AS splitIndicator#818391L]
Input [26]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, effectiveSubrange#818302, _extract_supplierSubrange#819105, _extract_mrpController#819106, _extract_purchasingOrg#819107, _extract_orderDate#819108, _extract_deliveryDate#819109, _extract_supplier#819110, _extract_purchasingGroup#819111, _extract_supplierSubrange#819098, _extract_mrpController#819099, _extract_orderDate#819100, _extract_supplier#819101, _extract_deliveryDate#819102, _extract_purchasingOrg#819103, _extract_purchasingGroup#819104, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305, productOrderScheduleExploded#818327]
(35) Exchange
Input [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L]
Arguments: hashpartitioning(product#818328, plant#818277, 25), ENSURE_REQUIREMENTS, [plan_id=322776]
(36) ShuffleQueryStage
Output [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L]
Arguments: 10
(37) Sort [codegen id : 9]
Input [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L]
Arguments: [product#818328 ASC NULLS FIRST, plant#818277 ASC NULLS FIRST, availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST], false, 0
(38) Window
Input [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L]
Arguments: [lag(orderProposalId#818363L, -1, null) windowspecdefinition(product#818328, plant#818277, availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#818392L], [product#818328, plant#818277], [availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST]
(39) InMemoryTableScan
Output [4]: [clusterId#818450L, orderProposalId#818445L, plant#818446, previousOrderProposals#818447]
Arguments: [clusterId#818450L, orderProposalId#818445L, plant#818446, previousOrderProposals#818447]
(40) InMemoryRelation
Arguments: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, nodeId#818448L, dependentOnNodeIds#818449, clusterId#818450L, unresolvedDependencies#818451], StorageLevel(disk, memory, 2 replicas)
(41) Scan parquet
Output [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
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/10000002109]
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#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
(43) Filter [codegen id : 1]
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Condition : ((size(productOrderSchedule#818282, true) > 0) AND isnotnull(productOrderSchedule#818282))
(44) Exchange
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=320621]
(45) ShuffleQueryStage
Output [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Arguments: 0
(46) Project [codegen id : 4]
Output [6]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, CASE WHEN isnotnull(supplyingPlant#818280) THEN productGroup#818281 ELSE subrange#818279 END AS effectiveSubrange#818302]
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
(47) Exchange
Input [6]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: hashpartitioning(coalesce(supplierGroup#818275, ), isnull(supplierGroup#818275), coalesce(supplier#818276, ), isnull(supplier#818276), coalesce(effectiveSubrange#818302, ), isnull(effectiveSubrange#818302), coalesce(plant#818277, ), isnull(plant#818277), coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00), isnull(deliveryDateTime#818278), 25), ENSURE_REQUIREMENTS, [plan_id=320892]
(48) ShuffleQueryStage
Output [6]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: 3
(49) AQEShuffleRead
Input [6]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: local
(50) Scan parquet
Output [7]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000002109/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#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
(52) Exchange
Input [7]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=320637]
(53) ShuffleQueryStage
Output [7]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
Arguments: 1
(54) Scan parquet
Output [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
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#818294, orderGroupCriteria#818296]
(56) Filter [codegen id : 3]
Input [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
Condition : isnotnull(orderGroupingProfile#818294)
(57) Exchange
Input [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=320650]
(58) ShuffleQueryStage
Output [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
Arguments: 2
(59) BroadcastExchange
Input [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=320658]
(60) BroadcastQueryStage
Output [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
Arguments: 4
(61) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [orderGroupingProfile#818287]
Right keys [1]: [orderGroupingProfile#818294]
Join type: LeftOuter
Join condition: None
(62) Project [codegen id : 5]
Output [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, subrange#818284 AS effectiveSubrange#818303]
Input [9]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupingProfile#818294, orderGroupCriteria#818296]
(63) Exchange
Input [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
Arguments: hashpartitioning(coalesce(supplierGroup#818288, ), isnull(supplierGroup#818288), coalesce(supplier#818283, ), isnull(supplier#818283), coalesce(effectiveSubrange#818303, ), isnull(effectiveSubrange#818303), coalesce(plant#818285, ), isnull(plant#818285), coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00), isnull(deliveryDateTime#818286), 25), ENSURE_REQUIREMENTS, [plan_id=321240]
(64) ShuffleQueryStage
Output [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
Arguments: 5
(65) AQEShuffleRead
Input [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
Arguments: local
(66) BroadcastExchange
Input [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
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=321364]
(67) BroadcastQueryStage
Output [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
Arguments: 6
(68) BroadcastHashJoin [codegen id : 6]
Left keys [10]: [coalesce(supplierGroup#818275, ), isnull(supplierGroup#818275), coalesce(supplier#818276, ), isnull(supplier#818276), coalesce(effectiveSubrange#818302, ), isnull(effectiveSubrange#818302), coalesce(plant#818277, ), isnull(plant#818277), coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00), isnull(deliveryDateTime#818278)]
Right keys [10]: [coalesce(supplierGroup#818288, ), isnull(supplierGroup#818288), coalesce(supplier#818283, ), isnull(supplier#818283), coalesce(effectiveSubrange#818303, ), isnull(effectiveSubrange#818303), coalesce(plant#818285, ), isnull(plant#818285), coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00), isnull(deliveryDateTime#818286)]
Join type: LeftOuter
Join condition: None
(69) Project [codegen id : 6]
Output [8]: [plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, CASE WHEN isnull(orderGroupCriteria#818296) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#818296 END AS orderGroupCriteria#818315, orderGroupingProfile#818287, coalesce(supplierGroup#818275, supplier#818276) AS supplierOrGroup#818304, coalesce(locationGroup#818289, plant#818277) AS locationOrGroup#818305]
Input [14]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
(70) Project [codegen id : 6]
Output [14]: [plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, orderGroupCriteria#818315.supplierSubrange AS _extract_supplierSubrange#818452, orderGroupCriteria#818315.mrpController AS _extract_mrpController#818453, orderGroupCriteria#818315.purchasingOrg AS _extract_purchasingOrg#818454, orderGroupCriteria#818315.orderDate AS _extract_orderDate#818455, orderGroupCriteria#818315.deliveryDate AS _extract_deliveryDate#818456, orderGroupCriteria#818315.supplier AS _extract_supplier#818457, orderGroupCriteria#818315.purchasingGroup AS _extract_purchasingGroup#818458, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
Input [8]: [plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, orderGroupCriteria#818315, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
(71) Generate [codegen id : 6]
Input [14]: [plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, _extract_supplierSubrange#818452, _extract_mrpController#818453, _extract_purchasingOrg#818454, _extract_orderDate#818455, _extract_deliveryDate#818456, _extract_supplier#818457, _extract_purchasingGroup#818458, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
Arguments: explode(productOrderSchedule#818282), [plant#818277, deliveryDateTime#818278, effectiveSubrange#818302, _extract_supplierSubrange#818452, _extract_mrpController#818453, _extract_purchasingOrg#818454, _extract_orderDate#818455, _extract_deliveryDate#818456, _extract_supplier#818457, _extract_purchasingGroup#818458, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305], false, [productOrderScheduleExploded#818327]
(72) Project [codegen id : 6]
Output [5]: [plant#818277, productOrderScheduleExploded#818327.product AS product#818328, productOrderScheduleExploded#818327.orderDateTime AS orderDateTime#818329, productOrderScheduleExploded#818327.availabilityDateTime AS availabilityDateTime#818330, xxhash64(CASE WHEN (_extract_supplierSubrange#818452 <=> true) THEN effectiveSubrange#818302 END, orderGroupingProfile#818287, CASE WHEN (_extract_mrpController#818453 <=> true) THEN productOrderScheduleExploded#818327.mrpController END, CASE WHEN (_extract_purchasingOrg#818454 <=> true) THEN productOrderScheduleExploded#818327.purchasingOrg END, CASE WHEN (_extract_orderDate#818455 <=> true) THEN productOrderScheduleExploded#818327.orderDateTime END, CASE WHEN (_extract_deliveryDate#818456 <=> true) THEN deliveryDateTime#818278 END, CASE WHEN (_extract_supplier#818457 <=> true) THEN supplierOrGroup#818304 END, locationOrGroup#818305, CASE WHEN (_extract_purchasingGroup#818458 <=> true) THEN productOrderScheduleExploded#818327.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#818302) AND (_extract_supplierSubrange#818452 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#818287) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.mrpController) AND (_extract_mrpController#818453 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingOrg) AND (_extract_purchasingOrg#818454 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.orderDateTime) AND (_extract_orderDate#818455 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#818278) AND (_extract_deliveryDate#818456 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#818304) AND (_extract_supplier#818457 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#818305) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingGroup) AND (_extract_purchasingGroup#818458 <=> true)) THEN 256 ELSE 0 END), 10000002109, 42) AS orderProposalId#818363L]
Input [14]: [plant#818277, deliveryDateTime#818278, effectiveSubrange#818302, _extract_supplierSubrange#818452, _extract_mrpController#818453, _extract_purchasingOrg#818454, _extract_orderDate#818455, _extract_deliveryDate#818456, _extract_supplier#818457, _extract_purchasingGroup#818458, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305, productOrderScheduleExploded#818327]
(73) Exchange
Input [5]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L]
Arguments: hashpartitioning(product#818328, plant#818277, 25), ENSURE_REQUIREMENTS, [plan_id=321491]
(74) ShuffleQueryStage
Output [5]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L]
Arguments: 7
(75) AQEShuffleRead
Input [5]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L]
Arguments: coalesced
(76) Sort [codegen id : 7]
Input [5]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L]
Arguments: [product#818328 ASC NULLS FIRST, plant#818277 ASC NULLS FIRST, availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST], false, 0
(77) Window
Input [5]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L]
Arguments: [lag(orderProposalId#818363L, -1, null) windowspecdefinition(product#818328, plant#818277, availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#818392L], [product#818328, plant#818277], [availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST]
(78) Project [codegen id : 8]
Output [3]: [plant#818277, orderProposalId#818363L, previousOrderProposal#818392L]
Input [6]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L, previousOrderProposal#818392L]
(79) ObjectHashAggregate
Input [3]: [plant#818277, orderProposalId#818363L, previousOrderProposal#818392L]
Keys [1]: [orderProposalId#818363L]
Functions [2]: [partial_min(plant#818277), partial_collect_set(previousOrderProposal#818392L, 0, 0)]
Aggregate Attributes [2]: [min#818716, buf#818717]
Results [3]: [orderProposalId#818363L, min#818718, buf#818719]
(80) Exchange
Input [3]: [orderProposalId#818363L, min#818718, buf#818719]
Arguments: hashpartitioning(orderProposalId#818363L, 25), ENSURE_REQUIREMENTS, [plan_id=321589]
(81) ShuffleQueryStage
Output [3]: [orderProposalId#818363L, min#818718, buf#818719]
Arguments: 8
(82) AQEShuffleRead
Input [3]: [orderProposalId#818363L, min#818718, buf#818719]
Arguments: coalesced
(83) ObjectHashAggregate
Input [3]: [orderProposalId#818363L, min#818718, buf#818719]
Keys [1]: [orderProposalId#818363L]
Functions [2]: [min(plant#818277), collect_set(previousOrderProposal#818392L, 0, 0)]
Aggregate Attributes [2]: [min(plant#818277)#818415, collect_set(previousOrderProposal#818392L, 0, 0)#818416]
Results [4]: [orderProposalId#818363L, min(plant#818277)#818415 AS plant#818393, collect_set(previousOrderProposal#818392L, 0, 0)#818416 AS previousOrderProposals#818394, orderProposalId#818363L AS nodeId#818417L]
(84) Project [codegen id : 9]
Output [5]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L, previousOrderProposals#818394 AS dependentOnNodeIds#818418]
Input [4]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L]
(85) Exchange
Input [5]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L, dependentOnNodeIds#818418]
Arguments: hashpartitioning(plant#818393, 25), REPARTITION_BY_COL, [plan_id=321641]
(86) ShuffleQueryStage
Output [5]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L, dependentOnNodeIds#818418]
Arguments: 9
(87) DeserializeToObject
Input [5]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L, dependentOnNodeIds#818418]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#818363L)), invoke(plant#818393.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -4), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -4))), previousOrderProposals#818394, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(nodeId#818417L)), mapobjects(lambdavariable(MapObject, LongType, false, -5), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -5))), dependentOnNodeIds#818418, 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#818429: org.apache.spark.sql.Row
(88) MapPartitions
Input [1]: [obj#818429]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@4e5e4601, obj#818437: org.apache.spark.sql.Row
(89) SerializeFromObject [codegen id : 10]
Input [1]: [obj#818437]
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#818445L, 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#818446, 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#818447, assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, nodeId), LongType, ObjectType(class java.lang.Long)).longValue())) AS nodeId#818448L, 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#818449, 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#818450L, 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#818451]
(90) ResultQueryStage
Output [7]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, nodeId#818448L, dependentOnNodeIds#818449, clusterId#818450L, unresolvedDependencies#818451]
Arguments: 10
(91) Filter
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Condition : ((size(productOrderSchedule#818282, true) > 0) AND isnotnull(productOrderSchedule#818282))
(92) Exchange
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=320499]
(93) Project
Output [6]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, CASE WHEN isnotnull(supplyingPlant#818280) THEN productGroup#818281 ELSE subrange#818279 END AS effectiveSubrange#818302]
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
(94) Exchange
Input [6]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: hashpartitioning(coalesce(supplierGroup#818275, ), isnull(supplierGroup#818275), coalesce(supplier#818276, ), isnull(supplier#818276), coalesce(effectiveSubrange#818302, ), isnull(effectiveSubrange#818302), coalesce(plant#818277, ), isnull(plant#818277), coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00), isnull(deliveryDateTime#818278), 25), ENSURE_REQUIREMENTS, [plan_id=320523]
(95) Sort
Input [6]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: [coalesce(supplierGroup#818275, ) ASC NULLS FIRST, isnull(supplierGroup#818275) ASC NULLS FIRST, coalesce(supplier#818276, ) ASC NULLS FIRST, isnull(supplier#818276) ASC NULLS FIRST, coalesce(effectiveSubrange#818302, ) ASC NULLS FIRST, isnull(effectiveSubrange#818302) ASC NULLS FIRST, coalesce(plant#818277, ) ASC NULLS FIRST, isnull(plant#818277) ASC NULLS FIRST, coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#818278) ASC NULLS FIRST], false, 0
(96) Exchange
Input [7]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=320477]
(97) Filter
Input [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
Condition : isnotnull(orderGroupingProfile#818294)
(98) Exchange
Input [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=320501]
(99) BroadcastExchange
Input [2]: [orderGroupingProfile#818294, orderGroupCriteria#818296]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=320518]
(100) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#818287]
Right keys [1]: [orderGroupingProfile#818294]
Join type: LeftOuter
Join condition: None
(101) Project
Output [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, subrange#818284 AS effectiveSubrange#818303]
Input [9]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupingProfile#818294, orderGroupCriteria#818296]
(102) Exchange
Input [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
Arguments: hashpartitioning(coalesce(supplierGroup#818288, ), isnull(supplierGroup#818288), coalesce(supplier#818283, ), isnull(supplier#818283), coalesce(effectiveSubrange#818303, ), isnull(effectiveSubrange#818303), coalesce(plant#818285, ), isnull(plant#818285), coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00), isnull(deliveryDateTime#818286), 25), ENSURE_REQUIREMENTS, [plan_id=320524]
(103) Sort
Input [8]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
Arguments: [coalesce(supplierGroup#818288, ) ASC NULLS FIRST, isnull(supplierGroup#818288) ASC NULLS FIRST, coalesce(supplier#818283, ) ASC NULLS FIRST, isnull(supplier#818283) ASC NULLS FIRST, coalesce(effectiveSubrange#818303, ) ASC NULLS FIRST, isnull(effectiveSubrange#818303) ASC NULLS FIRST, coalesce(plant#818285, ) ASC NULLS FIRST, isnull(plant#818285) ASC NULLS FIRST, coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#818286) ASC NULLS FIRST], false, 0
(104) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#818275, ), isnull(supplierGroup#818275), coalesce(supplier#818276, ), isnull(supplier#818276), coalesce(effectiveSubrange#818302, ), isnull(effectiveSubrange#818302), coalesce(plant#818277, ), isnull(plant#818277), coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00), isnull(deliveryDateTime#818278)]
Right keys [10]: [coalesce(supplierGroup#818288, ), isnull(supplierGroup#818288), coalesce(supplier#818283, ), isnull(supplier#818283), coalesce(effectiveSubrange#818303, ), isnull(effectiveSubrange#818303), coalesce(plant#818285, ), isnull(plant#818285), coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00), isnull(deliveryDateTime#818286)]
Join type: LeftOuter
Join condition: None
(105) Project
Output [8]: [plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, CASE WHEN isnull(orderGroupCriteria#818296) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#818296 END AS orderGroupCriteria#818315, orderGroupingProfile#818287, coalesce(supplierGroup#818275, supplier#818276) AS supplierOrGroup#818304, coalesce(locationGroup#818289, plant#818277) AS locationOrGroup#818305]
Input [14]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, effectiveSubrange#818303]
(106) Project
Output [14]: [plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, orderGroupCriteria#818315.supplierSubrange AS _extract_supplierSubrange#818452, orderGroupCriteria#818315.mrpController AS _extract_mrpController#818453, orderGroupCriteria#818315.purchasingOrg AS _extract_purchasingOrg#818454, orderGroupCriteria#818315.orderDate AS _extract_orderDate#818455, orderGroupCriteria#818315.deliveryDate AS _extract_deliveryDate#818456, orderGroupCriteria#818315.supplier AS _extract_supplier#818457, orderGroupCriteria#818315.purchasingGroup AS _extract_purchasingGroup#818458, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
Input [8]: [plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, orderGroupCriteria#818315, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
(107) Generate
Input [14]: [plant#818277, deliveryDateTime#818278, productOrderSchedule#818282, effectiveSubrange#818302, _extract_supplierSubrange#818452, _extract_mrpController#818453, _extract_purchasingOrg#818454, _extract_orderDate#818455, _extract_deliveryDate#818456, _extract_supplier#818457, _extract_purchasingGroup#818458, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
Arguments: explode(productOrderSchedule#818282), [plant#818277, deliveryDateTime#818278, effectiveSubrange#818302, _extract_supplierSubrange#818452, _extract_mrpController#818453, _extract_purchasingOrg#818454, _extract_orderDate#818455, _extract_deliveryDate#818456, _extract_supplier#818457, _extract_purchasingGroup#818458, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305], false, [productOrderScheduleExploded#818327]
(108) Project
Output [5]: [plant#818277, productOrderScheduleExploded#818327.product AS product#818328, productOrderScheduleExploded#818327.orderDateTime AS orderDateTime#818329, productOrderScheduleExploded#818327.availabilityDateTime AS availabilityDateTime#818330, xxhash64(CASE WHEN (_extract_supplierSubrange#818452 <=> true) THEN effectiveSubrange#818302 END, orderGroupingProfile#818287, CASE WHEN (_extract_mrpController#818453 <=> true) THEN productOrderScheduleExploded#818327.mrpController END, CASE WHEN (_extract_purchasingOrg#818454 <=> true) THEN productOrderScheduleExploded#818327.purchasingOrg END, CASE WHEN (_extract_orderDate#818455 <=> true) THEN productOrderScheduleExploded#818327.orderDateTime END, CASE WHEN (_extract_deliveryDate#818456 <=> true) THEN deliveryDateTime#818278 END, CASE WHEN (_extract_supplier#818457 <=> true) THEN supplierOrGroup#818304 END, locationOrGroup#818305, CASE WHEN (_extract_purchasingGroup#818458 <=> true) THEN productOrderScheduleExploded#818327.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#818302) AND (_extract_supplierSubrange#818452 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#818287) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.mrpController) AND (_extract_mrpController#818453 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingOrg) AND (_extract_purchasingOrg#818454 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.orderDateTime) AND (_extract_orderDate#818455 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#818278) AND (_extract_deliveryDate#818456 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#818304) AND (_extract_supplier#818457 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#818305) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingGroup) AND (_extract_purchasingGroup#818458 <=> true)) THEN 256 ELSE 0 END), 10000002109, 42) AS orderProposalId#818363L]
Input [14]: [plant#818277, deliveryDateTime#818278, effectiveSubrange#818302, _extract_supplierSubrange#818452, _extract_mrpController#818453, _extract_purchasingOrg#818454, _extract_orderDate#818455, _extract_deliveryDate#818456, _extract_supplier#818457, _extract_purchasingGroup#818458, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305, productOrderScheduleExploded#818327]
(109) Exchange
Input [5]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L]
Arguments: hashpartitioning(product#818328, plant#818277, 25), ENSURE_REQUIREMENTS, [plan_id=320533]
(110) Sort
Input [5]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L]
Arguments: [product#818328 ASC NULLS FIRST, plant#818277 ASC NULLS FIRST, availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST], false, 0
(111) Window
Input [5]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L]
Arguments: [lag(orderProposalId#818363L, -1, null) windowspecdefinition(product#818328, plant#818277, availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#818392L], [product#818328, plant#818277], [availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST]
(112) Project
Output [3]: [plant#818277, orderProposalId#818363L, previousOrderProposal#818392L]
Input [6]: [plant#818277, product#818328, orderDateTime#818329, availabilityDateTime#818330, orderProposalId#818363L, previousOrderProposal#818392L]
(113) ObjectHashAggregate
Input [3]: [plant#818277, orderProposalId#818363L, previousOrderProposal#818392L]
Keys [1]: [orderProposalId#818363L]
Functions [2]: [partial_min(plant#818277), partial_collect_set(previousOrderProposal#818392L, 0, 0)]
Aggregate Attributes [2]: [min#818716, buf#818717]
Results [3]: [orderProposalId#818363L, min#818718, buf#818719]
(114) Exchange
Input [3]: [orderProposalId#818363L, min#818718, buf#818719]
Arguments: hashpartitioning(orderProposalId#818363L, 25), ENSURE_REQUIREMENTS, [plan_id=320539]
(115) ObjectHashAggregate
Input [3]: [orderProposalId#818363L, min#818718, buf#818719]
Keys [1]: [orderProposalId#818363L]
Functions [2]: [min(plant#818277), collect_set(previousOrderProposal#818392L, 0, 0)]
Aggregate Attributes [2]: [min(plant#818277)#818415, collect_set(previousOrderProposal#818392L, 0, 0)#818416]
Results [4]: [orderProposalId#818363L, min(plant#818277)#818415 AS plant#818393, collect_set(previousOrderProposal#818392L, 0, 0)#818416 AS previousOrderProposals#818394, orderProposalId#818363L AS nodeId#818417L]
(116) Project
Output [5]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L, previousOrderProposals#818394 AS dependentOnNodeIds#818418]
Input [4]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L]
(117) Exchange
Input [5]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L, dependentOnNodeIds#818418]
Arguments: hashpartitioning(plant#818393, 25), REPARTITION_BY_COL, [plan_id=320542]
(118) DeserializeToObject
Input [5]: [orderProposalId#818363L, plant#818393, previousOrderProposals#818394, nodeId#818417L, dependentOnNodeIds#818418]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#818363L)), invoke(plant#818393.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -4), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -4))), previousOrderProposals#818394, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(nodeId#818417L)), mapobjects(lambdavariable(MapObject, LongType, false, -5), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -5))), dependentOnNodeIds#818418, 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#818429: org.apache.spark.sql.Row
(119) MapPartitions
Input [1]: [obj#818429]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@4e5e4601, obj#818437: org.apache.spark.sql.Row
(120) SerializeFromObject
Input [1]: [obj#818437]
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#818445L, 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#818446, 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#818447, assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, nodeId), LongType, ObjectType(class java.lang.Long)).longValue())) AS nodeId#818448L, 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#818449, 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#818450L, 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#818451]
(121) AdaptiveSparkPlan
Output [7]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, nodeId#818448L, dependentOnNodeIds#818449, clusterId#818450L, unresolvedDependencies#818451]
Arguments: isFinalPlan=true
(122) TableCacheQueryStage
Output [4]: [clusterId#818450L, orderProposalId#818445L, plant#818446, previousOrderProposals#818447]
Arguments: 3
(123) Project [codegen id : 4]
Output [6]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, clusterId#818450L, orderProposalId#818445L AS nodeId#818919L, previousOrderProposals#818447 AS dependentOnNodeIds#818920]
Input [4]: [clusterId#818450L, orderProposalId#818445L, plant#818446, previousOrderProposals#818447]
(124) Exchange
Input [6]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, clusterId#818450L, nodeId#818919L, dependentOnNodeIds#818920]
Arguments: hashpartitioning(clusterId#818450L, 25), REPARTITION_BY_COL, [plan_id=322074]
(125) ShuffleQueryStage
Output [6]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, clusterId#818450L, nodeId#818919L, dependentOnNodeIds#818920]
Arguments: 4
(126) AQEShuffleRead
Input [6]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, clusterId#818450L, nodeId#818919L, dependentOnNodeIds#818920]
Arguments: coalesced
(127) DeserializeToObject
Input [6]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, clusterId#818450L, nodeId#818919L, dependentOnNodeIds#818920]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#818445L)), invoke(plant#818446.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -1), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -1))), previousOrderProposals#818447, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(clusterId#818450L)), static_invoke(java.lang.Long.valueOf(nodeId#818919L)), mapobjects(lambdavariable(MapObject, LongType, false, -2), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -2))), dependentOnNodeIds#818920, 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#818933: org.apache.spark.sql.Row
(128) MapPartitions
Input [1]: [obj#818933]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@6b8e628a, obj#818941: org.apache.spark.sql.Row
(129) SerializeFromObject [codegen id : 6]
Input [1]: [obj#818941]
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#818949L, 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#818952L, 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#818955]
(130) BroadcastExchange
Input [3]: [orderProposalId#818949L, clusterId#818952L, sequenceId#818955]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=322343]
(131) BroadcastQueryStage
Output [3]: [orderProposalId#818949L, clusterId#818952L, sequenceId#818955]
Arguments: 6
(132) BroadcastHashJoin [codegen id : 10]
Left keys [1]: [orderProposalId#818363L]
Right keys [1]: [orderProposalId#818949L]
Join type: LeftOuter
Join condition: None
(133) Project [codegen id : 10]
Output [22]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, 0 AS orderProposalHorizonGroupingId#818364L, splitIndicator#818391L, previousOrderProposal#818392L, clusterId#818952L, sequenceId#818955]
Input [22]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L, previousOrderProposal#818392L, orderProposalId#818949L, clusterId#818952L, sequenceId#818955]
(134) ResultQueryStage
Output [22]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, orderProposalHorizonGroupingId#818364L, splitIndicator#818391L, previousOrderProposal#818392L, clusterId#818952L, sequenceId#818955]
Arguments: 11
(135) Filter
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Condition : ((size(productOrderSchedule#818282, true) > 0) AND isnotnull(productOrderSchedule#818282))
(136) Exchange
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=321788]
(137) Project
Output [9]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, CASE WHEN isnotnull(supplyingPlant#818280) THEN productGroup#818281 ELSE subrange#818279 END AS effectiveSubrange#818302]
Input [8]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282]
(138) Exchange
Input [9]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: hashpartitioning(coalesce(supplierGroup#818275, ), isnull(supplierGroup#818275), coalesce(supplier#818276, ), isnull(supplier#818276), coalesce(effectiveSubrange#818302, ), isnull(effectiveSubrange#818302), coalesce(plant#818277, ), isnull(plant#818277), coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00), isnull(deliveryDateTime#818278), 25), ENSURE_REQUIREMENTS, [plan_id=321806]
(139) Sort
Input [9]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302]
Arguments: [coalesce(supplierGroup#818275, ) ASC NULLS FIRST, isnull(supplierGroup#818275) ASC NULLS FIRST, coalesce(supplier#818276, ) ASC NULLS FIRST, isnull(supplier#818276) ASC NULLS FIRST, coalesce(effectiveSubrange#818302, ) ASC NULLS FIRST, isnull(effectiveSubrange#818302) ASC NULLS FIRST, coalesce(plant#818277, ) ASC NULLS FIRST, isnull(plant#818277) ASC NULLS FIRST, coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#818278) ASC NULLS FIRST], false, 0
(140) Exchange
Input [7]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=321766]
(141) Filter
Input [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
Condition : isnotnull(orderGroupingProfile#818294)
(142) Exchange
Input [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=321790]
(143) BroadcastExchange
Input [3]: [orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=321801]
(144) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#818287]
Right keys [1]: [orderGroupingProfile#818294]
Join type: LeftOuter
Join condition: None
(145) Project
Output [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, subrange#818284 AS effectiveSubrange#818303]
Input [10]: [supplier#818283, subrange#818284, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupingProfile#818294, orderGroupCriteria#818296, orderSplitCriteria#818297]
(146) Exchange
Input [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
Arguments: hashpartitioning(coalesce(supplierGroup#818288, ), isnull(supplierGroup#818288), coalesce(supplier#818283, ), isnull(supplier#818283), coalesce(effectiveSubrange#818303, ), isnull(effectiveSubrange#818303), coalesce(plant#818285, ), isnull(plant#818285), coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00), isnull(deliveryDateTime#818286), 25), ENSURE_REQUIREMENTS, [plan_id=321807]
(147) Sort
Input [9]: [supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
Arguments: [coalesce(supplierGroup#818288, ) ASC NULLS FIRST, isnull(supplierGroup#818288) ASC NULLS FIRST, coalesce(supplier#818283, ) ASC NULLS FIRST, isnull(supplier#818283) ASC NULLS FIRST, coalesce(effectiveSubrange#818303, ) ASC NULLS FIRST, isnull(effectiveSubrange#818303) ASC NULLS FIRST, coalesce(plant#818285, ) ASC NULLS FIRST, isnull(plant#818285) ASC NULLS FIRST, coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#818286) ASC NULLS FIRST], false, 0
(148) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#818275, ), isnull(supplierGroup#818275), coalesce(supplier#818276, ), isnull(supplier#818276), coalesce(effectiveSubrange#818302, ), isnull(effectiveSubrange#818302), coalesce(plant#818277, ), isnull(plant#818277), coalesce(deliveryDateTime#818278, 1970-01-01 00:00:00), isnull(deliveryDateTime#818278)]
Right keys [10]: [coalesce(supplierGroup#818288, ), isnull(supplierGroup#818288), coalesce(supplier#818283, ), isnull(supplier#818283), coalesce(effectiveSubrange#818303, ), isnull(effectiveSubrange#818303), coalesce(plant#818285, ), isnull(plant#818285), coalesce(deliveryDateTime#818286, 1970-01-01 00:00:00), isnull(deliveryDateTime#818286)]
Join type: LeftOuter
Join condition: None
(149) Project
Output [14]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, CASE WHEN isnull(orderGroupCriteria#818296) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#818296 END AS orderGroupCriteria#818315, CASE WHEN isnull(orderSplitCriteria#818297) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#818297 END AS orderSplitCriteria#818325, orderGroupingProfile#818287, coalesce(supplierGroup#818275, supplier#818276) AS supplierOrGroup#818304, coalesce(locationGroup#818289, plant#818277) AS locationOrGroup#818305]
Input [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, supplier#818283, plant#818285, deliverydatetime#818286, ordergroupingprofile#818287, supplierGroup#818288, locationGroup#818289, orderGroupCriteria#818296, orderSplitCriteria#818297, effectiveSubrange#818303]
(150) Project
Output [26]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, orderGroupCriteria#818315.supplierSubrange AS _extract_supplierSubrange#819105, orderGroupCriteria#818315.mrpController AS _extract_mrpController#819106, orderGroupCriteria#818315.purchasingOrg AS _extract_purchasingOrg#819107, orderGroupCriteria#818315.orderDate AS _extract_orderDate#819108, orderGroupCriteria#818315.deliveryDate AS _extract_deliveryDate#819109, orderGroupCriteria#818315.supplier AS _extract_supplier#819110, orderGroupCriteria#818315.purchasingGroup AS _extract_purchasingGroup#819111, orderSplitCriteria#818325.supplierSubrange AS _extract_supplierSubrange#819098, orderSplitCriteria#818325.mrpController AS _extract_mrpController#819099, orderSplitCriteria#818325.orderDate AS _extract_orderDate#819100, orderSplitCriteria#818325.supplier AS _extract_supplier#819101, orderSplitCriteria#818325.deliveryDate AS _extract_deliveryDate#819102, orderSplitCriteria#818325.purchasingOrg AS _extract_purchasingOrg#819103, orderSplitCriteria#818325.purchasingGroup AS _extract_purchasingGroup#819104, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
Input [14]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, orderGroupCriteria#818315, orderSplitCriteria#818325, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
(151) Generate
Input [26]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderSchedule#818282, effectiveSubrange#818302, _extract_supplierSubrange#819105, _extract_mrpController#819106, _extract_purchasingOrg#819107, _extract_orderDate#819108, _extract_deliveryDate#819109, _extract_supplier#819110, _extract_purchasingGroup#819111, _extract_supplierSubrange#819098, _extract_mrpController#819099, _extract_orderDate#819100, _extract_supplier#819101, _extract_deliveryDate#819102, _extract_purchasingOrg#819103, _extract_purchasingGroup#819104, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305]
Arguments: explode(productOrderSchedule#818282), [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, effectiveSubrange#818302, _extract_supplierSubrange#819105, _extract_mrpController#819106, _extract_purchasingOrg#819107, _extract_orderDate#819108, _extract_deliveryDate#819109, _extract_supplier#819110, _extract_purchasingGroup#819111, _extract_supplierSubrange#819098, _extract_mrpController#819099, _extract_orderDate#819100, _extract_supplier#819101, _extract_deliveryDate#819102, _extract_purchasingOrg#819103, _extract_purchasingGroup#819104, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305], false, [productOrderScheduleExploded#818327]
(152) Project
Output [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, productOrderScheduleExploded#818327.product AS product#818328, productOrderScheduleExploded#818327.orderDateTime AS orderDateTime#818329, productOrderScheduleExploded#818327.availabilityDateTime AS availabilityDateTime#818330, productOrderScheduleExploded#818327.nextAvailabilityDateTime AS nextAvailabilityDateTime#818331, productOrderScheduleExploded#818327.mrpController AS mrpController#818332, productOrderScheduleExploded#818327.sourceOfSupplyUuid AS sourceOfSupplyUuid#818333, productOrderScheduleExploded#818327.purchasingOrg AS purchasingOrg#818334, productOrderScheduleExploded#818327.purchasingGroup AS purchasingGroup#818335, productOrderScheduleExploded#818327.isFallbackOrderOnly AS isFallbackOrderOnly#818336, xxhash64(CASE WHEN (_extract_supplierSubrange#819105 <=> true) THEN effectiveSubrange#818302 END, orderGroupingProfile#818287, CASE WHEN (_extract_mrpController#819106 <=> true) THEN productOrderScheduleExploded#818327.mrpController END, CASE WHEN (_extract_purchasingOrg#819107 <=> true) THEN productOrderScheduleExploded#818327.purchasingOrg END, CASE WHEN (_extract_orderDate#819108 <=> true) THEN productOrderScheduleExploded#818327.orderDateTime END, CASE WHEN (_extract_deliveryDate#819109 <=> true) THEN deliveryDateTime#818278 END, CASE WHEN (_extract_supplier#819110 <=> true) THEN supplierOrGroup#818304 END, locationOrGroup#818305, CASE WHEN (_extract_purchasingGroup#819111 <=> true) THEN productOrderScheduleExploded#818327.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#818302) AND (_extract_supplierSubrange#819105 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#818287) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.mrpController) AND (_extract_mrpController#819106 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingOrg) AND (_extract_purchasingOrg#819107 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.orderDateTime) AND (_extract_orderDate#819108 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#818278) AND (_extract_deliveryDate#819109 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#818304) AND (_extract_supplier#819110 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#818305) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingGroup) AND (_extract_purchasingGroup#819111 <=> true)) THEN 256 ELSE 0 END), 10000002109, 42) AS orderProposalId#818363L, xxhash64(CASE WHEN (_extract_supplierSubrange#819098 <=> true) THEN effectiveSubrange#818302 END, orderGroupingProfile#818287, CASE WHEN (_extract_mrpController#819099 <=> true) THEN productOrderScheduleExploded#818327.mrpController END, CASE WHEN (_extract_orderDate#819100 <=> true) THEN productOrderScheduleExploded#818327.orderDateTime END, CASE WHEN (_extract_supplier#819101 <=> true) THEN supplier#818276 END, CASE WHEN (_extract_deliveryDate#819102 <=> true) THEN deliveryDateTime#818278 END, CASE WHEN (_extract_purchasingOrg#819103 <=> true) THEN productOrderScheduleExploded#818327.purchasingOrg END, plant#818277, CASE WHEN (_extract_purchasingGroup#819104 <=> true) THEN productOrderScheduleExploded#818327.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#818302) AND (_extract_supplierSubrange#819098 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#818287) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.mrpController) AND (_extract_mrpController#819099 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.orderDateTime) AND (_extract_orderDate#819100 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(supplier#818276) AND (_extract_supplier#819101 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#818278) AND (_extract_deliveryDate#819102 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingOrg) AND (_extract_purchasingOrg#819103 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(plant#818277) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#818327.purchasingGroup) AND (_extract_purchasingGroup#819104 <=> true)) THEN 256 ELSE 0 END), 10000002109, 42) AS splitIndicator#818391L]
Input [26]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, effectiveSubrange#818302, _extract_supplierSubrange#819105, _extract_mrpController#819106, _extract_purchasingOrg#819107, _extract_orderDate#819108, _extract_deliveryDate#819109, _extract_supplier#819110, _extract_purchasingGroup#819111, _extract_supplierSubrange#819098, _extract_mrpController#819099, _extract_orderDate#819100, _extract_supplier#819101, _extract_deliveryDate#819102, _extract_purchasingOrg#819103, _extract_purchasingGroup#819104, orderGroupingProfile#818287, supplierOrGroup#818304, locationOrGroup#818305, productOrderScheduleExploded#818327]
(153) Exchange
Input [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L]
Arguments: hashpartitioning(product#818328, plant#818277, 25), ENSURE_REQUIREMENTS, [plan_id=321816]
(154) Sort
Input [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L]
Arguments: [product#818328 ASC NULLS FIRST, plant#818277 ASC NULLS FIRST, availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST], false, 0
(155) Window
Input [18]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L]
Arguments: [lag(orderProposalId#818363L, -1, null) windowspecdefinition(product#818328, plant#818277, availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#818392L], [product#818328, plant#818277], [availabilityDateTime#818330 ASC NULLS FIRST, orderDateTime#818329 ASC NULLS FIRST, orderProposalId#818363L ASC NULLS FIRST]
(156) Project
Output [6]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, clusterId#818450L, orderProposalId#818445L AS nodeId#818919L, previousOrderProposals#818447 AS dependentOnNodeIds#818920]
Input [4]: [clusterId#818450L, orderProposalId#818445L, plant#818446, previousOrderProposals#818447]
(157) Exchange
Input [6]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, clusterId#818450L, nodeId#818919L, dependentOnNodeIds#818920]
Arguments: hashpartitioning(clusterId#818450L, 25), REPARTITION_BY_COL, [plan_id=321781]
(158) DeserializeToObject
Input [6]: [orderProposalId#818445L, plant#818446, previousOrderProposals#818447, clusterId#818450L, nodeId#818919L, dependentOnNodeIds#818920]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#818445L)), invoke(plant#818446.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -1), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -1))), previousOrderProposals#818447, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(clusterId#818450L)), static_invoke(java.lang.Long.valueOf(nodeId#818919L)), mapobjects(lambdavariable(MapObject, LongType, false, -2), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -2))), dependentOnNodeIds#818920, 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#818933: org.apache.spark.sql.Row
(159) MapPartitions
Input [1]: [obj#818933]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@6b8e628a, obj#818941: org.apache.spark.sql.Row
(160) SerializeFromObject
Input [1]: [obj#818941]
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#818949L, 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#818952L, 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#818955]
(161) BroadcastExchange
Input [3]: [orderProposalId#818949L, clusterId#818952L, sequenceId#818955]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=321820]
(162) BroadcastHashJoin
Left keys [1]: [orderProposalId#818363L]
Right keys [1]: [orderProposalId#818949L]
Join type: LeftOuter
Join condition: None
(163) Project
Output [22]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, 0 AS orderProposalHorizonGroupingId#818364L, splitIndicator#818391L, previousOrderProposal#818392L, clusterId#818952L, sequenceId#818955]
Input [22]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, splitIndicator#818391L, previousOrderProposal#818392L, orderProposalId#818949L, clusterId#818952L, sequenceId#818955]
(164) AdaptiveSparkPlan
Output [22]: [supplierGroup#818275, supplier#818276, plant#818277, deliveryDateTime#818278, subrange#818279, supplyingPlant#818280, productGroup#818281, product#818328, orderDateTime#818329, availabilityDateTime#818330, nextAvailabilityDateTime#818331, mrpController#818332, sourceOfSupplyUuid#818333, purchasingOrg#818334, purchasingGroup#818335, isFallbackOrderOnly#818336, orderProposalId#818363L, orderProposalHorizonGroupingId#818364L, splitIndicator#818391L, previousOrderProposal#818392L, clusterId#818952L, sequenceId#818955]
Arguments: isFinalPlan=true
(165) TableCacheQueryStage
Output [1]: [plant#818277]
Arguments: 0
(166) HashAggregate [codegen id : 1]
Input [1]: [plant#818277]
Keys [1]: [plant#818277]
Functions: []
Aggregate Attributes: []
Results [1]: [plant#818277]
(167) Exchange
Input [1]: [plant#818277]
Arguments: hashpartitioning(plant#818277, 25), ENSURE_REQUIREMENTS, [plan_id=322920]
(168) ShuffleQueryStage
Output [1]: [plant#818277]
Arguments: 1
(169) AQEShuffleRead
Input [1]: [plant#818277]
Arguments: coalesced
(170) HashAggregate [codegen id : 2]
Input [1]: [plant#818277]
Keys [1]: [plant#818277]
Functions: []
Aggregate Attributes: []
Results: []
(171) HashAggregate [codegen id : 2]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#820302L]
Results [1]: [count#820303L]
(172) Exchange
Input [1]: [count#820303L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=322952]
(173) ShuffleQueryStage
Output [1]: [count#820303L]
Arguments: 2
(174) HashAggregate [codegen id : 3]
Input [1]: [count#820303L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#819971L]
Results [1]: [count(1)#819971L AS count#819969L]
(175) ResultQueryStage
Output [1]: [count#819969L]
Arguments: 3
(176) HashAggregate
Input [1]: [plant#818277]
Keys [1]: [plant#818277]
Functions: []
Aggregate Attributes: []
Results [1]: [plant#818277]
(177) Exchange
Input [1]: [plant#818277]
Arguments: hashpartitioning(plant#818277, 25), ENSURE_REQUIREMENTS, [plan_id=322868]
(178) HashAggregate
Input [1]: [plant#818277]
Keys [1]: [plant#818277]
Functions: []
Aggregate Attributes: []
Results: []
(179) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#820302L]
Results [1]: [count#820303L]
(180) Exchange
Input [1]: [count#820303L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=322872]
(181) HashAggregate
Input [1]: [count#820303L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#819971L]
Results [1]: [count(1)#819971L AS count#819969L]
(182) AdaptiveSparkPlan
Output [1]: [count#819969L]
Arguments: isFinalPlan=true