== 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=11.5 KiB, rowCount=245)
+- Exchange (167)
+- * HashAggregate (166)
+- TableCacheQueryStage (165), Statistics(sizeInBytes=1012.7 KiB, rowCount=2.94E+3)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (164)
+- == Final Plan ==
ResultQueryStage (134)
+- * Project (133)
+- * BroadcastHashJoin LeftOuter BuildRight (132)
:- Window (38)
: +- * Sort (37)
: +- ShuffleQueryStage (36), Statistics(sizeInBytes=1115.7 KiB, rowCount=2.94E+3)
: +- Exchange (35)
: +- * Project (34)
: +- * Generate (33)
: +- * Project (32)
: +- * Project (31)
: +- * BroadcastHashJoin LeftOuter BuildRight (30)
: :- AQEShuffleRead (11)
: : +- ShuffleQueryStage (10), Statistics(sizeInBytes=798.7 KiB, rowCount=522)
: : +- Exchange (9)
: : +- * Project (8)
: : +- ShuffleQueryStage (7), Statistics(sizeInBytes=791.8 KiB, rowCount=522)
: : +- Exchange (6)
: : +- * Filter (5)
: : +- * ColumnarToRow (4)
: : +- Scan parquet (3)
: +- BroadcastQueryStage (29), Statistics(sizeInBytes=2.0 MiB, rowCount=522)
: +- BroadcastExchange (28)
: +- AQEShuffleRead (27)
: +- ShuffleQueryStage (26), Statistics(sizeInBytes=169.7 KiB, rowCount=522)
: +- Exchange (25)
: +- * Project (24)
: +- * BroadcastHashJoin LeftOuter BuildRight (23)
: :- ShuffleQueryStage (15), Statistics(sizeInBytes=84.0 KiB, rowCount=522)
: : +- 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=1032.0 KiB, rowCount=177)
+- BroadcastExchange (130)
+- * SerializeFromObject (129)
+- MapPartitions (128)
+- DeserializeToObject (127)
+- AQEShuffleRead (126)
+- ShuffleQueryStage (125), Statistics(sizeInBytes=21.7 KiB, rowCount=177)
+- Exchange (124)
+- * Project (123)
+- TableCacheQueryStage (122), Statistics(sizeInBytes=20.3 KiB, rowCount=177)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=20.3 KiB, rowCount=177)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=42.5 KiB, rowCount=441)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=321.6 KiB, rowCount=2.94E+3)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=783.6 KiB, rowCount=522)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=791.8 KiB, rowCount=522)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=522)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=124.8 KiB, rowCount=522)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=84.0 KiB, rowCount=522)
: +- 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=20.3 KiB, rowCount=177)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=42.5 KiB, rowCount=441)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=321.6 KiB, rowCount=2.94E+3)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=783.6 KiB, rowCount=522)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=791.8 KiB, rowCount=522)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=522)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=124.8 KiB, rowCount=522)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=84.0 KiB, rowCount=522)
: +- 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=1115.7 KiB, rowCount=2.94E+3)
: +- Exchange (35)
: +- * Project (34)
: +- * Generate (33)
: +- * Project (32)
: +- * Project (31)
: +- * BroadcastHashJoin LeftOuter BuildRight (30)
: :- AQEShuffleRead (11)
: : +- ShuffleQueryStage (10), Statistics(sizeInBytes=798.7 KiB, rowCount=522)
: : +- Exchange (9)
: : +- * Project (8)
: : +- ShuffleQueryStage (7), Statistics(sizeInBytes=791.8 KiB, rowCount=522)
: : +- Exchange (6)
: : +- * Filter (5)
: : +- * ColumnarToRow (4)
: : +- Scan parquet (3)
: +- BroadcastQueryStage (29), Statistics(sizeInBytes=2.0 MiB, rowCount=522)
: +- BroadcastExchange (28)
: +- AQEShuffleRead (27)
: +- ShuffleQueryStage (26), Statistics(sizeInBytes=169.7 KiB, rowCount=522)
: +- Exchange (25)
: +- * Project (24)
: +- * BroadcastHashJoin LeftOuter BuildRight (23)
: :- ShuffleQueryStage (15), Statistics(sizeInBytes=84.0 KiB, rowCount=522)
: : +- 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=1032.0 KiB, rowCount=177)
+- BroadcastExchange (130)
+- * SerializeFromObject (129)
+- MapPartitions (128)
+- DeserializeToObject (127)
+- AQEShuffleRead (126)
+- ShuffleQueryStage (125), Statistics(sizeInBytes=21.7 KiB, rowCount=177)
+- Exchange (124)
+- * Project (123)
+- TableCacheQueryStage (122), Statistics(sizeInBytes=20.3 KiB, rowCount=177)
+- InMemoryTableScan (39)
+- InMemoryRelation (40)
+- AdaptiveSparkPlan (121)
+- == Final Plan ==
ResultQueryStage (90)
+- * SerializeFromObject (89)
+- MapPartitions (88)
+- DeserializeToObject (87)
+- ShuffleQueryStage (86), Statistics(sizeInBytes=20.3 KiB, rowCount=177)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=42.5 KiB, rowCount=441)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=321.6 KiB, rowCount=2.94E+3)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=783.6 KiB, rowCount=522)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=791.8 KiB, rowCount=522)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=522)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=124.8 KiB, rowCount=522)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=84.0 KiB, rowCount=522)
: +- 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=20.3 KiB, rowCount=177)
+- Exchange (85)
+- * Project (84)
+- ObjectHashAggregate (83)
+- AQEShuffleRead (82)
+- ShuffleQueryStage (81), Statistics(sizeInBytes=42.5 KiB, rowCount=441)
+- Exchange (80)
+- ObjectHashAggregate (79)
+- * Project (78)
+- Window (77)
+- * Sort (76)
+- AQEShuffleRead (75)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=321.6 KiB, rowCount=2.94E+3)
+- Exchange (73)
+- * Project (72)
+- * Generate (71)
+- * Project (70)
+- * Project (69)
+- * BroadcastHashJoin LeftOuter BuildRight (68)
:- AQEShuffleRead (49)
: +- ShuffleQueryStage (48), Statistics(sizeInBytes=783.6 KiB, rowCount=522)
: +- Exchange (47)
: +- * Project (46)
: +- ShuffleQueryStage (45), Statistics(sizeInBytes=791.8 KiB, rowCount=522)
: +- Exchange (44)
: +- * Filter (43)
: +- * ColumnarToRow (42)
: +- Scan parquet (41)
+- BroadcastQueryStage (67), Statistics(sizeInBytes=2.0 MiB, rowCount=522)
+- BroadcastExchange (66)
+- AQEShuffleRead (65)
+- ShuffleQueryStage (64), Statistics(sizeInBytes=124.8 KiB, rowCount=522)
+- Exchange (63)
+- * Project (62)
+- * BroadcastHashJoin LeftOuter BuildRight (61)
:- ShuffleQueryStage (53), Statistics(sizeInBytes=84.0 KiB, rowCount=522)
: +- 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#724789]
Arguments: [plant#724789]
(2) InMemoryRelation
Arguments: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, orderProposalHorizonGroupingId#724876L, splitIndicator#724903L, previousOrderProposal#724904L, clusterId#725273L, sequenceId#725276], StorageLevel(disk, memory, 2 replicas)
(3) Scan parquet
Output [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
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/10000002108]
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#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
(5) Filter [codegen id : 1]
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Condition : ((size(productOrderSchedule#724794, true) > 0) AND isnotnull(productOrderSchedule#724794))
(6) Exchange
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=288470]
(7) ShuffleQueryStage
Output [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Arguments: 0
(8) Project [codegen id : 6]
Output [9]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, CASE WHEN isnotnull(supplyingPlant#724792) THEN productGroup#724793 ELSE subrange#724791 END AS effectiveSubrange#724814]
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
(9) Exchange
Input [9]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: hashpartitioning(coalesce(supplierGroup#724787, ), isnull(supplierGroup#724787), coalesce(supplier#724788, ), isnull(supplier#724788), coalesce(effectiveSubrange#724814, ), isnull(effectiveSubrange#724814), coalesce(plant#724789, ), isnull(plant#724789), coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00), isnull(deliveryDateTime#724790), 25), ENSURE_REQUIREMENTS, [plan_id=289043]
(10) ShuffleQueryStage
Output [9]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: 7
(11) AQEShuffleRead
Input [9]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: local
(12) Scan parquet
Output [7]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000002108/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#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
(14) Exchange
Input [7]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=288486]
(15) ShuffleQueryStage
Output [7]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
Arguments: 1
(16) Scan parquet
Output [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
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#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
(18) Filter [codegen id : 3]
Input [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
Condition : isnotnull(orderGroupingProfile#724806)
(19) Exchange
Input [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=288499]
(20) ShuffleQueryStage
Output [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
Arguments: 2
(21) BroadcastExchange
Input [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=288507]
(22) BroadcastQueryStage
Output [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
Arguments: 6
(23) BroadcastHashJoin [codegen id : 7]
Left keys [1]: [orderGroupingProfile#724799]
Right keys [1]: [orderGroupingProfile#724806]
Join type: LeftOuter
Join condition: None
(24) Project [codegen id : 7]
Output [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, subrange#724796 AS effectiveSubrange#724815]
Input [10]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
(25) Exchange
Input [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
Arguments: hashpartitioning(coalesce(supplierGroup#724800, ), isnull(supplierGroup#724800), coalesce(supplier#724795, ), isnull(supplier#724795), coalesce(effectiveSubrange#724815, ), isnull(effectiveSubrange#724815), coalesce(plant#724797, ), isnull(plant#724797), coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00), isnull(deliveryDateTime#724798), 25), ENSURE_REQUIREMENTS, [plan_id=289133]
(26) ShuffleQueryStage
Output [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
Arguments: 8
(27) AQEShuffleRead
Input [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
Arguments: local
(28) BroadcastExchange
Input [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
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=289268]
(29) BroadcastQueryStage
Output [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
Arguments: 9
(30) BroadcastHashJoin [codegen id : 8]
Left keys [10]: [coalesce(supplierGroup#724787, ), isnull(supplierGroup#724787), coalesce(supplier#724788, ), isnull(supplier#724788), coalesce(effectiveSubrange#724814, ), isnull(effectiveSubrange#724814), coalesce(plant#724789, ), isnull(plant#724789), coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00), isnull(deliveryDateTime#724790)]
Right keys [10]: [coalesce(supplierGroup#724800, ), isnull(supplierGroup#724800), coalesce(supplier#724795, ), isnull(supplier#724795), coalesce(effectiveSubrange#724815, ), isnull(effectiveSubrange#724815), coalesce(plant#724797, ), isnull(plant#724797), coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00), isnull(deliveryDateTime#724798)]
Join type: LeftOuter
Join condition: None
(31) Project [codegen id : 8]
Output [14]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, CASE WHEN isnull(orderGroupCriteria#724808) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#724808 END AS orderGroupCriteria#724827, CASE WHEN isnull(orderSplitCriteria#724809) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#724809 END AS orderSplitCriteria#724837, orderGroupingProfile#724799, coalesce(supplierGroup#724787, supplier#724788) AS supplierOrGroup#724816, coalesce(locationGroup#724801, plant#724789) AS locationOrGroup#724817]
Input [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
(32) Project [codegen id : 8]
Output [26]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, orderGroupCriteria#724827.supplierSubrange AS _extract_supplierSubrange#725419, orderGroupCriteria#724827.mrpController AS _extract_mrpController#725420, orderGroupCriteria#724827.purchasingOrg AS _extract_purchasingOrg#725421, orderGroupCriteria#724827.orderDate AS _extract_orderDate#725422, orderGroupCriteria#724827.deliveryDate AS _extract_deliveryDate#725423, orderGroupCriteria#724827.supplier AS _extract_supplier#725424, orderGroupCriteria#724827.purchasingGroup AS _extract_purchasingGroup#725425, orderSplitCriteria#724837.supplierSubrange AS _extract_supplierSubrange#725426, orderSplitCriteria#724837.mrpController AS _extract_mrpController#725427, orderSplitCriteria#724837.orderDate AS _extract_orderDate#725428, orderSplitCriteria#724837.supplier AS _extract_supplier#725429, orderSplitCriteria#724837.deliveryDate AS _extract_deliveryDate#725430, orderSplitCriteria#724837.purchasingOrg AS _extract_purchasingOrg#725431, orderSplitCriteria#724837.purchasingGroup AS _extract_purchasingGroup#725432, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
Input [14]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, orderGroupCriteria#724827, orderSplitCriteria#724837, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
(33) Generate [codegen id : 8]
Input [26]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, _extract_supplierSubrange#725419, _extract_mrpController#725420, _extract_purchasingOrg#725421, _extract_orderDate#725422, _extract_deliveryDate#725423, _extract_supplier#725424, _extract_purchasingGroup#725425, _extract_supplierSubrange#725426, _extract_mrpController#725427, _extract_orderDate#725428, _extract_supplier#725429, _extract_deliveryDate#725430, _extract_purchasingOrg#725431, _extract_purchasingGroup#725432, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
Arguments: explode(productOrderSchedule#724794), [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, effectiveSubrange#724814, _extract_supplierSubrange#725419, _extract_mrpController#725420, _extract_purchasingOrg#725421, _extract_orderDate#725422, _extract_deliveryDate#725423, _extract_supplier#725424, _extract_purchasingGroup#725425, _extract_supplierSubrange#725426, _extract_mrpController#725427, _extract_orderDate#725428, _extract_supplier#725429, _extract_deliveryDate#725430, _extract_purchasingOrg#725431, _extract_purchasingGroup#725432, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817], false, [productOrderScheduleExploded#724839]
(34) Project [codegen id : 8]
Output [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderScheduleExploded#724839.product AS product#724840, productOrderScheduleExploded#724839.orderDateTime AS orderDateTime#724841, productOrderScheduleExploded#724839.availabilityDateTime AS availabilityDateTime#724842, productOrderScheduleExploded#724839.nextAvailabilityDateTime AS nextAvailabilityDateTime#724843, productOrderScheduleExploded#724839.mrpController AS mrpController#724844, productOrderScheduleExploded#724839.sourceOfSupplyUuid AS sourceOfSupplyUuid#724845, productOrderScheduleExploded#724839.purchasingOrg AS purchasingOrg#724846, productOrderScheduleExploded#724839.purchasingGroup AS purchasingGroup#724847, productOrderScheduleExploded#724839.isFallbackOrderOnly AS isFallbackOrderOnly#724848, xxhash64(CASE WHEN (_extract_supplierSubrange#725419 <=> true) THEN effectiveSubrange#724814 END, orderGroupingProfile#724799, CASE WHEN (_extract_mrpController#725420 <=> true) THEN productOrderScheduleExploded#724839.mrpController END, CASE WHEN (_extract_purchasingOrg#725421 <=> true) THEN productOrderScheduleExploded#724839.purchasingOrg END, CASE WHEN (_extract_orderDate#725422 <=> true) THEN productOrderScheduleExploded#724839.orderDateTime END, CASE WHEN (_extract_deliveryDate#725423 <=> true) THEN deliveryDateTime#724790 END, CASE WHEN (_extract_supplier#725424 <=> true) THEN supplierOrGroup#724816 END, locationOrGroup#724817, CASE WHEN (_extract_purchasingGroup#725425 <=> true) THEN productOrderScheduleExploded#724839.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#724814) AND (_extract_supplierSubrange#725419 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#724799) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.mrpController) AND (_extract_mrpController#725420 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingOrg) AND (_extract_purchasingOrg#725421 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.orderDateTime) AND (_extract_orderDate#725422 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#724790) AND (_extract_deliveryDate#725423 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#724816) AND (_extract_supplier#725424 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#724817) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingGroup) AND (_extract_purchasingGroup#725425 <=> true)) THEN 256 ELSE 0 END), 10000002108, 42) AS orderProposalId#724875L, xxhash64(CASE WHEN (_extract_supplierSubrange#725426 <=> true) THEN effectiveSubrange#724814 END, orderGroupingProfile#724799, CASE WHEN (_extract_mrpController#725427 <=> true) THEN productOrderScheduleExploded#724839.mrpController END, CASE WHEN (_extract_orderDate#725428 <=> true) THEN productOrderScheduleExploded#724839.orderDateTime END, CASE WHEN (_extract_supplier#725429 <=> true) THEN supplier#724788 END, CASE WHEN (_extract_deliveryDate#725430 <=> true) THEN deliveryDateTime#724790 END, CASE WHEN (_extract_purchasingOrg#725431 <=> true) THEN productOrderScheduleExploded#724839.purchasingOrg END, plant#724789, CASE WHEN (_extract_purchasingGroup#725432 <=> true) THEN productOrderScheduleExploded#724839.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#724814) AND (_extract_supplierSubrange#725426 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#724799) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.mrpController) AND (_extract_mrpController#725427 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.orderDateTime) AND (_extract_orderDate#725428 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(supplier#724788) AND (_extract_supplier#725429 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#724790) AND (_extract_deliveryDate#725430 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingOrg) AND (_extract_purchasingOrg#725431 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(plant#724789) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingGroup) AND (_extract_purchasingGroup#725432 <=> true)) THEN 256 ELSE 0 END), 10000002108, 42) AS splitIndicator#724903L]
Input [26]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, effectiveSubrange#724814, _extract_supplierSubrange#725419, _extract_mrpController#725420, _extract_purchasingOrg#725421, _extract_orderDate#725422, _extract_deliveryDate#725423, _extract_supplier#725424, _extract_purchasingGroup#725425, _extract_supplierSubrange#725426, _extract_mrpController#725427, _extract_orderDate#725428, _extract_supplier#725429, _extract_deliveryDate#725430, _extract_purchasingOrg#725431, _extract_purchasingGroup#725432, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817, productOrderScheduleExploded#724839]
(35) Exchange
Input [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L]
Arguments: hashpartitioning(product#724840, plant#724789, 25), ENSURE_REQUIREMENTS, [plan_id=289349]
(36) ShuffleQueryStage
Output [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L]
Arguments: 10
(37) Sort [codegen id : 9]
Input [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L]
Arguments: [product#724840 ASC NULLS FIRST, plant#724789 ASC NULLS FIRST, availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST], false, 0
(38) Window
Input [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L]
Arguments: [lag(orderProposalId#724875L, -1, null) windowspecdefinition(product#724840, plant#724789, availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#724904L], [product#724840, plant#724789], [availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST]
(39) InMemoryTableScan
Output [4]: [clusterId#724962L, orderProposalId#724957L, plant#724958, previousOrderProposals#724959]
Arguments: [clusterId#724962L, orderProposalId#724957L, plant#724958, previousOrderProposals#724959]
(40) InMemoryRelation
Arguments: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, nodeId#724960L, dependentOnNodeIds#724961, clusterId#724962L, unresolvedDependencies#724963], StorageLevel(disk, memory, 2 replicas)
(41) Scan parquet
Output [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
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/10000002108]
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#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
(43) Filter [codegen id : 1]
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Condition : ((size(productOrderSchedule#724794, true) > 0) AND isnotnull(productOrderSchedule#724794))
(44) Exchange
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=287226]
(45) ShuffleQueryStage
Output [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Arguments: 0
(46) Project [codegen id : 5]
Output [6]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, CASE WHEN isnotnull(supplyingPlant#724792) THEN productGroup#724793 ELSE subrange#724791 END AS effectiveSubrange#724814]
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
(47) Exchange
Input [6]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: hashpartitioning(coalesce(supplierGroup#724787, ), isnull(supplierGroup#724787), coalesce(supplier#724788, ), isnull(supplier#724788), coalesce(effectiveSubrange#724814, ), isnull(effectiveSubrange#724814), coalesce(plant#724789, ), isnull(plant#724789), coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00), isnull(deliveryDateTime#724790), 25), ENSURE_REQUIREMENTS, [plan_id=287768]
(48) ShuffleQueryStage
Output [6]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: 5
(49) AQEShuffleRead
Input [6]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: local
(50) Scan parquet
Output [7]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
Batched: true
Location: InMemoryFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-param-determination-service/out/10000002108/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#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
(52) Exchange
Input [7]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=287242]
(53) ShuffleQueryStage
Output [7]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
Arguments: 1
(54) Scan parquet
Output [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
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#724806, orderGroupCriteria#724808]
(56) Filter [codegen id : 3]
Input [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
Condition : isnotnull(orderGroupingProfile#724806)
(57) Exchange
Input [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=287255]
(58) ShuffleQueryStage
Output [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
Arguments: 2
(59) BroadcastExchange
Input [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=287263]
(60) BroadcastQueryStage
Output [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
Arguments: 3
(61) BroadcastHashJoin [codegen id : 4]
Left keys [1]: [orderGroupingProfile#724799]
Right keys [1]: [orderGroupingProfile#724806]
Join type: LeftOuter
Join condition: None
(62) Project [codegen id : 4]
Output [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, subrange#724796 AS effectiveSubrange#724815]
Input [9]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupingProfile#724806, orderGroupCriteria#724808]
(63) Exchange
Input [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
Arguments: hashpartitioning(coalesce(supplierGroup#724800, ), isnull(supplierGroup#724800), coalesce(supplier#724795, ), isnull(supplier#724795), coalesce(effectiveSubrange#724815, ), isnull(effectiveSubrange#724815), coalesce(plant#724797, ), isnull(plant#724797), coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00), isnull(deliveryDateTime#724798), 25), ENSURE_REQUIREMENTS, [plan_id=287636]
(64) ShuffleQueryStage
Output [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
Arguments: 4
(65) AQEShuffleRead
Input [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
Arguments: local
(66) BroadcastExchange
Input [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
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=287889]
(67) BroadcastQueryStage
Output [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
Arguments: 6
(68) BroadcastHashJoin [codegen id : 6]
Left keys [10]: [coalesce(supplierGroup#724787, ), isnull(supplierGroup#724787), coalesce(supplier#724788, ), isnull(supplier#724788), coalesce(effectiveSubrange#724814, ), isnull(effectiveSubrange#724814), coalesce(plant#724789, ), isnull(plant#724789), coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00), isnull(deliveryDateTime#724790)]
Right keys [10]: [coalesce(supplierGroup#724800, ), isnull(supplierGroup#724800), coalesce(supplier#724795, ), isnull(supplier#724795), coalesce(effectiveSubrange#724815, ), isnull(effectiveSubrange#724815), coalesce(plant#724797, ), isnull(plant#724797), coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00), isnull(deliveryDateTime#724798)]
Join type: LeftOuter
Join condition: None
(69) Project [codegen id : 6]
Output [8]: [plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, CASE WHEN isnull(orderGroupCriteria#724808) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#724808 END AS orderGroupCriteria#724827, orderGroupingProfile#724799, coalesce(supplierGroup#724787, supplier#724788) AS supplierOrGroup#724816, coalesce(locationGroup#724801, plant#724789) AS locationOrGroup#724817]
Input [14]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
(70) Project [codegen id : 6]
Output [14]: [plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, orderGroupCriteria#724827.supplierSubrange AS _extract_supplierSubrange#724964, orderGroupCriteria#724827.mrpController AS _extract_mrpController#724965, orderGroupCriteria#724827.purchasingOrg AS _extract_purchasingOrg#724966, orderGroupCriteria#724827.orderDate AS _extract_orderDate#724967, orderGroupCriteria#724827.deliveryDate AS _extract_deliveryDate#724968, orderGroupCriteria#724827.supplier AS _extract_supplier#724969, orderGroupCriteria#724827.purchasingGroup AS _extract_purchasingGroup#724970, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
Input [8]: [plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, orderGroupCriteria#724827, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
(71) Generate [codegen id : 6]
Input [14]: [plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, _extract_supplierSubrange#724964, _extract_mrpController#724965, _extract_purchasingOrg#724966, _extract_orderDate#724967, _extract_deliveryDate#724968, _extract_supplier#724969, _extract_purchasingGroup#724970, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
Arguments: explode(productOrderSchedule#724794), [plant#724789, deliveryDateTime#724790, effectiveSubrange#724814, _extract_supplierSubrange#724964, _extract_mrpController#724965, _extract_purchasingOrg#724966, _extract_orderDate#724967, _extract_deliveryDate#724968, _extract_supplier#724969, _extract_purchasingGroup#724970, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817], false, [productOrderScheduleExploded#724839]
(72) Project [codegen id : 6]
Output [5]: [plant#724789, productOrderScheduleExploded#724839.product AS product#724840, productOrderScheduleExploded#724839.orderDateTime AS orderDateTime#724841, productOrderScheduleExploded#724839.availabilityDateTime AS availabilityDateTime#724842, xxhash64(CASE WHEN (_extract_supplierSubrange#724964 <=> true) THEN effectiveSubrange#724814 END, orderGroupingProfile#724799, CASE WHEN (_extract_mrpController#724965 <=> true) THEN productOrderScheduleExploded#724839.mrpController END, CASE WHEN (_extract_purchasingOrg#724966 <=> true) THEN productOrderScheduleExploded#724839.purchasingOrg END, CASE WHEN (_extract_orderDate#724967 <=> true) THEN productOrderScheduleExploded#724839.orderDateTime END, CASE WHEN (_extract_deliveryDate#724968 <=> true) THEN deliveryDateTime#724790 END, CASE WHEN (_extract_supplier#724969 <=> true) THEN supplierOrGroup#724816 END, locationOrGroup#724817, CASE WHEN (_extract_purchasingGroup#724970 <=> true) THEN productOrderScheduleExploded#724839.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#724814) AND (_extract_supplierSubrange#724964 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#724799) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.mrpController) AND (_extract_mrpController#724965 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingOrg) AND (_extract_purchasingOrg#724966 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.orderDateTime) AND (_extract_orderDate#724967 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#724790) AND (_extract_deliveryDate#724968 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#724816) AND (_extract_supplier#724969 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#724817) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingGroup) AND (_extract_purchasingGroup#724970 <=> true)) THEN 256 ELSE 0 END), 10000002108, 42) AS orderProposalId#724875L]
Input [14]: [plant#724789, deliveryDateTime#724790, effectiveSubrange#724814, _extract_supplierSubrange#724964, _extract_mrpController#724965, _extract_purchasingOrg#724966, _extract_orderDate#724967, _extract_deliveryDate#724968, _extract_supplier#724969, _extract_purchasingGroup#724970, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817, productOrderScheduleExploded#724839]
(73) Exchange
Input [5]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L]
Arguments: hashpartitioning(product#724840, plant#724789, 25), ENSURE_REQUIREMENTS, [plan_id=288073]
(74) ShuffleQueryStage
Output [5]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L]
Arguments: 7
(75) AQEShuffleRead
Input [5]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L]
Arguments: coalesced
(76) Sort [codegen id : 7]
Input [5]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L]
Arguments: [product#724840 ASC NULLS FIRST, plant#724789 ASC NULLS FIRST, availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST], false, 0
(77) Window
Input [5]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L]
Arguments: [lag(orderProposalId#724875L, -1, null) windowspecdefinition(product#724840, plant#724789, availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#724904L], [product#724840, plant#724789], [availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST]
(78) Project [codegen id : 8]
Output [3]: [plant#724789, orderProposalId#724875L, previousOrderProposal#724904L]
Input [6]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L, previousOrderProposal#724904L]
(79) ObjectHashAggregate
Input [3]: [plant#724789, orderProposalId#724875L, previousOrderProposal#724904L]
Keys [1]: [orderProposalId#724875L]
Functions [2]: [partial_min(plant#724789), partial_collect_set(previousOrderProposal#724904L, 0, 0)]
Aggregate Attributes [2]: [min#725037, buf#725038]
Results [3]: [orderProposalId#724875L, min#725039, buf#725040]
(80) Exchange
Input [3]: [orderProposalId#724875L, min#725039, buf#725040]
Arguments: hashpartitioning(orderProposalId#724875L, 25), ENSURE_REQUIREMENTS, [plan_id=288171]
(81) ShuffleQueryStage
Output [3]: [orderProposalId#724875L, min#725039, buf#725040]
Arguments: 8
(82) AQEShuffleRead
Input [3]: [orderProposalId#724875L, min#725039, buf#725040]
Arguments: coalesced
(83) ObjectHashAggregate
Input [3]: [orderProposalId#724875L, min#725039, buf#725040]
Keys [1]: [orderProposalId#724875L]
Functions [2]: [min(plant#724789), collect_set(previousOrderProposal#724904L, 0, 0)]
Aggregate Attributes [2]: [min(plant#724789)#724927, collect_set(previousOrderProposal#724904L, 0, 0)#724928]
Results [4]: [orderProposalId#724875L, min(plant#724789)#724927 AS plant#724905, collect_set(previousOrderProposal#724904L, 0, 0)#724928 AS previousOrderProposals#724906, orderProposalId#724875L AS nodeId#724929L]
(84) Project [codegen id : 9]
Output [5]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L, previousOrderProposals#724906 AS dependentOnNodeIds#724930]
Input [4]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L]
(85) Exchange
Input [5]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L, dependentOnNodeIds#724930]
Arguments: hashpartitioning(plant#724905, 25), REPARTITION_BY_COL, [plan_id=288223]
(86) ShuffleQueryStage
Output [5]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L, dependentOnNodeIds#724930]
Arguments: 9
(87) DeserializeToObject
Input [5]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L, dependentOnNodeIds#724930]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#724875L)), invoke(plant#724905.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -4), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -4))), previousOrderProposals#724906, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(nodeId#724929L)), mapobjects(lambdavariable(MapObject, LongType, false, -5), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -5))), dependentOnNodeIds#724930, 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#724941: org.apache.spark.sql.Row
(88) MapPartitions
Input [1]: [obj#724941]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@5aa0a601, obj#724949: org.apache.spark.sql.Row
(89) SerializeFromObject [codegen id : 10]
Input [1]: [obj#724949]
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#724957L, 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#724958, 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#724959, assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, nodeId), LongType, ObjectType(class java.lang.Long)).longValue())) AS nodeId#724960L, 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#724961, 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#724962L, 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#724963]
(90) ResultQueryStage
Output [7]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, nodeId#724960L, dependentOnNodeIds#724961, clusterId#724962L, unresolvedDependencies#724963]
Arguments: 10
(91) Filter
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Condition : ((size(productOrderSchedule#724794, true) > 0) AND isnotnull(productOrderSchedule#724794))
(92) Exchange
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=287104]
(93) Project
Output [6]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, CASE WHEN isnotnull(supplyingPlant#724792) THEN productGroup#724793 ELSE subrange#724791 END AS effectiveSubrange#724814]
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
(94) Exchange
Input [6]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: hashpartitioning(coalesce(supplierGroup#724787, ), isnull(supplierGroup#724787), coalesce(supplier#724788, ), isnull(supplier#724788), coalesce(effectiveSubrange#724814, ), isnull(effectiveSubrange#724814), coalesce(plant#724789, ), isnull(plant#724789), coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00), isnull(deliveryDateTime#724790), 25), ENSURE_REQUIREMENTS, [plan_id=287128]
(95) Sort
Input [6]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: [coalesce(supplierGroup#724787, ) ASC NULLS FIRST, isnull(supplierGroup#724787) ASC NULLS FIRST, coalesce(supplier#724788, ) ASC NULLS FIRST, isnull(supplier#724788) ASC NULLS FIRST, coalesce(effectiveSubrange#724814, ) ASC NULLS FIRST, isnull(effectiveSubrange#724814) ASC NULLS FIRST, coalesce(plant#724789, ) ASC NULLS FIRST, isnull(plant#724789) ASC NULLS FIRST, coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#724790) ASC NULLS FIRST], false, 0
(96) Exchange
Input [7]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=287082]
(97) Filter
Input [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
Condition : isnotnull(orderGroupingProfile#724806)
(98) Exchange
Input [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=287106]
(99) BroadcastExchange
Input [2]: [orderGroupingProfile#724806, orderGroupCriteria#724808]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=287123]
(100) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#724799]
Right keys [1]: [orderGroupingProfile#724806]
Join type: LeftOuter
Join condition: None
(101) Project
Output [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, subrange#724796 AS effectiveSubrange#724815]
Input [9]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupingProfile#724806, orderGroupCriteria#724808]
(102) Exchange
Input [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
Arguments: hashpartitioning(coalesce(supplierGroup#724800, ), isnull(supplierGroup#724800), coalesce(supplier#724795, ), isnull(supplier#724795), coalesce(effectiveSubrange#724815, ), isnull(effectiveSubrange#724815), coalesce(plant#724797, ), isnull(plant#724797), coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00), isnull(deliveryDateTime#724798), 25), ENSURE_REQUIREMENTS, [plan_id=287129]
(103) Sort
Input [8]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
Arguments: [coalesce(supplierGroup#724800, ) ASC NULLS FIRST, isnull(supplierGroup#724800) ASC NULLS FIRST, coalesce(supplier#724795, ) ASC NULLS FIRST, isnull(supplier#724795) ASC NULLS FIRST, coalesce(effectiveSubrange#724815, ) ASC NULLS FIRST, isnull(effectiveSubrange#724815) ASC NULLS FIRST, coalesce(plant#724797, ) ASC NULLS FIRST, isnull(plant#724797) ASC NULLS FIRST, coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#724798) ASC NULLS FIRST], false, 0
(104) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#724787, ), isnull(supplierGroup#724787), coalesce(supplier#724788, ), isnull(supplier#724788), coalesce(effectiveSubrange#724814, ), isnull(effectiveSubrange#724814), coalesce(plant#724789, ), isnull(plant#724789), coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00), isnull(deliveryDateTime#724790)]
Right keys [10]: [coalesce(supplierGroup#724800, ), isnull(supplierGroup#724800), coalesce(supplier#724795, ), isnull(supplier#724795), coalesce(effectiveSubrange#724815, ), isnull(effectiveSubrange#724815), coalesce(plant#724797, ), isnull(plant#724797), coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00), isnull(deliveryDateTime#724798)]
Join type: LeftOuter
Join condition: None
(105) Project
Output [8]: [plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, CASE WHEN isnull(orderGroupCriteria#724808) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#724808 END AS orderGroupCriteria#724827, orderGroupingProfile#724799, coalesce(supplierGroup#724787, supplier#724788) AS supplierOrGroup#724816, coalesce(locationGroup#724801, plant#724789) AS locationOrGroup#724817]
Input [14]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, effectiveSubrange#724815]
(106) Project
Output [14]: [plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, orderGroupCriteria#724827.supplierSubrange AS _extract_supplierSubrange#724964, orderGroupCriteria#724827.mrpController AS _extract_mrpController#724965, orderGroupCriteria#724827.purchasingOrg AS _extract_purchasingOrg#724966, orderGroupCriteria#724827.orderDate AS _extract_orderDate#724967, orderGroupCriteria#724827.deliveryDate AS _extract_deliveryDate#724968, orderGroupCriteria#724827.supplier AS _extract_supplier#724969, orderGroupCriteria#724827.purchasingGroup AS _extract_purchasingGroup#724970, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
Input [8]: [plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, orderGroupCriteria#724827, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
(107) Generate
Input [14]: [plant#724789, deliveryDateTime#724790, productOrderSchedule#724794, effectiveSubrange#724814, _extract_supplierSubrange#724964, _extract_mrpController#724965, _extract_purchasingOrg#724966, _extract_orderDate#724967, _extract_deliveryDate#724968, _extract_supplier#724969, _extract_purchasingGroup#724970, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
Arguments: explode(productOrderSchedule#724794), [plant#724789, deliveryDateTime#724790, effectiveSubrange#724814, _extract_supplierSubrange#724964, _extract_mrpController#724965, _extract_purchasingOrg#724966, _extract_orderDate#724967, _extract_deliveryDate#724968, _extract_supplier#724969, _extract_purchasingGroup#724970, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817], false, [productOrderScheduleExploded#724839]
(108) Project
Output [5]: [plant#724789, productOrderScheduleExploded#724839.product AS product#724840, productOrderScheduleExploded#724839.orderDateTime AS orderDateTime#724841, productOrderScheduleExploded#724839.availabilityDateTime AS availabilityDateTime#724842, xxhash64(CASE WHEN (_extract_supplierSubrange#724964 <=> true) THEN effectiveSubrange#724814 END, orderGroupingProfile#724799, CASE WHEN (_extract_mrpController#724965 <=> true) THEN productOrderScheduleExploded#724839.mrpController END, CASE WHEN (_extract_purchasingOrg#724966 <=> true) THEN productOrderScheduleExploded#724839.purchasingOrg END, CASE WHEN (_extract_orderDate#724967 <=> true) THEN productOrderScheduleExploded#724839.orderDateTime END, CASE WHEN (_extract_deliveryDate#724968 <=> true) THEN deliveryDateTime#724790 END, CASE WHEN (_extract_supplier#724969 <=> true) THEN supplierOrGroup#724816 END, locationOrGroup#724817, CASE WHEN (_extract_purchasingGroup#724970 <=> true) THEN productOrderScheduleExploded#724839.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#724814) AND (_extract_supplierSubrange#724964 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#724799) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.mrpController) AND (_extract_mrpController#724965 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingOrg) AND (_extract_purchasingOrg#724966 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.orderDateTime) AND (_extract_orderDate#724967 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#724790) AND (_extract_deliveryDate#724968 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#724816) AND (_extract_supplier#724969 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#724817) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingGroup) AND (_extract_purchasingGroup#724970 <=> true)) THEN 256 ELSE 0 END), 10000002108, 42) AS orderProposalId#724875L]
Input [14]: [plant#724789, deliveryDateTime#724790, effectiveSubrange#724814, _extract_supplierSubrange#724964, _extract_mrpController#724965, _extract_purchasingOrg#724966, _extract_orderDate#724967, _extract_deliveryDate#724968, _extract_supplier#724969, _extract_purchasingGroup#724970, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817, productOrderScheduleExploded#724839]
(109) Exchange
Input [5]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L]
Arguments: hashpartitioning(product#724840, plant#724789, 25), ENSURE_REQUIREMENTS, [plan_id=287138]
(110) Sort
Input [5]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L]
Arguments: [product#724840 ASC NULLS FIRST, plant#724789 ASC NULLS FIRST, availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST], false, 0
(111) Window
Input [5]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L]
Arguments: [lag(orderProposalId#724875L, -1, null) windowspecdefinition(product#724840, plant#724789, availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#724904L], [product#724840, plant#724789], [availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST]
(112) Project
Output [3]: [plant#724789, orderProposalId#724875L, previousOrderProposal#724904L]
Input [6]: [plant#724789, product#724840, orderDateTime#724841, availabilityDateTime#724842, orderProposalId#724875L, previousOrderProposal#724904L]
(113) ObjectHashAggregate
Input [3]: [plant#724789, orderProposalId#724875L, previousOrderProposal#724904L]
Keys [1]: [orderProposalId#724875L]
Functions [2]: [partial_min(plant#724789), partial_collect_set(previousOrderProposal#724904L, 0, 0)]
Aggregate Attributes [2]: [min#725037, buf#725038]
Results [3]: [orderProposalId#724875L, min#725039, buf#725040]
(114) Exchange
Input [3]: [orderProposalId#724875L, min#725039, buf#725040]
Arguments: hashpartitioning(orderProposalId#724875L, 25), ENSURE_REQUIREMENTS, [plan_id=287144]
(115) ObjectHashAggregate
Input [3]: [orderProposalId#724875L, min#725039, buf#725040]
Keys [1]: [orderProposalId#724875L]
Functions [2]: [min(plant#724789), collect_set(previousOrderProposal#724904L, 0, 0)]
Aggregate Attributes [2]: [min(plant#724789)#724927, collect_set(previousOrderProposal#724904L, 0, 0)#724928]
Results [4]: [orderProposalId#724875L, min(plant#724789)#724927 AS plant#724905, collect_set(previousOrderProposal#724904L, 0, 0)#724928 AS previousOrderProposals#724906, orderProposalId#724875L AS nodeId#724929L]
(116) Project
Output [5]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L, previousOrderProposals#724906 AS dependentOnNodeIds#724930]
Input [4]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L]
(117) Exchange
Input [5]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L, dependentOnNodeIds#724930]
Arguments: hashpartitioning(plant#724905, 25), REPARTITION_BY_COL, [plan_id=287147]
(118) DeserializeToObject
Input [5]: [orderProposalId#724875L, plant#724905, previousOrderProposals#724906, nodeId#724929L, dependentOnNodeIds#724930]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#724875L)), invoke(plant#724905.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -4), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -4))), previousOrderProposals#724906, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(nodeId#724929L)), mapobjects(lambdavariable(MapObject, LongType, false, -5), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -5))), dependentOnNodeIds#724930, 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#724941: org.apache.spark.sql.Row
(119) MapPartitions
Input [1]: [obj#724941]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@5aa0a601, obj#724949: org.apache.spark.sql.Row
(120) SerializeFromObject
Input [1]: [obj#724949]
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#724957L, 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#724958, 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#724959, assertnotnull(invoke(validateexternaltype(getexternalrowfield(assertnotnull(input[0, org.apache.spark.sql.Row, true]), 3, nodeId), LongType, ObjectType(class java.lang.Long)).longValue())) AS nodeId#724960L, 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#724961, 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#724962L, 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#724963]
(121) AdaptiveSparkPlan
Output [7]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, nodeId#724960L, dependentOnNodeIds#724961, clusterId#724962L, unresolvedDependencies#724963]
Arguments: isFinalPlan=true
(122) TableCacheQueryStage
Output [4]: [clusterId#724962L, orderProposalId#724957L, plant#724958, previousOrderProposals#724959]
Arguments: 3
(123) Project [codegen id : 4]
Output [6]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, clusterId#724962L, orderProposalId#724957L AS nodeId#725240L, previousOrderProposals#724959 AS dependentOnNodeIds#725241]
Input [4]: [clusterId#724962L, orderProposalId#724957L, plant#724958, previousOrderProposals#724959]
(124) Exchange
Input [6]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, clusterId#724962L, nodeId#725240L, dependentOnNodeIds#725241]
Arguments: hashpartitioning(clusterId#724962L, 25), REPARTITION_BY_COL, [plan_id=288656]
(125) ShuffleQueryStage
Output [6]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, clusterId#724962L, nodeId#725240L, dependentOnNodeIds#725241]
Arguments: 4
(126) AQEShuffleRead
Input [6]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, clusterId#724962L, nodeId#725240L, dependentOnNodeIds#725241]
Arguments: coalesced
(127) DeserializeToObject
Input [6]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, clusterId#724962L, nodeId#725240L, dependentOnNodeIds#725241]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#724957L)), invoke(plant#724958.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -1), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -1))), previousOrderProposals#724959, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(clusterId#724962L)), static_invoke(java.lang.Long.valueOf(nodeId#725240L)), mapobjects(lambdavariable(MapObject, LongType, false, -2), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -2))), dependentOnNodeIds#725241, 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#725254: org.apache.spark.sql.Row
(128) MapPartitions
Input [1]: [obj#725254]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@4a94c174, obj#725262: org.apache.spark.sql.Row
(129) SerializeFromObject [codegen id : 5]
Input [1]: [obj#725262]
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#725270L, 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#725273L, 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#725276]
(130) BroadcastExchange
Input [3]: [orderProposalId#725270L, clusterId#725273L, sequenceId#725276]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=288755]
(131) BroadcastQueryStage
Output [3]: [orderProposalId#725270L, clusterId#725273L, sequenceId#725276]
Arguments: 5
(132) BroadcastHashJoin [codegen id : 10]
Left keys [1]: [orderProposalId#724875L]
Right keys [1]: [orderProposalId#725270L]
Join type: LeftOuter
Join condition: None
(133) Project [codegen id : 10]
Output [22]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, 0 AS orderProposalHorizonGroupingId#724876L, splitIndicator#724903L, previousOrderProposal#724904L, clusterId#725273L, sequenceId#725276]
Input [22]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L, previousOrderProposal#724904L, orderProposalId#725270L, clusterId#725273L, sequenceId#725276]
(134) ResultQueryStage
Output [22]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, orderProposalHorizonGroupingId#724876L, splitIndicator#724903L, previousOrderProposal#724904L, clusterId#725273L, sequenceId#725276]
Arguments: 11
(135) Filter
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Condition : ((size(productOrderSchedule#724794, true) > 0) AND isnotnull(productOrderSchedule#724794))
(136) Exchange
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=288370]
(137) Project
Output [9]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, CASE WHEN isnotnull(supplyingPlant#724792) THEN productGroup#724793 ELSE subrange#724791 END AS effectiveSubrange#724814]
Input [8]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794]
(138) Exchange
Input [9]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: hashpartitioning(coalesce(supplierGroup#724787, ), isnull(supplierGroup#724787), coalesce(supplier#724788, ), isnull(supplier#724788), coalesce(effectiveSubrange#724814, ), isnull(effectiveSubrange#724814), coalesce(plant#724789, ), isnull(plant#724789), coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00), isnull(deliveryDateTime#724790), 25), ENSURE_REQUIREMENTS, [plan_id=288388]
(139) Sort
Input [9]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814]
Arguments: [coalesce(supplierGroup#724787, ) ASC NULLS FIRST, isnull(supplierGroup#724787) ASC NULLS FIRST, coalesce(supplier#724788, ) ASC NULLS FIRST, isnull(supplier#724788) ASC NULLS FIRST, coalesce(effectiveSubrange#724814, ) ASC NULLS FIRST, isnull(effectiveSubrange#724814) ASC NULLS FIRST, coalesce(plant#724789, ) ASC NULLS FIRST, isnull(plant#724789) ASC NULLS FIRST, coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#724790) ASC NULLS FIRST], false, 0
(140) Exchange
Input [7]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=288348]
(141) Filter
Input [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
Condition : isnotnull(orderGroupingProfile#724806)
(142) Exchange
Input [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=288372]
(143) BroadcastExchange
Input [3]: [orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false]),false), [plan_id=288383]
(144) BroadcastHashJoin
Left keys [1]: [orderGroupingProfile#724799]
Right keys [1]: [orderGroupingProfile#724806]
Join type: LeftOuter
Join condition: None
(145) Project
Output [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, subrange#724796 AS effectiveSubrange#724815]
Input [10]: [supplier#724795, subrange#724796, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupingProfile#724806, orderGroupCriteria#724808, orderSplitCriteria#724809]
(146) Exchange
Input [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
Arguments: hashpartitioning(coalesce(supplierGroup#724800, ), isnull(supplierGroup#724800), coalesce(supplier#724795, ), isnull(supplier#724795), coalesce(effectiveSubrange#724815, ), isnull(effectiveSubrange#724815), coalesce(plant#724797, ), isnull(plant#724797), coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00), isnull(deliveryDateTime#724798), 25), ENSURE_REQUIREMENTS, [plan_id=288389]
(147) Sort
Input [9]: [supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
Arguments: [coalesce(supplierGroup#724800, ) ASC NULLS FIRST, isnull(supplierGroup#724800) ASC NULLS FIRST, coalesce(supplier#724795, ) ASC NULLS FIRST, isnull(supplier#724795) ASC NULLS FIRST, coalesce(effectiveSubrange#724815, ) ASC NULLS FIRST, isnull(effectiveSubrange#724815) ASC NULLS FIRST, coalesce(plant#724797, ) ASC NULLS FIRST, isnull(plant#724797) ASC NULLS FIRST, coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00) ASC NULLS FIRST, isnull(deliveryDateTime#724798) ASC NULLS FIRST], false, 0
(148) SortMergeJoin
Left keys [10]: [coalesce(supplierGroup#724787, ), isnull(supplierGroup#724787), coalesce(supplier#724788, ), isnull(supplier#724788), coalesce(effectiveSubrange#724814, ), isnull(effectiveSubrange#724814), coalesce(plant#724789, ), isnull(plant#724789), coalesce(deliveryDateTime#724790, 1970-01-01 00:00:00), isnull(deliveryDateTime#724790)]
Right keys [10]: [coalesce(supplierGroup#724800, ), isnull(supplierGroup#724800), coalesce(supplier#724795, ), isnull(supplier#724795), coalesce(effectiveSubrange#724815, ), isnull(effectiveSubrange#724815), coalesce(plant#724797, ), isnull(plant#724797), coalesce(deliveryDateTime#724798, 1970-01-01 00:00:00), isnull(deliveryDateTime#724798)]
Join type: LeftOuter
Join condition: None
(149) Project
Output [14]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, CASE WHEN isnull(orderGroupCriteria#724808) THEN [true,false,false,false,true,false,false,false] ELSE orderGroupCriteria#724808 END AS orderGroupCriteria#724827, CASE WHEN isnull(orderSplitCriteria#724809) THEN [true,false,false,false,false,true,false,false,false] ELSE orderSplitCriteria#724809 END AS orderSplitCriteria#724837, orderGroupingProfile#724799, coalesce(supplierGroup#724787, supplier#724788) AS supplierOrGroup#724816, coalesce(locationGroup#724801, plant#724789) AS locationOrGroup#724817]
Input [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, supplier#724795, plant#724797, deliverydatetime#724798, ordergroupingprofile#724799, supplierGroup#724800, locationGroup#724801, orderGroupCriteria#724808, orderSplitCriteria#724809, effectiveSubrange#724815]
(150) Project
Output [26]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, orderGroupCriteria#724827.supplierSubrange AS _extract_supplierSubrange#725419, orderGroupCriteria#724827.mrpController AS _extract_mrpController#725420, orderGroupCriteria#724827.purchasingOrg AS _extract_purchasingOrg#725421, orderGroupCriteria#724827.orderDate AS _extract_orderDate#725422, orderGroupCriteria#724827.deliveryDate AS _extract_deliveryDate#725423, orderGroupCriteria#724827.supplier AS _extract_supplier#725424, orderGroupCriteria#724827.purchasingGroup AS _extract_purchasingGroup#725425, orderSplitCriteria#724837.supplierSubrange AS _extract_supplierSubrange#725426, orderSplitCriteria#724837.mrpController AS _extract_mrpController#725427, orderSplitCriteria#724837.orderDate AS _extract_orderDate#725428, orderSplitCriteria#724837.supplier AS _extract_supplier#725429, orderSplitCriteria#724837.deliveryDate AS _extract_deliveryDate#725430, orderSplitCriteria#724837.purchasingOrg AS _extract_purchasingOrg#725431, orderSplitCriteria#724837.purchasingGroup AS _extract_purchasingGroup#725432, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
Input [14]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, orderGroupCriteria#724827, orderSplitCriteria#724837, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
(151) Generate
Input [26]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderSchedule#724794, effectiveSubrange#724814, _extract_supplierSubrange#725419, _extract_mrpController#725420, _extract_purchasingOrg#725421, _extract_orderDate#725422, _extract_deliveryDate#725423, _extract_supplier#725424, _extract_purchasingGroup#725425, _extract_supplierSubrange#725426, _extract_mrpController#725427, _extract_orderDate#725428, _extract_supplier#725429, _extract_deliveryDate#725430, _extract_purchasingOrg#725431, _extract_purchasingGroup#725432, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817]
Arguments: explode(productOrderSchedule#724794), [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, effectiveSubrange#724814, _extract_supplierSubrange#725419, _extract_mrpController#725420, _extract_purchasingOrg#725421, _extract_orderDate#725422, _extract_deliveryDate#725423, _extract_supplier#725424, _extract_purchasingGroup#725425, _extract_supplierSubrange#725426, _extract_mrpController#725427, _extract_orderDate#725428, _extract_supplier#725429, _extract_deliveryDate#725430, _extract_purchasingOrg#725431, _extract_purchasingGroup#725432, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817], false, [productOrderScheduleExploded#724839]
(152) Project
Output [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, productOrderScheduleExploded#724839.product AS product#724840, productOrderScheduleExploded#724839.orderDateTime AS orderDateTime#724841, productOrderScheduleExploded#724839.availabilityDateTime AS availabilityDateTime#724842, productOrderScheduleExploded#724839.nextAvailabilityDateTime AS nextAvailabilityDateTime#724843, productOrderScheduleExploded#724839.mrpController AS mrpController#724844, productOrderScheduleExploded#724839.sourceOfSupplyUuid AS sourceOfSupplyUuid#724845, productOrderScheduleExploded#724839.purchasingOrg AS purchasingOrg#724846, productOrderScheduleExploded#724839.purchasingGroup AS purchasingGroup#724847, productOrderScheduleExploded#724839.isFallbackOrderOnly AS isFallbackOrderOnly#724848, xxhash64(CASE WHEN (_extract_supplierSubrange#725419 <=> true) THEN effectiveSubrange#724814 END, orderGroupingProfile#724799, CASE WHEN (_extract_mrpController#725420 <=> true) THEN productOrderScheduleExploded#724839.mrpController END, CASE WHEN (_extract_purchasingOrg#725421 <=> true) THEN productOrderScheduleExploded#724839.purchasingOrg END, CASE WHEN (_extract_orderDate#725422 <=> true) THEN productOrderScheduleExploded#724839.orderDateTime END, CASE WHEN (_extract_deliveryDate#725423 <=> true) THEN deliveryDateTime#724790 END, CASE WHEN (_extract_supplier#725424 <=> true) THEN supplierOrGroup#724816 END, locationOrGroup#724817, CASE WHEN (_extract_purchasingGroup#725425 <=> true) THEN productOrderScheduleExploded#724839.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#724814) AND (_extract_supplierSubrange#725419 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#724799) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.mrpController) AND (_extract_mrpController#725420 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingOrg) AND (_extract_purchasingOrg#725421 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.orderDateTime) AND (_extract_orderDate#725422 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#724790) AND (_extract_deliveryDate#725423 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(supplierOrGroup#724816) AND (_extract_supplier#725424 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(locationOrGroup#724817) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingGroup) AND (_extract_purchasingGroup#725425 <=> true)) THEN 256 ELSE 0 END), 10000002108, 42) AS orderProposalId#724875L, xxhash64(CASE WHEN (_extract_supplierSubrange#725426 <=> true) THEN effectiveSubrange#724814 END, orderGroupingProfile#724799, CASE WHEN (_extract_mrpController#725427 <=> true) THEN productOrderScheduleExploded#724839.mrpController END, CASE WHEN (_extract_orderDate#725428 <=> true) THEN productOrderScheduleExploded#724839.orderDateTime END, CASE WHEN (_extract_supplier#725429 <=> true) THEN supplier#724788 END, CASE WHEN (_extract_deliveryDate#725430 <=> true) THEN deliveryDateTime#724790 END, CASE WHEN (_extract_purchasingOrg#725431 <=> true) THEN productOrderScheduleExploded#724839.purchasingOrg END, plant#724789, CASE WHEN (_extract_purchasingGroup#725432 <=> true) THEN productOrderScheduleExploded#724839.purchasingGroup END, ((((((((CASE WHEN (isnull(effectiveSubrange#724814) AND (_extract_supplierSubrange#725426 <=> true)) THEN 1 ELSE 0 END + CASE WHEN isnull(orderGroupingProfile#724799) THEN 2 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.mrpController) AND (_extract_mrpController#725427 <=> true)) THEN 4 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.orderDateTime) AND (_extract_orderDate#725428 <=> true)) THEN 8 ELSE 0 END) + CASE WHEN (isnull(supplier#724788) AND (_extract_supplier#725429 <=> true)) THEN 16 ELSE 0 END) + CASE WHEN (isnull(deliveryDateTime#724790) AND (_extract_deliveryDate#725430 <=> true)) THEN 32 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingOrg) AND (_extract_purchasingOrg#725431 <=> true)) THEN 64 ELSE 0 END) + CASE WHEN isnull(plant#724789) THEN 128 ELSE 0 END) + CASE WHEN (isnull(productOrderScheduleExploded#724839.purchasingGroup) AND (_extract_purchasingGroup#725432 <=> true)) THEN 256 ELSE 0 END), 10000002108, 42) AS splitIndicator#724903L]
Input [26]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, effectiveSubrange#724814, _extract_supplierSubrange#725419, _extract_mrpController#725420, _extract_purchasingOrg#725421, _extract_orderDate#725422, _extract_deliveryDate#725423, _extract_supplier#725424, _extract_purchasingGroup#725425, _extract_supplierSubrange#725426, _extract_mrpController#725427, _extract_orderDate#725428, _extract_supplier#725429, _extract_deliveryDate#725430, _extract_purchasingOrg#725431, _extract_purchasingGroup#725432, orderGroupingProfile#724799, supplierOrGroup#724816, locationOrGroup#724817, productOrderScheduleExploded#724839]
(153) Exchange
Input [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L]
Arguments: hashpartitioning(product#724840, plant#724789, 25), ENSURE_REQUIREMENTS, [plan_id=288398]
(154) Sort
Input [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L]
Arguments: [product#724840 ASC NULLS FIRST, plant#724789 ASC NULLS FIRST, availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST], false, 0
(155) Window
Input [18]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L]
Arguments: [lag(orderProposalId#724875L, -1, null) windowspecdefinition(product#724840, plant#724789, availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST, specifiedwindowframe(RowFrame, -1, -1)) AS previousOrderProposal#724904L], [product#724840, plant#724789], [availabilityDateTime#724842 ASC NULLS FIRST, orderDateTime#724841 ASC NULLS FIRST, orderProposalId#724875L ASC NULLS FIRST]
(156) Project
Output [6]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, clusterId#724962L, orderProposalId#724957L AS nodeId#725240L, previousOrderProposals#724959 AS dependentOnNodeIds#725241]
Input [4]: [clusterId#724962L, orderProposalId#724957L, plant#724958, previousOrderProposals#724959]
(157) Exchange
Input [6]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, clusterId#724962L, nodeId#725240L, dependentOnNodeIds#725241]
Arguments: hashpartitioning(clusterId#724962L, 25), REPARTITION_BY_COL, [plan_id=288363]
(158) DeserializeToObject
Input [6]: [orderProposalId#724957L, plant#724958, previousOrderProposals#724959, clusterId#724962L, nodeId#725240L, dependentOnNodeIds#725241]
Arguments: createexternalrow(static_invoke(java.lang.Long.valueOf(orderProposalId#724957L)), invoke(plant#724958.toString()), mapobjects(lambdavariable(MapObject, LongType, false, -1), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -1))), previousOrderProposals#724959, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Long.valueOf(clusterId#724962L)), static_invoke(java.lang.Long.valueOf(nodeId#725240L)), mapobjects(lambdavariable(MapObject, LongType, false, -2), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, LongType, false, -2))), dependentOnNodeIds#725241, 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#725254: org.apache.spark.sql.Row
(159) MapPartitions
Input [1]: [obj#725254]
Arguments: org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021bcd18@4a94c174, obj#725262: org.apache.spark.sql.Row
(160) SerializeFromObject
Input [1]: [obj#725262]
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#725270L, 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#725273L, 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#725276]
(161) BroadcastExchange
Input [3]: [orderProposalId#725270L, clusterId#725273L, sequenceId#725276]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=288402]
(162) BroadcastHashJoin
Left keys [1]: [orderProposalId#724875L]
Right keys [1]: [orderProposalId#725270L]
Join type: LeftOuter
Join condition: None
(163) Project
Output [22]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, 0 AS orderProposalHorizonGroupingId#724876L, splitIndicator#724903L, previousOrderProposal#724904L, clusterId#725273L, sequenceId#725276]
Input [22]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, splitIndicator#724903L, previousOrderProposal#724904L, orderProposalId#725270L, clusterId#725273L, sequenceId#725276]
(164) AdaptiveSparkPlan
Output [22]: [supplierGroup#724787, supplier#724788, plant#724789, deliveryDateTime#724790, subrange#724791, supplyingPlant#724792, productGroup#724793, product#724840, orderDateTime#724841, availabilityDateTime#724842, nextAvailabilityDateTime#724843, mrpController#724844, sourceOfSupplyUuid#724845, purchasingOrg#724846, purchasingGroup#724847, isFallbackOrderOnly#724848, orderProposalId#724875L, orderProposalHorizonGroupingId#724876L, splitIndicator#724903L, previousOrderProposal#724904L, clusterId#725273L, sequenceId#725276]
Arguments: isFinalPlan=true
(165) TableCacheQueryStage
Output [1]: [plant#724789]
Arguments: 0
(166) HashAggregate [codegen id : 1]
Input [1]: [plant#724789]
Keys [1]: [plant#724789]
Functions: []
Aggregate Attributes: []
Results [1]: [plant#724789]
(167) Exchange
Input [1]: [plant#724789]
Arguments: hashpartitioning(plant#724789, 25), ENSURE_REQUIREMENTS, [plan_id=289493]
(168) ShuffleQueryStage
Output [1]: [plant#724789]
Arguments: 1
(169) AQEShuffleRead
Input [1]: [plant#724789]
Arguments: coalesced
(170) HashAggregate [codegen id : 2]
Input [1]: [plant#724789]
Keys [1]: [plant#724789]
Functions: []
Aggregate Attributes: []
Results: []
(171) HashAggregate [codegen id : 2]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#726623L]
Results [1]: [count#726624L]
(172) Exchange
Input [1]: [count#726624L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=289525]
(173) ShuffleQueryStage
Output [1]: [count#726624L]
Arguments: 2
(174) HashAggregate [codegen id : 3]
Input [1]: [count#726624L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#726292L]
Results [1]: [count(1)#726292L AS count#726290L]
(175) ResultQueryStage
Output [1]: [count#726290L]
Arguments: 3
(176) HashAggregate
Input [1]: [plant#724789]
Keys [1]: [plant#724789]
Functions: []
Aggregate Attributes: []
Results [1]: [plant#724789]
(177) Exchange
Input [1]: [plant#724789]
Arguments: hashpartitioning(plant#724789, 25), ENSURE_REQUIREMENTS, [plan_id=289441]
(178) HashAggregate
Input [1]: [plant#724789]
Keys [1]: [plant#724789]
Functions: []
Aggregate Attributes: []
Results: []
(179) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#726623L]
Results [1]: [count#726624L]
(180) Exchange
Input [1]: [count#726624L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=289445]
(181) HashAggregate
Input [1]: [count#726624L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#726292L]
Results [1]: [count(1)#726292L AS count#726290L]
(182) AdaptiveSparkPlan
Output [1]: [count#726290L]
Arguments: isFinalPlan=true