== 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@1f16f1aa, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000350/stream-10000000350-1], Append
(3) LogicalRDD
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, periodStart#1100462, periodEnd#1100463, qty#1100464], false
(4) RepartitionByExpression
Arguments: [product#1100460, plant#1100461], 37
(5) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464]
(6) LogicalRDD
Arguments: [shardId#1117533, worklistShardItemId#1117534L, version#1117535, product#1117536, plant#1117537, periodStart#1117538, periodEnd#1117539, qty#1117540], false
(7) RepartitionByExpression
Arguments: [product#1117536, plant#1117537], 37
(8) Project
Arguments: [shardId#1117533, worklistShardItemId#1117534L, version#1117535, product#1117536, plant#1117537, qty#1117540]
(9) LogicalRDD
Arguments: [shardId#1117288, worklistShardItemId#1117289L, qty#1117290, demandChannel#1117291, demandStream#1117292, kpis#1117293], false
(10) Project
Arguments: [shardId#1117288 AS cachedShardId#1117294, worklistShardItemId#1117289L AS cachedWorklistShardItemId#1117295L, qty#1117290 AS cachedQty#1117296, demandChannel#1117291, demandStream#1117292, kpis#1117293 AS cachedKpis#1117297]
(11) Join
Arguments: Inner, (((worklistShardItemId#1117534L = cachedWorklistShardItemId#1117295L) AND (shardId#1117533 = cachedShardId#1117294)) AND ((qty#1117540 = cachedQty#1117296) OR isnull(qty#1117540)))
(12) Project
Arguments: [shardId#1117533, worklistShardItemId#1117534L, version#1117535, product#1117536, plant#1117537]
(13) Deduplicate
Arguments: [plant#1117537, shardId#1117533, version#1117535, worklistShardItemId#1117534L, product#1117536]
(14) LogicalRDD
Arguments: [shardId#1117298, worklistShardItemId#1117299L, qty#1117300, demandChannel#1117301, demandStream#1117302, kpis#1117303], false
(15) Project
Arguments: [shardId#1117298 AS cachedShardId#1117304, worklistShardItemId#1117299L AS cachedWorklistShardItemId#1117305L, qty#1117300 AS cachedQty#1117306, demandChannel#1117301, demandStream#1117302, kpis#1117303 AS cachedKpis#1117307]
(16) Join
Arguments: Inner, ((worklistShardItemId#1117534L = cachedWorklistShardItemId#1117305L) AND (shardId#1117533 = cachedShardId#1117304))
(17) Project
Arguments: [shardId#1117533, worklistShardItemId#1117534L, version#1117535, product#1117536, plant#1117537, cachedQty#1117306 AS qty#1117308, demandChannel#1117301, demandStream#1117302, cachedKpis#1117307 AS kpis#1117309]
(18) Project
Arguments: [shardId#1117533, worklistShardItemId#1117534L, version#1117535, product#1117536, plant#1117537, qty#1117308]
(19) LogicalRDD
Arguments: [shardId#1117515, worklistShardItemId#1117516L, version#1117517, product#1117518, plant#1117519, periodStart#1117520, periodEnd#1117521, qty#1117522], false
(20) RepartitionByExpression
Arguments: [product#1117518, plant#1117519], 37
(21) Project
Arguments: [shardId#1117515, worklistShardItemId#1117516L, version#1117517, product#1117518, plant#1117519, qty#1117522]
(22) LogicalRDD
Arguments: [shardId#1117523, worklistShardItemId#1117524L, qty#1117525, demandChannel#1117526, demandStream#1117527, kpis#1117528], false
(23) Project
Arguments: [shardId#1117523 AS cachedShardId#1117529, worklistShardItemId#1117524L AS cachedWorklistShardItemId#1117530L, qty#1117525 AS cachedQty#1117531, demandChannel#1117526, demandStream#1117527, kpis#1117528 AS cachedKpis#1117532]
(24) Join
Arguments: Inner, (((worklistShardItemId#1117516L = cachedWorklistShardItemId#1117530L) AND (shardId#1117515 = cachedShardId#1117529)) AND isnull(qty#1117522))
(25) Project
Arguments: [shardId#1117515, worklistShardItemId#1117516L, version#1117517, product#1117518, plant#1117519, qty#1117522]
(26) Project
Arguments: [shardId#1117515, worklistShardItemId#1117516L, version#1117517, product#1117518, plant#1117519, qty#1117522]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1100457 <=> shardId#1117533) AND (worklistShardItemId#1100458L <=> worklistShardItemId#1117534L)) AND (version#1100459 <=> version#1117535)) AND (product#1100460 <=> product#1117536)) AND (plant#1100461 <=> plant#1117537)) AND (qty#1100464 <=> qty#1117308))
(29) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464]
(30) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, cast(null as string) AS demandChannel#1117541]
(31) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1117541, cast(null as string) AS demandStream#1117542]
(32) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1117541, demandStream#1117542, array() AS kpis#1117543]
(33) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1117541, demandStream#1117542, kpis#1117543, true AS isNewlyCalculated#1117544]
(34) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1117541, demandStream#1117542, cast(kpis#1117543 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1117576, isNewlyCalculated#1117544]
(35) LogicalRDD
Arguments: [shardId#1117546, worklistShardItemId#1117547L, version#1117548, product#1117549, plant#1117550, periodStart#1117551, periodEnd#1117552, qty#1117553], false
(36) RepartitionByExpression
Arguments: [product#1117549, plant#1117550], 37
(37) Project
Arguments: [shardId#1117546, worklistShardItemId#1117547L, version#1117548, product#1117549, plant#1117550, qty#1117553]
(38) LogicalRDD
Arguments: [shardId#1117554, worklistShardItemId#1117555L, qty#1117556, demandChannel#1117557, demandStream#1117558, kpis#1117559], false
(39) Project
Arguments: [shardId#1117554 AS cachedShardId#1117560, worklistShardItemId#1117555L AS cachedWorklistShardItemId#1117561L, qty#1117556 AS cachedQty#1117562, demandChannel#1117557, demandStream#1117558, kpis#1117559 AS cachedKpis#1117563]
(40) Join
Arguments: Inner, (((worklistShardItemId#1117547L = cachedWorklistShardItemId#1117561L) AND (shardId#1117546 = cachedShardId#1117560)) AND ((qty#1117553 = cachedQty#1117562) OR isnull(qty#1117553)))
(41) Project
Arguments: [shardId#1117546, worklistShardItemId#1117547L, version#1117548, product#1117549, plant#1117550]
(42) Deduplicate
Arguments: [plant#1117550, shardId#1117546, version#1117548, worklistShardItemId#1117547L, product#1117549]
(43) LogicalRDD
Arguments: [shardId#1117564, worklistShardItemId#1117565L, qty#1117566, demandChannel#1117567, demandStream#1117568, kpis#1117569], false
(44) Project
Arguments: [shardId#1117564 AS cachedShardId#1117570, worklistShardItemId#1117565L AS cachedWorklistShardItemId#1117571L, qty#1117566 AS cachedQty#1117572, demandChannel#1117567, demandStream#1117568, kpis#1117569 AS cachedKpis#1117573]
(45) Join
Arguments: Inner, ((worklistShardItemId#1117547L = cachedWorklistShardItemId#1117571L) AND (shardId#1117546 = cachedShardId#1117570))
(46) Project
Arguments: [shardId#1117546, worklistShardItemId#1117547L, version#1117548, product#1117549, plant#1117550, cachedQty#1117572 AS qty#1117574, demandChannel#1117567, demandStream#1117568, cachedKpis#1117573 AS kpis#1117575]
(47) Project
Arguments: [shardId#1117546, worklistShardItemId#1117547L, version#1117548, product#1117549, plant#1117550, qty#1117574, demandChannel#1117567, demandStream#1117568, kpis#1117575, false AS isNewlyCalculated#1117545]
(48) Project
Arguments: [shardId#1117546, worklistShardItemId#1117547L, version#1117548, product#1117549, plant#1117550, qty#1117574, demandChannel#1117567, demandStream#1117568, kpis#1117575, isNewlyCalculated#1117545]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1117544 <=> false)
(51) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, qty#1100464, demandChannel#1117541, demandStream#1117542, kpis#1117576]
(52) ExternalRDD
Arguments: [obj#1120040]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88773), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88773), 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, 88773), 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, 88773), 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, 88773), 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, 88773), 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#1120043, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88774), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88774), 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, 88775), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88775), 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, 88775), 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, 88775), 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, 88776), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88776), 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, 88776), 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, 88776), 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, 88776), 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, 88775), 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, 88774), 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, 88777), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88777), 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, 88777), 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, 88777), 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, 88777), 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, 88774), 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, 88774), 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, 88774), 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, 88778), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88778), 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, 88779), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88779), 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, 88779), 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, 88779), 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, 88779), 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, 88778), 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, 88778), 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, 88774), 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#1120044]
(54) Generate
Arguments: explode(prodPlantResults#1120044), false, [prodPlantResults#1120051]
(55) Project
Arguments: [prodPlantResults#1120051]
(56) Project
Arguments: [prodPlantResults#1120051.productId AS product#1120070, prodPlantResults#1120051.plantId AS plant#1120071, prodPlantResults#1120051.kpiResults AS kpis#1120072]
(57) Project
Arguments: [product#1120070, plant#1120071, kpis#1120072, null AS qty#1120076]
(58) Project
Arguments: [product#1120070, plant#1120071, kpis#1120072, qty#1120076, cast(null as string) AS demandChannel#1120077]
(59) Project
Arguments: [product#1120070, plant#1120071, kpis#1120072, qty#1120076, demandChannel#1120077, cast(null as string) AS demandStream#1120078]
(60) Project
Arguments: [product#1120070, plant#1120071, kpis#1120072, cast(qty#1120076 as double) AS qty#1120097, demandChannel#1120077, demandStream#1120078]
(61) ExternalRDD
Arguments: [obj#1120093]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88773), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88773), 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, 88773), 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, 88773), 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, 88773), 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, 88773), 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#1120094, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88774), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88774), 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, 88775), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88775), 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, 88775), 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, 88775), 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, 88776), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88776), 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, 88776), 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, 88776), 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, 88776), 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, 88775), 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, 88774), 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, 88777), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88777), 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, 88777), 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, 88777), 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, 88777), 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, 88774), 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, 88774), 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, 88774), 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, 88778), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88778), 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, 88779), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88779), 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, 88779), 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, 88779), 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, 88779), 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, 88778), 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, 88778), 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, 88774), 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#1120095]
(63) Generate
Arguments: explode(prodPlantResults#1120095), false, [prodPlantResults#1120096]
(64) Project
Arguments: [prodPlantResults#1120096]
(65) Generate
Arguments: explode(prodPlantResults#1120096.quantityKpiResults), false, [quantityKpiResults#1120063]
(66) Project
Arguments: [prodPlantResults#1120096.productId AS product#1120057, prodPlantResults#1120096.plantId AS plant#1120058, quantityKpiResults#1120063]
(67) Project
Arguments: [product#1120057, plant#1120058, quantityKpiResults#1120063, quantityKpiResults#1120063.quantity AS qty#1120064]
(68) Project
Arguments: [product#1120057, plant#1120058, quantityKpiResults#1120063, qty#1120064, cast(null as string) AS demandChannel#1120066]
(69) Project
Arguments: [product#1120057, plant#1120058, quantityKpiResults#1120063, qty#1120064, demandChannel#1120066, cast(null as string) AS demandStream#1120067]
(70) Project
Arguments: [product#1120057, plant#1120058, quantityKpiResults#1120063, qty#1120064, demandChannel#1120066, demandStream#1120067, quantityKpiResults#1120063.kpiResults AS kpis#1120068]
(71) Project
Arguments: [product#1120057, plant#1120058, qty#1120064, demandChannel#1120066, demandStream#1120067, kpis#1120068]
(72) Project
Arguments: [product#1120057, plant#1120058, kpis#1120068, qty#1120064, demandChannel#1120066, demandStream#1120067]
(73) ExternalRDD
Arguments: [obj#1120098]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88773), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88773), 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, 88773), 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, 88773), 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, 88773), 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, 88773), 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#1120099, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88774), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88774), 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, 88775), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88775), 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, 88775), 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, 88775), 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, 88776), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88776), 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, 88776), 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, 88776), 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, 88776), 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, 88775), 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, 88774), 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, 88777), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88777), 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, 88777), 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, 88777), 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, 88777), 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, 88774), 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, 88774), 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, 88774), 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, 88778), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88778), 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, 88779), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 88779), 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, 88779), 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, 88779), 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, 88779), 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, 88778), 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, 88778), 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, 88774), 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#1120100]
(75) Generate
Arguments: explode(prodPlantResults#1120100), false, [prodPlantResults#1120101]
(76) Project
Arguments: [prodPlantResults#1120101]
(77) Generate
Arguments: explode(prodPlantResults#1120101.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1120085]
(78) Project
Arguments: [prodPlantResults#1120101.productId AS product#1120079, prodPlantResults#1120101.plantId AS plant#1120080, demandChannelStreamKpiResults#1120085]
(79) Project
Arguments: [product#1120079, plant#1120080, demandChannelStreamKpiResults#1120085, null AS qty#1120086]
(80) Project
Arguments: [product#1120079, plant#1120080, demandChannelStreamKpiResults#1120085, qty#1120086, demandChannelStreamKpiResults#1120085.demandChannel AS demandChannel#1120087]
(81) Project
Arguments: [product#1120079, plant#1120080, demandChannelStreamKpiResults#1120085, qty#1120086, demandChannel#1120087, demandChannelStreamKpiResults#1120085.demandStream AS demandStream#1120089]
(82) Project
Arguments: [product#1120079, plant#1120080, demandChannelStreamKpiResults#1120085, qty#1120086, demandChannel#1120087, demandStream#1120089, demandChannelStreamKpiResults#1120085.kpiResults AS kpis#1120091]
(83) Project
Arguments: [product#1120079, plant#1120080, qty#1120086, demandChannel#1120087, demandStream#1120089, kpis#1120091]
(84) Project
Arguments: [product#1120079, plant#1120080, kpis#1120091, qty#1120086, demandChannel#1120087, demandStream#1120089]
(85) Project
Arguments: [product#1120079, plant#1120080, kpis#1120091, cast(qty#1120086 as double) AS qty#1120102, demandChannel#1120087, demandStream#1120089]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1120070, plant#1120071, transform(kpis#1120072, lambdafunction(struct(label, lambda kpi#1120107.label, dateTime, lambda kpi#1120107.datetime, value, lambda kpi#1120107.value), lambda kpi#1120107, false)) AS kpis#1120106, qty#1120097, demandChannel#1120077, demandStream#1120078]
(88) Project
Arguments: [product#1120070, plant#1120071, qty#1120097, demandChannel#1120077, demandStream#1120078, kpis#1120106]
(89) LogicalRDD
Arguments: [shardId#1120915, worklistShardItemId#1120916L, version#1120917, product#1120918, plant#1120919, periodStart#1120920, periodEnd#1120921, qty#1120922], false
(90) RepartitionByExpression
Arguments: [product#1120918, plant#1120919], 37
(91) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, version#1120917, product#1120918, plant#1120919, qty#1120922]
(92) LogicalRDD
Arguments: [shardId#1120923, worklistShardItemId#1120924L, version#1120925, product#1120926, plant#1120927, periodStart#1120928, periodEnd#1120929, qty#1120930], false
(93) RepartitionByExpression
Arguments: [product#1120926, plant#1120927], 37
(94) Project
Arguments: [shardId#1120923, worklistShardItemId#1120924L, version#1120925, product#1120926, plant#1120927, qty#1120930]
(95) LogicalRDD
Arguments: [shardId#1120931, worklistShardItemId#1120932L, qty#1120933, demandChannel#1120934, demandStream#1120935, kpis#1120936], false
(96) Project
Arguments: [shardId#1120931 AS cachedShardId#1120937, worklistShardItemId#1120932L AS cachedWorklistShardItemId#1120938L, qty#1120933 AS cachedQty#1120939, demandChannel#1120934, demandStream#1120935, kpis#1120936 AS cachedKpis#1120940]
(97) Join
Arguments: Inner, (((worklistShardItemId#1120924L = cachedWorklistShardItemId#1120938L) AND (shardId#1120923 = cachedShardId#1120937)) AND ((qty#1120930 = cachedQty#1120939) OR isnull(qty#1120930)))
(98) Project
Arguments: [shardId#1120923, worklistShardItemId#1120924L, version#1120925, product#1120926, plant#1120927]
(99) Deduplicate
Arguments: [plant#1120927, shardId#1120923, version#1120925, worklistShardItemId#1120924L, product#1120926]
(100) LogicalRDD
Arguments: [shardId#1120941, worklistShardItemId#1120942L, qty#1120943, demandChannel#1120944, demandStream#1120945, kpis#1120946], false
(101) Project
Arguments: [shardId#1120941 AS cachedShardId#1120947, worklistShardItemId#1120942L AS cachedWorklistShardItemId#1120948L, qty#1120943 AS cachedQty#1120949, demandChannel#1120944, demandStream#1120945, kpis#1120946 AS cachedKpis#1120950]
(102) Join
Arguments: Inner, ((worklistShardItemId#1120924L = cachedWorklistShardItemId#1120948L) AND (shardId#1120923 = cachedShardId#1120947))
(103) Project
Arguments: [shardId#1120923, worklistShardItemId#1120924L, version#1120925, product#1120926, plant#1120927, cachedQty#1120949 AS qty#1120951, demandChannel#1120944, demandStream#1120945, cachedKpis#1120950 AS kpis#1120952]
(104) Project
Arguments: [shardId#1120923, worklistShardItemId#1120924L, version#1120925, product#1120926, plant#1120927, qty#1120951]
(105) LogicalRDD
Arguments: [shardId#1120953, worklistShardItemId#1120954L, version#1120955, product#1120956, plant#1120957, periodStart#1120958, periodEnd#1120959, qty#1120960], false
(106) RepartitionByExpression
Arguments: [product#1120956, plant#1120957], 37
(107) Project
Arguments: [shardId#1120953, worklistShardItemId#1120954L, version#1120955, product#1120956, plant#1120957, qty#1120960]
(108) LogicalRDD
Arguments: [shardId#1120961, worklistShardItemId#1120962L, qty#1120963, demandChannel#1120964, demandStream#1120965, kpis#1120966], false
(109) Project
Arguments: [shardId#1120961 AS cachedShardId#1120967, worklistShardItemId#1120962L AS cachedWorklistShardItemId#1120968L, qty#1120963 AS cachedQty#1120969, demandChannel#1120964, demandStream#1120965, kpis#1120966 AS cachedKpis#1120970]
(110) Join
Arguments: Inner, (((worklistShardItemId#1120954L = cachedWorklistShardItemId#1120968L) AND (shardId#1120953 = cachedShardId#1120967)) AND isnull(qty#1120960))
(111) Project
Arguments: [shardId#1120953, worklistShardItemId#1120954L, version#1120955, product#1120956, plant#1120957, qty#1120960]
(112) Project
Arguments: [shardId#1120953, worklistShardItemId#1120954L, version#1120955, product#1120956, plant#1120957, qty#1120960]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1120915 <=> shardId#1120923) AND (worklistShardItemId#1120916L <=> worklistShardItemId#1120924L)) AND (version#1120917 <=> version#1120925)) AND (product#1120918 <=> product#1120926)) AND (plant#1120919 <=> plant#1120927)) AND (qty#1120922 <=> qty#1120951))
(115) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, version#1120917, product#1120918, plant#1120919, qty#1120922]
(116) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, version#1120917, product#1120918, plant#1120919, qty#1120922, cast(null as string) AS demandChannel#1120971]
(117) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, version#1120917, product#1120918, plant#1120919, qty#1120922, demandChannel#1120971, cast(null as string) AS demandStream#1120972]
(118) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, version#1120917, product#1120918, plant#1120919, qty#1120922, demandChannel#1120971, demandStream#1120972, array() AS kpis#1120973]
(119) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, version#1120917, product#1120918, plant#1120919, qty#1120922, demandChannel#1120971, demandStream#1120972, kpis#1120973, true AS isNewlyCalculated#1120974]
(120) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, version#1120917, product#1120918, plant#1120919, qty#1120922, demandChannel#1120971, demandStream#1120972, cast(kpis#1120973 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1120975, isNewlyCalculated#1120974]
(121) LogicalRDD
Arguments: [shardId#1120976, worklistShardItemId#1120977L, version#1120978, product#1120979, plant#1120980, periodStart#1120981, periodEnd#1120982, qty#1120983], false
(122) RepartitionByExpression
Arguments: [product#1120979, plant#1120980], 37
(123) Project
Arguments: [shardId#1120976, worklistShardItemId#1120977L, version#1120978, product#1120979, plant#1120980, qty#1120983]
(124) LogicalRDD
Arguments: [shardId#1120984, worklistShardItemId#1120985L, qty#1120986, demandChannel#1120987, demandStream#1120988, kpis#1120989], false
(125) Project
Arguments: [shardId#1120984 AS cachedShardId#1120990, worklistShardItemId#1120985L AS cachedWorklistShardItemId#1120991L, qty#1120986 AS cachedQty#1120992, demandChannel#1120987, demandStream#1120988, kpis#1120989 AS cachedKpis#1120993]
(126) Join
Arguments: Inner, (((worklistShardItemId#1120977L = cachedWorklistShardItemId#1120991L) AND (shardId#1120976 = cachedShardId#1120990)) AND ((qty#1120983 = cachedQty#1120992) OR isnull(qty#1120983)))
(127) Project
Arguments: [shardId#1120976, worklistShardItemId#1120977L, version#1120978, product#1120979, plant#1120980]
(128) Deduplicate
Arguments: [plant#1120980, shardId#1120976, version#1120978, worklistShardItemId#1120977L, product#1120979]
(129) LogicalRDD
Arguments: [shardId#1120994, worklistShardItemId#1120995L, qty#1120996, demandChannel#1120997, demandStream#1120998, kpis#1120999], false
(130) Project
Arguments: [shardId#1120994 AS cachedShardId#1121000, worklistShardItemId#1120995L AS cachedWorklistShardItemId#1121001L, qty#1120996 AS cachedQty#1121002, demandChannel#1120997, demandStream#1120998, kpis#1120999 AS cachedKpis#1121003]
(131) Join
Arguments: Inner, ((worklistShardItemId#1120977L = cachedWorklistShardItemId#1121001L) AND (shardId#1120976 = cachedShardId#1121000))
(132) Project
Arguments: [shardId#1120976, worklistShardItemId#1120977L, version#1120978, product#1120979, plant#1120980, cachedQty#1121002 AS qty#1121004, demandChannel#1120997, demandStream#1120998, cachedKpis#1121003 AS kpis#1121005]
(133) Project
Arguments: [shardId#1120976, worklistShardItemId#1120977L, version#1120978, product#1120979, plant#1120980, qty#1121004, demandChannel#1120997, demandStream#1120998, kpis#1121005, false AS isNewlyCalculated#1121006]
(134) Project
Arguments: [shardId#1120976, worklistShardItemId#1120977L, version#1120978, product#1120979, plant#1120980, qty#1121004, demandChannel#1120997, demandStream#1120998, kpis#1121005, isNewlyCalculated#1121006]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1120974 <=> true)
(137) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, product#1120918, plant#1120919, qty#1120922, kpis#1120975]
(138) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, product#1120918, plant#1120919, qty#1120922]
(139) Deduplicate
Arguments: [plant#1120919, shardId#1120915, qty#1120922, worklistShardItemId#1120916L, product#1120918]
(140) Join
Arguments: Inner, ((product#1120070 <=> product#1120918) AND ((plant#1120071 <=> plant#1120919) AND ((qty#1120097 <=> qty#1120922) OR isnull(qty#1120922))))
(141) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, qty#1120097, demandChannel#1120077, demandStream#1120078, kpis#1120106]
(142) Deduplicate
Arguments: [demandChannel#1120077, shardId#1120915, qty#1120097, worklistShardItemId#1120916L, demandStream#1120078]
(143) Project
Arguments: [shardId#1120915, worklistShardItemId#1120916L, qty#1120097, demandChannel#1120077, demandStream#1120078, kpis#1120106]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009, product#1121010, plant#1121011, periodStart#1121012, periodEnd#1121013, qty#1121014], false
(146) RepartitionByExpression
Arguments: [product#1121010, plant#1121011], 37
(147) Project
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009, product#1121010, plant#1121011, qty#1121014]
(148) LogicalRDD
Arguments: [shardId#1121015, worklistShardItemId#1121016L, version#1121017, product#1121018, plant#1121019, periodStart#1121020, periodEnd#1121021, qty#1121022], false
(149) RepartitionByExpression
Arguments: [product#1121018, plant#1121019], 37
(150) Project
Arguments: [shardId#1121015, worklistShardItemId#1121016L, version#1121017, product#1121018, plant#1121019, qty#1121022]
(151) LogicalRDD
Arguments: [shardId#1121023, worklistShardItemId#1121024L, qty#1121025, demandChannel#1121026, demandStream#1121027, kpis#1121028], false
(152) Project
Arguments: [shardId#1121023 AS cachedShardId#1121029, worklistShardItemId#1121024L AS cachedWorklistShardItemId#1121030L, qty#1121025 AS cachedQty#1121031, demandChannel#1121026, demandStream#1121027, kpis#1121028 AS cachedKpis#1121032]
(153) Join
Arguments: Inner, (((worklistShardItemId#1121016L = cachedWorklistShardItemId#1121030L) AND (shardId#1121015 = cachedShardId#1121029)) AND ((qty#1121022 = cachedQty#1121031) OR isnull(qty#1121022)))
(154) Project
Arguments: [shardId#1121015, worklistShardItemId#1121016L, version#1121017, product#1121018, plant#1121019]
(155) Deduplicate
Arguments: [plant#1121019, shardId#1121015, version#1121017, worklistShardItemId#1121016L, product#1121018]
(156) LogicalRDD
Arguments: [shardId#1121033, worklistShardItemId#1121034L, qty#1121035, demandChannel#1121036, demandStream#1121037, kpis#1121038], false
(157) Project
Arguments: [shardId#1121033 AS cachedShardId#1121039, worklistShardItemId#1121034L AS cachedWorklistShardItemId#1121040L, qty#1121035 AS cachedQty#1121041, demandChannel#1121036, demandStream#1121037, kpis#1121038 AS cachedKpis#1121042]
(158) Join
Arguments: Inner, ((worklistShardItemId#1121016L = cachedWorklistShardItemId#1121040L) AND (shardId#1121015 = cachedShardId#1121039))
(159) Project
Arguments: [shardId#1121015, worklistShardItemId#1121016L, version#1121017, product#1121018, plant#1121019, cachedQty#1121041 AS qty#1121043, demandChannel#1121036, demandStream#1121037, cachedKpis#1121042 AS kpis#1121044]
(160) Project
Arguments: [shardId#1121015, worklistShardItemId#1121016L, version#1121017, product#1121018, plant#1121019, qty#1121043]
(161) LogicalRDD
Arguments: [shardId#1121045, worklistShardItemId#1121046L, version#1121047, product#1121048, plant#1121049, periodStart#1121050, periodEnd#1121051, qty#1121052], false
(162) RepartitionByExpression
Arguments: [product#1121048, plant#1121049], 37
(163) Project
Arguments: [shardId#1121045, worklistShardItemId#1121046L, version#1121047, product#1121048, plant#1121049, qty#1121052]
(164) LogicalRDD
Arguments: [shardId#1121053, worklistShardItemId#1121054L, qty#1121055, demandChannel#1121056, demandStream#1121057, kpis#1121058], false
(165) Project
Arguments: [shardId#1121053 AS cachedShardId#1121059, worklistShardItemId#1121054L AS cachedWorklistShardItemId#1121060L, qty#1121055 AS cachedQty#1121061, demandChannel#1121056, demandStream#1121057, kpis#1121058 AS cachedKpis#1121062]
(166) Join
Arguments: Inner, (((worklistShardItemId#1121046L = cachedWorklistShardItemId#1121060L) AND (shardId#1121045 = cachedShardId#1121059)) AND isnull(qty#1121052))
(167) Project
Arguments: [shardId#1121045, worklistShardItemId#1121046L, version#1121047, product#1121048, plant#1121049, qty#1121052]
(168) Project
Arguments: [shardId#1121045, worklistShardItemId#1121046L, version#1121047, product#1121048, plant#1121049, qty#1121052]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1121007 <=> shardId#1121015) AND (worklistShardItemId#1121008L <=> worklistShardItemId#1121016L)) AND (version#1121009 <=> version#1121017)) AND (product#1121010 <=> product#1121018)) AND (plant#1121011 <=> plant#1121019)) AND (qty#1121014 <=> qty#1121043))
(171) Project
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009, product#1121010, plant#1121011, qty#1121014]
(172) Project
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009, product#1121010, plant#1121011, qty#1121014, cast(null as string) AS demandChannel#1121063]
(173) Project
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009, product#1121010, plant#1121011, qty#1121014, demandChannel#1121063, cast(null as string) AS demandStream#1121064]
(174) Project
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009, product#1121010, plant#1121011, qty#1121014, demandChannel#1121063, demandStream#1121064, array() AS kpis#1121065]
(175) Project
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009, product#1121010, plant#1121011, qty#1121014, demandChannel#1121063, demandStream#1121064, kpis#1121065, true AS isNewlyCalculated#1121066]
(176) Project
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009, product#1121010, plant#1121011, qty#1121014, demandChannel#1121063, demandStream#1121064, cast(kpis#1121065 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1121067, isNewlyCalculated#1121066]
(177) LogicalRDD
Arguments: [shardId#1121068, worklistShardItemId#1121069L, version#1121070, product#1121071, plant#1121072, periodStart#1121073, periodEnd#1121074, qty#1121075], false
(178) RepartitionByExpression
Arguments: [product#1121071, plant#1121072], 37
(179) Project
Arguments: [shardId#1121068, worklistShardItemId#1121069L, version#1121070, product#1121071, plant#1121072, qty#1121075]
(180) LogicalRDD
Arguments: [shardId#1121076, worklistShardItemId#1121077L, qty#1121078, demandChannel#1121079, demandStream#1121080, kpis#1121081], false
(181) Project
Arguments: [shardId#1121076 AS cachedShardId#1121082, worklistShardItemId#1121077L AS cachedWorklistShardItemId#1121083L, qty#1121078 AS cachedQty#1121084, demandChannel#1121079, demandStream#1121080, kpis#1121081 AS cachedKpis#1121085]
(182) Join
Arguments: Inner, (((worklistShardItemId#1121069L = cachedWorklistShardItemId#1121083L) AND (shardId#1121068 = cachedShardId#1121082)) AND ((qty#1121075 = cachedQty#1121084) OR isnull(qty#1121075)))
(183) Project
Arguments: [shardId#1121068, worklistShardItemId#1121069L, version#1121070, product#1121071, plant#1121072]
(184) Deduplicate
Arguments: [plant#1121072, shardId#1121068, version#1121070, worklistShardItemId#1121069L, product#1121071]
(185) LogicalRDD
Arguments: [shardId#1121086, worklistShardItemId#1121087L, qty#1121088, demandChannel#1121089, demandStream#1121090, kpis#1121091], false
(186) Project
Arguments: [shardId#1121086 AS cachedShardId#1121092, worklistShardItemId#1121087L AS cachedWorklistShardItemId#1121093L, qty#1121088 AS cachedQty#1121094, demandChannel#1121089, demandStream#1121090, kpis#1121091 AS cachedKpis#1121095]
(187) Join
Arguments: Inner, ((worklistShardItemId#1121069L = cachedWorklistShardItemId#1121093L) AND (shardId#1121068 = cachedShardId#1121092))
(188) Project
Arguments: [shardId#1121068, worklistShardItemId#1121069L, version#1121070, product#1121071, plant#1121072, cachedQty#1121094 AS qty#1121096, demandChannel#1121089, demandStream#1121090, cachedKpis#1121095 AS kpis#1121097]
(189) Project
Arguments: [shardId#1121068, worklistShardItemId#1121069L, version#1121070, product#1121071, plant#1121072, qty#1121096, demandChannel#1121089, demandStream#1121090, kpis#1121097, false AS isNewlyCalculated#1121098]
(190) Project
Arguments: [shardId#1121068, worklistShardItemId#1121069L, version#1121070, product#1121071, plant#1121072, qty#1121096, demandChannel#1121089, demandStream#1121090, kpis#1121097, isNewlyCalculated#1121098]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1121007, worklistShardItemId#1121008L, version#1121009]
(193) Aggregate
Arguments: [shardId#1121007, worklistShardItemId#1121008L], [shardId#1121007, worklistShardItemId#1121008L, (max(version#1121009) + 1) AS version#1120910]
(194) Join
Arguments: Inner, ((shardId#1100457 = shardId#1121007) AND (worklistShardItemId#1100458L = worklistShardItemId#1121008L))
(195) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, qty#1100464, demandChannel#1117541, demandStream#1117542, kpis#1117576, version#1120910]
(196) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1120910, qty#1100464, demandChannel#1117541, demandStream#1117542, kpis#1117576]