== Physical Plan ==
Execute SaveIntoDataSourceCommand (1)
+- SaveIntoDataSourceCommand (2)
+- Project (196)
+- Project (195)
+- Join (194)
:- Union (144)
: :- Project (51)
: : +- Filter (50)
: : +- Union (49)
: : :- Project (34)
: : : +- Project (33)
: : : +- Project (32)
: : : +- Project (31)
: : : +- Project (30)
: : : +- Project (29)
: : : +- Join (28)
: : : :- Project (5)
: : : : +- RepartitionByExpression (4)
: : : : +- LogicalRDD (3)
: : : +- Union (27)
: : : :- Project (18)
: : : : +- Project (17)
: : : : +- Join (16)
: : : : :- Deduplicate (13)
: : : : : +- Project (12)
: : : : : +- Join (11)
: : : : : :- Project (8)
: : : : : : +- RepartitionByExpression (7)
: : : : : : +- LogicalRDD (6)
: : : : : +- Project (10)
: : : : : +- LogicalRDD (9)
: : : : +- Project (15)
: : : : +- LogicalRDD (14)
: : : +- Project (26)
: : : +- Project (25)
: : : +- Join (24)
: : : :- Project (21)
: : : : +- RepartitionByExpression (20)
: : : : +- LogicalRDD (19)
: : : +- Project (23)
: : : +- LogicalRDD (22)
: : +- Project (48)
: : +- Project (47)
: : +- Project (46)
: : +- Join (45)
: : :- Deduplicate (42)
: : : +- Project (41)
: : : +- Join (40)
: : : :- Project (37)
: : : : +- RepartitionByExpression (36)
: : : : +- LogicalRDD (35)
: : : +- Project (39)
: : : +- LogicalRDD (38)
: : +- Project (44)
: : +- LogicalRDD (43)
: +- Project (143)
: +- Deduplicate (142)
: +- Project (141)
: +- Join (140)
: :- Project (88)
: : +- Project (87)
: : +- Union (86)
: : :- Project (60)
: : : +- Project (59)
: : : +- Project (58)
: : : +- Project (57)
: : : +- Project (56)
: : : +- Project (55)
: : : +- Generate (54)
: : : +- SerializeFromObject (53)
: : : +- ExternalRDD (52)
: : :- Project (72)
: : : +- Project (71)
: : : +- Project (70)
: : : +- Project (69)
: : : +- Project (68)
: : : +- Project (67)
: : : +- Project (66)
: : : +- Generate (65)
: : : +- Project (64)
: : : +- Generate (63)
: : : +- SerializeFromObject (62)
: : : +- ExternalRDD (61)
: : +- Project (85)
: : +- Project (84)
: : +- Project (83)
: : +- Project (82)
: : +- Project (81)
: : +- Project (80)
: : +- Project (79)
: : +- Project (78)
: : +- Generate (77)
: : +- Project (76)
: : +- Generate (75)
: : +- SerializeFromObject (74)
: : +- ExternalRDD (73)
: +- Deduplicate (139)
: +- Project (138)
: +- Project (137)
: +- Filter (136)
: +- Union (135)
: :- Project (120)
: : +- Project (119)
: : +- Project (118)
: : +- Project (117)
: : +- Project (116)
: : +- Project (115)
: : +- Join (114)
: : :- Project (91)
: : : +- RepartitionByExpression (90)
: : : +- LogicalRDD (89)
: : +- Union (113)
: : :- Project (104)
: : : +- Project (103)
: : : +- Join (102)
: : : :- Deduplicate (99)
: : : : +- Project (98)
: : : : +- Join (97)
: : : : :- Project (94)
: : : : : +- RepartitionByExpression (93)
: : : : : +- LogicalRDD (92)
: : : : +- Project (96)
: : : : +- LogicalRDD (95)
: : : +- Project (101)
: : : +- LogicalRDD (100)
: : +- Project (112)
: : +- Project (111)
: : +- Join (110)
: : :- Project (107)
: : : +- RepartitionByExpression (106)
: : : +- LogicalRDD (105)
: : +- Project (109)
: : +- LogicalRDD (108)
: +- Project (134)
: +- Project (133)
: +- Project (132)
: +- Join (131)
: :- Deduplicate (128)
: : +- Project (127)
: : +- Join (126)
: : :- Project (123)
: : : +- RepartitionByExpression (122)
: : : +- LogicalRDD (121)
: : +- Project (125)
: : +- LogicalRDD (124)
: +- Project (130)
: +- LogicalRDD (129)
+- Aggregate (193)
+- Project (192)
+- Union (191)
:- Project (176)
: +- Project (175)
: +- Project (174)
: +- Project (173)
: +- Project (172)
: +- Project (171)
: +- Join (170)
: :- Project (147)
: : +- RepartitionByExpression (146)
: : +- LogicalRDD (145)
: +- Union (169)
: :- Project (160)
: : +- Project (159)
: : +- Join (158)
: : :- Deduplicate (155)
: : : +- Project (154)
: : : +- Join (153)
: : : :- Project (150)
: : : : +- RepartitionByExpression (149)
: : : : +- LogicalRDD (148)
: : : +- Project (152)
: : : +- LogicalRDD (151)
: : +- Project (157)
: : +- LogicalRDD (156)
: +- Project (168)
: +- Project (167)
: +- Join (166)
: :- Project (163)
: : +- RepartitionByExpression (162)
: : +- LogicalRDD (161)
: +- Project (165)
: +- LogicalRDD (164)
+- Project (190)
+- Project (189)
+- Project (188)
+- Join (187)
:- Deduplicate (184)
: +- Project (183)
: +- Join (182)
: :- Project (179)
: : +- RepartitionByExpression (178)
: : +- LogicalRDD (177)
: +- Project (181)
: +- LogicalRDD (180)
+- Project (186)
+- LogicalRDD (185)
(1) Execute SaveIntoDataSourceCommand
Output: []
(2) SaveIntoDataSourceCommand
Arguments: org.apache.spark.sql.delta.sources.DeltaDataSource@33239e7f, [path=hdlfs://770f0770-bd0c-456f-b83b-9649926e0857.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000678/stream-10000000678-1], Append
(3) LogicalRDD
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, periodStart#943636, periodEnd#943637, qty#943638], false
(4) RepartitionByExpression
Arguments: [product#943634, plant#943635], 37
(5) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(6) LogicalRDD
Arguments: [shardId#960593, worklistShardItemId#960594L, version#960595, product#960596, plant#960597, periodStart#960598, periodEnd#960599, qty#960600], false
(7) RepartitionByExpression
Arguments: [product#960596, plant#960597], 37
(8) Project
Arguments: [shardId#960593, worklistShardItemId#960594L, version#960595, product#960596, plant#960597, qty#960600]
(9) LogicalRDD
Arguments: [shardId#960348, worklistShardItemId#960349L, qty#960350, demandChannel#960351, demandStream#960352, kpis#960353], false
(10) Project
Arguments: [shardId#960348 AS cachedShardId#960354, worklistShardItemId#960349L AS cachedWorklistShardItemId#960355L, qty#960350 AS cachedQty#960356, demandChannel#960351, demandStream#960352, kpis#960353 AS cachedKpis#960357]
(11) Join
Arguments: Inner, (((worklistShardItemId#960594L = cachedWorklistShardItemId#960355L) AND (shardId#960593 = cachedShardId#960354)) AND ((qty#960600 = cachedQty#960356) OR isnull(qty#960600)))
(12) Project
Arguments: [shardId#960593, worklistShardItemId#960594L, version#960595, product#960596, plant#960597]
(13) Deduplicate
Arguments: [plant#960597, shardId#960593, version#960595, worklistShardItemId#960594L, product#960596]
(14) LogicalRDD
Arguments: [shardId#960358, worklistShardItemId#960359L, qty#960360, demandChannel#960361, demandStream#960362, kpis#960363], false
(15) Project
Arguments: [shardId#960358 AS cachedShardId#960364, worklistShardItemId#960359L AS cachedWorklistShardItemId#960365L, qty#960360 AS cachedQty#960366, demandChannel#960361, demandStream#960362, kpis#960363 AS cachedKpis#960367]
(16) Join
Arguments: Inner, ((worklistShardItemId#960594L = cachedWorklistShardItemId#960365L) AND (shardId#960593 = cachedShardId#960364))
(17) Project
Arguments: [shardId#960593, worklistShardItemId#960594L, version#960595, product#960596, plant#960597, cachedQty#960366 AS qty#960368, demandChannel#960361, demandStream#960362, cachedKpis#960367 AS kpis#960369]
(18) Project
Arguments: [shardId#960593, worklistShardItemId#960594L, version#960595, product#960596, plant#960597, qty#960368]
(19) LogicalRDD
Arguments: [shardId#960575, worklistShardItemId#960576L, version#960577, product#960578, plant#960579, periodStart#960580, periodEnd#960581, qty#960582], false
(20) RepartitionByExpression
Arguments: [product#960578, plant#960579], 37
(21) Project
Arguments: [shardId#960575, worklistShardItemId#960576L, version#960577, product#960578, plant#960579, qty#960582]
(22) LogicalRDD
Arguments: [shardId#960583, worklistShardItemId#960584L, qty#960585, demandChannel#960586, demandStream#960587, kpis#960588], false
(23) Project
Arguments: [shardId#960583 AS cachedShardId#960589, worklistShardItemId#960584L AS cachedWorklistShardItemId#960590L, qty#960585 AS cachedQty#960591, demandChannel#960586, demandStream#960587, kpis#960588 AS cachedKpis#960592]
(24) Join
Arguments: Inner, (((worklistShardItemId#960576L = cachedWorklistShardItemId#960590L) AND (shardId#960575 = cachedShardId#960589)) AND isnull(qty#960582))
(25) Project
Arguments: [shardId#960575, worklistShardItemId#960576L, version#960577, product#960578, plant#960579, qty#960582]
(26) Project
Arguments: [shardId#960575, worklistShardItemId#960576L, version#960577, product#960578, plant#960579, qty#960582]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#943631 <=> shardId#960593) AND (worklistShardItemId#943632L <=> worklistShardItemId#960594L)) AND (version#943633 <=> version#960595)) AND (product#943634 <=> product#960596)) AND (plant#943635 <=> plant#960597)) AND (qty#943638 <=> qty#960368))
(29) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(30) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, cast(null as string) AS demandChannel#960601]
(31) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#960601, cast(null as string) AS demandStream#960602]
(32) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#960601, demandStream#960602, array() AS kpis#960603]
(33) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#960601, demandStream#960602, kpis#960603, true AS isNewlyCalculated#960604]
(34) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#960601, demandStream#960602, cast(kpis#960603 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#960636, isNewlyCalculated#960604]
(35) LogicalRDD
Arguments: [shardId#960606, worklistShardItemId#960607L, version#960608, product#960609, plant#960610, periodStart#960611, periodEnd#960612, qty#960613], false
(36) RepartitionByExpression
Arguments: [product#960609, plant#960610], 37
(37) Project
Arguments: [shardId#960606, worklistShardItemId#960607L, version#960608, product#960609, plant#960610, qty#960613]
(38) LogicalRDD
Arguments: [shardId#960614, worklistShardItemId#960615L, qty#960616, demandChannel#960617, demandStream#960618, kpis#960619], false
(39) Project
Arguments: [shardId#960614 AS cachedShardId#960620, worklistShardItemId#960615L AS cachedWorklistShardItemId#960621L, qty#960616 AS cachedQty#960622, demandChannel#960617, demandStream#960618, kpis#960619 AS cachedKpis#960623]
(40) Join
Arguments: Inner, (((worklistShardItemId#960607L = cachedWorklistShardItemId#960621L) AND (shardId#960606 = cachedShardId#960620)) AND ((qty#960613 = cachedQty#960622) OR isnull(qty#960613)))
(41) Project
Arguments: [shardId#960606, worklistShardItemId#960607L, version#960608, product#960609, plant#960610]
(42) Deduplicate
Arguments: [plant#960610, shardId#960606, version#960608, worklistShardItemId#960607L, product#960609]
(43) LogicalRDD
Arguments: [shardId#960624, worklistShardItemId#960625L, qty#960626, demandChannel#960627, demandStream#960628, kpis#960629], false
(44) Project
Arguments: [shardId#960624 AS cachedShardId#960630, worklistShardItemId#960625L AS cachedWorklistShardItemId#960631L, qty#960626 AS cachedQty#960632, demandChannel#960627, demandStream#960628, kpis#960629 AS cachedKpis#960633]
(45) Join
Arguments: Inner, ((worklistShardItemId#960607L = cachedWorklistShardItemId#960631L) AND (shardId#960606 = cachedShardId#960630))
(46) Project
Arguments: [shardId#960606, worklistShardItemId#960607L, version#960608, product#960609, plant#960610, cachedQty#960632 AS qty#960634, demandChannel#960627, demandStream#960628, cachedKpis#960633 AS kpis#960635]
(47) Project
Arguments: [shardId#960606, worklistShardItemId#960607L, version#960608, product#960609, plant#960610, qty#960634, demandChannel#960627, demandStream#960628, kpis#960635, false AS isNewlyCalculated#960605]
(48) Project
Arguments: [shardId#960606, worklistShardItemId#960607L, version#960608, product#960609, plant#960610, qty#960634, demandChannel#960627, demandStream#960628, kpis#960635, isNewlyCalculated#960605]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#960604 <=> false)
(51) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#960601, demandStream#960602, kpis#960636]
(52) ExternalRDD
Arguments: [obj#964793]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement)))) null else named_struct(measuredUnit, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getMeasuredUnit()))), numberOfCalls, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getNumberOfCalls()), parent, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getParent()))), runtime, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getRuntime())), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getPerformanceMeasurements()), None) AS performanceMeasurements#964796, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult)))) null else named_struct(demandChannelStreamKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult)))) null else named_struct(demandChannel, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandChannel()))), demandStream, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandStream()))), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getKpiResults()), None)), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getDemandChannelStreamKpiResults()), None), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getKpiResults()), None), plantId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getPlantId()))), productId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getProductId()))), quantityKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult)))) null else named_struct(kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getKpiResults()), None), quantity, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getQuantity())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getQuantityKpiResults()), None)), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getProdPlantResults()), None) AS prodPlantResults#964797]
(54) Generate
Arguments: explode(prodPlantResults#964797), false, [prodPlantResults#964804]
(55) Project
Arguments: [prodPlantResults#964804]
(56) Project
Arguments: [prodPlantResults#964804.productId AS product#964823, prodPlantResults#964804.plantId AS plant#964824, prodPlantResults#964804.kpiResults AS kpis#964825]
(57) Project
Arguments: [product#964823, plant#964824, kpis#964825, null AS qty#964829]
(58) Project
Arguments: [product#964823, plant#964824, kpis#964825, qty#964829, cast(null as string) AS demandChannel#964830]
(59) Project
Arguments: [product#964823, plant#964824, kpis#964825, qty#964829, demandChannel#964830, cast(null as string) AS demandStream#964831]
(60) Project
Arguments: [product#964823, plant#964824, kpis#964825, cast(qty#964829 as double) AS qty#964850, demandChannel#964830, demandStream#964831]
(61) ExternalRDD
Arguments: [obj#964846]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement)))) null else named_struct(measuredUnit, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getMeasuredUnit()))), numberOfCalls, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getNumberOfCalls()), parent, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getParent()))), runtime, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getRuntime())), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getPerformanceMeasurements()), None) AS performanceMeasurements#964847, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult)))) null else named_struct(demandChannelStreamKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult)))) null else named_struct(demandChannel, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandChannel()))), demandStream, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandStream()))), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getKpiResults()), None)), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getDemandChannelStreamKpiResults()), None), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getKpiResults()), None), plantId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getPlantId()))), productId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getProductId()))), quantityKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult)))) null else named_struct(kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getKpiResults()), None), quantity, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getQuantity())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getQuantityKpiResults()), None)), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getProdPlantResults()), None) AS prodPlantResults#964848]
(63) Generate
Arguments: explode(prodPlantResults#964848), false, [prodPlantResults#964849]
(64) Project
Arguments: [prodPlantResults#964849]
(65) Generate
Arguments: explode(prodPlantResults#964849.quantityKpiResults), false, [quantityKpiResults#964816]
(66) Project
Arguments: [prodPlantResults#964849.productId AS product#964810, prodPlantResults#964849.plantId AS plant#964811, quantityKpiResults#964816]
(67) Project
Arguments: [product#964810, plant#964811, quantityKpiResults#964816, quantityKpiResults#964816.quantity AS qty#964817]
(68) Project
Arguments: [product#964810, plant#964811, quantityKpiResults#964816, qty#964817, cast(null as string) AS demandChannel#964819]
(69) Project
Arguments: [product#964810, plant#964811, quantityKpiResults#964816, qty#964817, demandChannel#964819, cast(null as string) AS demandStream#964820]
(70) Project
Arguments: [product#964810, plant#964811, quantityKpiResults#964816, qty#964817, demandChannel#964819, demandStream#964820, quantityKpiResults#964816.kpiResults AS kpis#964821]
(71) Project
Arguments: [product#964810, plant#964811, qty#964817, demandChannel#964819, demandStream#964820, kpis#964821]
(72) Project
Arguments: [product#964810, plant#964811, kpis#964821, qty#964817, demandChannel#964819, demandStream#964820]
(73) ExternalRDD
Arguments: [obj#964851]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement)))) null else named_struct(measuredUnit, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getMeasuredUnit()))), numberOfCalls, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getNumberOfCalls()), parent, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getParent()))), runtime, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77001), StructField(measuredUnit,StringType,true), StructField(numberOfCalls,LongType,false), StructField(parent,StringType,true), StructField(runtime,LongType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PerformanceMeasurement))).getRuntime())), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getPerformanceMeasurements()), None) AS performanceMeasurements#964852, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult)))) null else named_struct(demandChannelStreamKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult)))) null else named_struct(demandChannel, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandChannel()))), demandStream, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getDemandStream()))), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77004), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77003), StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DemandChannelStreamKpiResult))).getKpiResults()), None)), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getDemandChannelStreamKpiResults()), None), kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77005), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getKpiResults()), None), plantId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getPlantId()))), productId, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getProductId()))), quantityKpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult)))) null else named_struct(kpiResults, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult)))) null else named_struct(datetime, static_invoke(DateTimeUtils.fromJavaTimestamp(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getDatetime()))), label, static_invoke(UTF8String.fromString(invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getLabel()))), value, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77007), StructField(datetime,TimestampType,true), StructField(label,StringType,true), StructField(value,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiResult))).getValue())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getKpiResults()), None), quantity, invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77006), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(quantity,DoubleType,false), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.QuantityKpiResult))).getQuantity())), invoke(knownnotnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77002), StructField(demandChannelStreamKpiResults,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true)),true),true), StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true), StructField(plantId,StringType,true), StructField(productId,StringType,true), StructField(quantityKpiResults,ArrayType(StructType(StructField(kpiResults,ArrayType(StructType(StructField(datetime,TimestampType,true),StructField(label,StringType,true),StructField(value,DoubleType,false)),true),true),StructField(quantity,DoubleType,false)),true),true), ObjectType(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantKpiCalculationResult))).getQuantityKpiResults()), None)), invoke(knownnotnull(assertnotnull(input[0, com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult, true])).getProdPlantResults()), None) AS prodPlantResults#964853]
(75) Generate
Arguments: explode(prodPlantResults#964853), false, [prodPlantResults#964854]
(76) Project
Arguments: [prodPlantResults#964854]
(77) Generate
Arguments: explode(prodPlantResults#964854.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#964838]
(78) Project
Arguments: [prodPlantResults#964854.productId AS product#964832, prodPlantResults#964854.plantId AS plant#964833, demandChannelStreamKpiResults#964838]
(79) Project
Arguments: [product#964832, plant#964833, demandChannelStreamKpiResults#964838, null AS qty#964839]
(80) Project
Arguments: [product#964832, plant#964833, demandChannelStreamKpiResults#964838, qty#964839, demandChannelStreamKpiResults#964838.demandChannel AS demandChannel#964840]
(81) Project
Arguments: [product#964832, plant#964833, demandChannelStreamKpiResults#964838, qty#964839, demandChannel#964840, demandChannelStreamKpiResults#964838.demandStream AS demandStream#964842]
(82) Project
Arguments: [product#964832, plant#964833, demandChannelStreamKpiResults#964838, qty#964839, demandChannel#964840, demandStream#964842, demandChannelStreamKpiResults#964838.kpiResults AS kpis#964844]
(83) Project
Arguments: [product#964832, plant#964833, qty#964839, demandChannel#964840, demandStream#964842, kpis#964844]
(84) Project
Arguments: [product#964832, plant#964833, kpis#964844, qty#964839, demandChannel#964840, demandStream#964842]
(85) Project
Arguments: [product#964832, plant#964833, kpis#964844, cast(qty#964839 as double) AS qty#964855, demandChannel#964840, demandStream#964842]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#964823, plant#964824, transform(kpis#964825, lambdafunction(struct(label, lambda kpi#964860.label, dateTime, lambda kpi#964860.datetime, value, lambda kpi#964860.value), lambda kpi#964860, false)) AS kpis#964859, qty#964850, demandChannel#964830, demandStream#964831]
(88) Project
Arguments: [product#964823, plant#964824, qty#964850, demandChannel#964830, demandStream#964831, kpis#964859]
(89) LogicalRDD
Arguments: [shardId#965684, worklistShardItemId#965685L, version#965686, product#965687, plant#965688, periodStart#965689, periodEnd#965690, qty#965691], false
(90) RepartitionByExpression
Arguments: [product#965687, plant#965688], 37
(91) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, version#965686, product#965687, plant#965688, qty#965691]
(92) LogicalRDD
Arguments: [shardId#965692, worklistShardItemId#965693L, version#965694, product#965695, plant#965696, periodStart#965697, periodEnd#965698, qty#965699], false
(93) RepartitionByExpression
Arguments: [product#965695, plant#965696], 37
(94) Project
Arguments: [shardId#965692, worklistShardItemId#965693L, version#965694, product#965695, plant#965696, qty#965699]
(95) LogicalRDD
Arguments: [shardId#965700, worklistShardItemId#965701L, qty#965702, demandChannel#965703, demandStream#965704, kpis#965705], false
(96) Project
Arguments: [shardId#965700 AS cachedShardId#965706, worklistShardItemId#965701L AS cachedWorklistShardItemId#965707L, qty#965702 AS cachedQty#965708, demandChannel#965703, demandStream#965704, kpis#965705 AS cachedKpis#965709]
(97) Join
Arguments: Inner, (((worklistShardItemId#965693L = cachedWorklistShardItemId#965707L) AND (shardId#965692 = cachedShardId#965706)) AND ((qty#965699 = cachedQty#965708) OR isnull(qty#965699)))
(98) Project
Arguments: [shardId#965692, worklistShardItemId#965693L, version#965694, product#965695, plant#965696]
(99) Deduplicate
Arguments: [plant#965696, shardId#965692, version#965694, worklistShardItemId#965693L, product#965695]
(100) LogicalRDD
Arguments: [shardId#965710, worklistShardItemId#965711L, qty#965712, demandChannel#965713, demandStream#965714, kpis#965715], false
(101) Project
Arguments: [shardId#965710 AS cachedShardId#965716, worklistShardItemId#965711L AS cachedWorklistShardItemId#965717L, qty#965712 AS cachedQty#965718, demandChannel#965713, demandStream#965714, kpis#965715 AS cachedKpis#965719]
(102) Join
Arguments: Inner, ((worklistShardItemId#965693L = cachedWorklistShardItemId#965717L) AND (shardId#965692 = cachedShardId#965716))
(103) Project
Arguments: [shardId#965692, worklistShardItemId#965693L, version#965694, product#965695, plant#965696, cachedQty#965718 AS qty#965720, demandChannel#965713, demandStream#965714, cachedKpis#965719 AS kpis#965721]
(104) Project
Arguments: [shardId#965692, worklistShardItemId#965693L, version#965694, product#965695, plant#965696, qty#965720]
(105) LogicalRDD
Arguments: [shardId#965722, worklistShardItemId#965723L, version#965724, product#965725, plant#965726, periodStart#965727, periodEnd#965728, qty#965729], false
(106) RepartitionByExpression
Arguments: [product#965725, plant#965726], 37
(107) Project
Arguments: [shardId#965722, worklistShardItemId#965723L, version#965724, product#965725, plant#965726, qty#965729]
(108) LogicalRDD
Arguments: [shardId#965730, worklistShardItemId#965731L, qty#965732, demandChannel#965733, demandStream#965734, kpis#965735], false
(109) Project
Arguments: [shardId#965730 AS cachedShardId#965736, worklistShardItemId#965731L AS cachedWorklistShardItemId#965737L, qty#965732 AS cachedQty#965738, demandChannel#965733, demandStream#965734, kpis#965735 AS cachedKpis#965739]
(110) Join
Arguments: Inner, (((worklistShardItemId#965723L = cachedWorklistShardItemId#965737L) AND (shardId#965722 = cachedShardId#965736)) AND isnull(qty#965729))
(111) Project
Arguments: [shardId#965722, worklistShardItemId#965723L, version#965724, product#965725, plant#965726, qty#965729]
(112) Project
Arguments: [shardId#965722, worklistShardItemId#965723L, version#965724, product#965725, plant#965726, qty#965729]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#965684 <=> shardId#965692) AND (worklistShardItemId#965685L <=> worklistShardItemId#965693L)) AND (version#965686 <=> version#965694)) AND (product#965687 <=> product#965695)) AND (plant#965688 <=> plant#965696)) AND (qty#965691 <=> qty#965720))
(115) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, version#965686, product#965687, plant#965688, qty#965691]
(116) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, version#965686, product#965687, plant#965688, qty#965691, cast(null as string) AS demandChannel#965740]
(117) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, version#965686, product#965687, plant#965688, qty#965691, demandChannel#965740, cast(null as string) AS demandStream#965741]
(118) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, version#965686, product#965687, plant#965688, qty#965691, demandChannel#965740, demandStream#965741, array() AS kpis#965742]
(119) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, version#965686, product#965687, plant#965688, qty#965691, demandChannel#965740, demandStream#965741, kpis#965742, true AS isNewlyCalculated#965743]
(120) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, version#965686, product#965687, plant#965688, qty#965691, demandChannel#965740, demandStream#965741, cast(kpis#965742 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#965744, isNewlyCalculated#965743]
(121) LogicalRDD
Arguments: [shardId#965745, worklistShardItemId#965746L, version#965747, product#965748, plant#965749, periodStart#965750, periodEnd#965751, qty#965752], false
(122) RepartitionByExpression
Arguments: [product#965748, plant#965749], 37
(123) Project
Arguments: [shardId#965745, worklistShardItemId#965746L, version#965747, product#965748, plant#965749, qty#965752]
(124) LogicalRDD
Arguments: [shardId#965753, worklistShardItemId#965754L, qty#965755, demandChannel#965756, demandStream#965757, kpis#965758], false
(125) Project
Arguments: [shardId#965753 AS cachedShardId#965759, worklistShardItemId#965754L AS cachedWorklistShardItemId#965760L, qty#965755 AS cachedQty#965761, demandChannel#965756, demandStream#965757, kpis#965758 AS cachedKpis#965762]
(126) Join
Arguments: Inner, (((worklistShardItemId#965746L = cachedWorklistShardItemId#965760L) AND (shardId#965745 = cachedShardId#965759)) AND ((qty#965752 = cachedQty#965761) OR isnull(qty#965752)))
(127) Project
Arguments: [shardId#965745, worklistShardItemId#965746L, version#965747, product#965748, plant#965749]
(128) Deduplicate
Arguments: [plant#965749, shardId#965745, version#965747, worklistShardItemId#965746L, product#965748]
(129) LogicalRDD
Arguments: [shardId#965763, worklistShardItemId#965764L, qty#965765, demandChannel#965766, demandStream#965767, kpis#965768], false
(130) Project
Arguments: [shardId#965763 AS cachedShardId#965769, worklistShardItemId#965764L AS cachedWorklistShardItemId#965770L, qty#965765 AS cachedQty#965771, demandChannel#965766, demandStream#965767, kpis#965768 AS cachedKpis#965772]
(131) Join
Arguments: Inner, ((worklistShardItemId#965746L = cachedWorklistShardItemId#965770L) AND (shardId#965745 = cachedShardId#965769))
(132) Project
Arguments: [shardId#965745, worklistShardItemId#965746L, version#965747, product#965748, plant#965749, cachedQty#965771 AS qty#965773, demandChannel#965766, demandStream#965767, cachedKpis#965772 AS kpis#965774]
(133) Project
Arguments: [shardId#965745, worklistShardItemId#965746L, version#965747, product#965748, plant#965749, qty#965773, demandChannel#965766, demandStream#965767, kpis#965774, false AS isNewlyCalculated#965775]
(134) Project
Arguments: [shardId#965745, worklistShardItemId#965746L, version#965747, product#965748, plant#965749, qty#965773, demandChannel#965766, demandStream#965767, kpis#965774, isNewlyCalculated#965775]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#965743 <=> true)
(137) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, product#965687, plant#965688, qty#965691, kpis#965744]
(138) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, product#965687, plant#965688, qty#965691]
(139) Deduplicate
Arguments: [plant#965688, shardId#965684, qty#965691, worklistShardItemId#965685L, product#965687]
(140) Join
Arguments: Inner, ((product#964823 <=> product#965687) AND ((plant#964824 <=> plant#965688) AND ((qty#964850 <=> qty#965691) OR isnull(qty#965691))))
(141) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, qty#964850, demandChannel#964830, demandStream#964831, kpis#964859]
(142) Deduplicate
Arguments: [demandChannel#964830, shardId#965684, qty#964850, worklistShardItemId#965685L, demandStream#964831]
(143) Project
Arguments: [shardId#965684, worklistShardItemId#965685L, qty#964850, demandChannel#964830, demandStream#964831, kpis#964859]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778, product#965779, plant#965780, periodStart#965781, periodEnd#965782, qty#965783], false
(146) RepartitionByExpression
Arguments: [product#965779, plant#965780], 37
(147) Project
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778, product#965779, plant#965780, qty#965783]
(148) LogicalRDD
Arguments: [shardId#965784, worklistShardItemId#965785L, version#965786, product#965787, plant#965788, periodStart#965789, periodEnd#965790, qty#965791], false
(149) RepartitionByExpression
Arguments: [product#965787, plant#965788], 37
(150) Project
Arguments: [shardId#965784, worklistShardItemId#965785L, version#965786, product#965787, plant#965788, qty#965791]
(151) LogicalRDD
Arguments: [shardId#965792, worklistShardItemId#965793L, qty#965794, demandChannel#965795, demandStream#965796, kpis#965797], false
(152) Project
Arguments: [shardId#965792 AS cachedShardId#965798, worklistShardItemId#965793L AS cachedWorklistShardItemId#965799L, qty#965794 AS cachedQty#965800, demandChannel#965795, demandStream#965796, kpis#965797 AS cachedKpis#965801]
(153) Join
Arguments: Inner, (((worklistShardItemId#965785L = cachedWorklistShardItemId#965799L) AND (shardId#965784 = cachedShardId#965798)) AND ((qty#965791 = cachedQty#965800) OR isnull(qty#965791)))
(154) Project
Arguments: [shardId#965784, worklistShardItemId#965785L, version#965786, product#965787, plant#965788]
(155) Deduplicate
Arguments: [plant#965788, shardId#965784, version#965786, worklistShardItemId#965785L, product#965787]
(156) LogicalRDD
Arguments: [shardId#965802, worklistShardItemId#965803L, qty#965804, demandChannel#965805, demandStream#965806, kpis#965807], false
(157) Project
Arguments: [shardId#965802 AS cachedShardId#965808, worklistShardItemId#965803L AS cachedWorklistShardItemId#965809L, qty#965804 AS cachedQty#965810, demandChannel#965805, demandStream#965806, kpis#965807 AS cachedKpis#965811]
(158) Join
Arguments: Inner, ((worklistShardItemId#965785L = cachedWorklistShardItemId#965809L) AND (shardId#965784 = cachedShardId#965808))
(159) Project
Arguments: [shardId#965784, worklistShardItemId#965785L, version#965786, product#965787, plant#965788, cachedQty#965810 AS qty#965812, demandChannel#965805, demandStream#965806, cachedKpis#965811 AS kpis#965813]
(160) Project
Arguments: [shardId#965784, worklistShardItemId#965785L, version#965786, product#965787, plant#965788, qty#965812]
(161) LogicalRDD
Arguments: [shardId#965814, worklistShardItemId#965815L, version#965816, product#965817, plant#965818, periodStart#965819, periodEnd#965820, qty#965821], false
(162) RepartitionByExpression
Arguments: [product#965817, plant#965818], 37
(163) Project
Arguments: [shardId#965814, worklistShardItemId#965815L, version#965816, product#965817, plant#965818, qty#965821]
(164) LogicalRDD
Arguments: [shardId#965822, worklistShardItemId#965823L, qty#965824, demandChannel#965825, demandStream#965826, kpis#965827], false
(165) Project
Arguments: [shardId#965822 AS cachedShardId#965828, worklistShardItemId#965823L AS cachedWorklistShardItemId#965829L, qty#965824 AS cachedQty#965830, demandChannel#965825, demandStream#965826, kpis#965827 AS cachedKpis#965831]
(166) Join
Arguments: Inner, (((worklistShardItemId#965815L = cachedWorklistShardItemId#965829L) AND (shardId#965814 = cachedShardId#965828)) AND isnull(qty#965821))
(167) Project
Arguments: [shardId#965814, worklistShardItemId#965815L, version#965816, product#965817, plant#965818, qty#965821]
(168) Project
Arguments: [shardId#965814, worklistShardItemId#965815L, version#965816, product#965817, plant#965818, qty#965821]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#965776 <=> shardId#965784) AND (worklistShardItemId#965777L <=> worklistShardItemId#965785L)) AND (version#965778 <=> version#965786)) AND (product#965779 <=> product#965787)) AND (plant#965780 <=> plant#965788)) AND (qty#965783 <=> qty#965812))
(171) Project
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778, product#965779, plant#965780, qty#965783]
(172) Project
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778, product#965779, plant#965780, qty#965783, cast(null as string) AS demandChannel#965832]
(173) Project
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778, product#965779, plant#965780, qty#965783, demandChannel#965832, cast(null as string) AS demandStream#965833]
(174) Project
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778, product#965779, plant#965780, qty#965783, demandChannel#965832, demandStream#965833, array() AS kpis#965834]
(175) Project
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778, product#965779, plant#965780, qty#965783, demandChannel#965832, demandStream#965833, kpis#965834, true AS isNewlyCalculated#965835]
(176) Project
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778, product#965779, plant#965780, qty#965783, demandChannel#965832, demandStream#965833, cast(kpis#965834 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#965836, isNewlyCalculated#965835]
(177) LogicalRDD
Arguments: [shardId#965837, worklistShardItemId#965838L, version#965839, product#965840, plant#965841, periodStart#965842, periodEnd#965843, qty#965844], false
(178) RepartitionByExpression
Arguments: [product#965840, plant#965841], 37
(179) Project
Arguments: [shardId#965837, worklistShardItemId#965838L, version#965839, product#965840, plant#965841, qty#965844]
(180) LogicalRDD
Arguments: [shardId#965845, worklistShardItemId#965846L, qty#965847, demandChannel#965848, demandStream#965849, kpis#965850], false
(181) Project
Arguments: [shardId#965845 AS cachedShardId#965851, worklistShardItemId#965846L AS cachedWorklistShardItemId#965852L, qty#965847 AS cachedQty#965853, demandChannel#965848, demandStream#965849, kpis#965850 AS cachedKpis#965854]
(182) Join
Arguments: Inner, (((worklistShardItemId#965838L = cachedWorklistShardItemId#965852L) AND (shardId#965837 = cachedShardId#965851)) AND ((qty#965844 = cachedQty#965853) OR isnull(qty#965844)))
(183) Project
Arguments: [shardId#965837, worklistShardItemId#965838L, version#965839, product#965840, plant#965841]
(184) Deduplicate
Arguments: [plant#965841, shardId#965837, version#965839, worklistShardItemId#965838L, product#965840]
(185) LogicalRDD
Arguments: [shardId#965855, worklistShardItemId#965856L, qty#965857, demandChannel#965858, demandStream#965859, kpis#965860], false
(186) Project
Arguments: [shardId#965855 AS cachedShardId#965861, worklistShardItemId#965856L AS cachedWorklistShardItemId#965862L, qty#965857 AS cachedQty#965863, demandChannel#965858, demandStream#965859, kpis#965860 AS cachedKpis#965864]
(187) Join
Arguments: Inner, ((worklistShardItemId#965838L = cachedWorklistShardItemId#965862L) AND (shardId#965837 = cachedShardId#965861))
(188) Project
Arguments: [shardId#965837, worklistShardItemId#965838L, version#965839, product#965840, plant#965841, cachedQty#965863 AS qty#965865, demandChannel#965858, demandStream#965859, cachedKpis#965864 AS kpis#965866]
(189) Project
Arguments: [shardId#965837, worklistShardItemId#965838L, version#965839, product#965840, plant#965841, qty#965865, demandChannel#965858, demandStream#965859, kpis#965866, false AS isNewlyCalculated#965867]
(190) Project
Arguments: [shardId#965837, worklistShardItemId#965838L, version#965839, product#965840, plant#965841, qty#965865, demandChannel#965858, demandStream#965859, kpis#965866, isNewlyCalculated#965867]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#965776, worklistShardItemId#965777L, version#965778]
(193) Aggregate
Arguments: [shardId#965776, worklistShardItemId#965777L], [shardId#965776, worklistShardItemId#965777L, (max(version#965778) + 1) AS version#965679]
(194) Join
Arguments: Inner, ((shardId#943631 = shardId#965776) AND (worklistShardItemId#943632L = worklistShardItemId#965777L))
(195) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#960601, demandStream#960602, kpis#960636, version#965679]
(196) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#965679, qty#943638, demandChannel#960601, demandStream#960602, kpis#960636]