== 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@37b67303, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000349/stream-10000000349-1], Append
(3) LogicalRDD
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, periodStart#1011820, periodEnd#1011821, qty#1011822], false
(4) RepartitionByExpression
Arguments: [product#1011818, plant#1011819], 37
(5) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822]
(6) LogicalRDD
Arguments: [shardId#1050645, worklistShardItemId#1050646L, version#1050647, product#1050648, plant#1050649, periodStart#1050650, periodEnd#1050651, qty#1050652], false
(7) RepartitionByExpression
Arguments: [product#1050648, plant#1050649], 37
(8) Project
Arguments: [shardId#1050645, worklistShardItemId#1050646L, version#1050647, product#1050648, plant#1050649, qty#1050652]
(9) LogicalRDD
Arguments: [shardId#1050400, worklistShardItemId#1050401L, qty#1050402, demandChannel#1050403, demandStream#1050404, kpis#1050405], false
(10) Project
Arguments: [shardId#1050400 AS cachedShardId#1050406, worklistShardItemId#1050401L AS cachedWorklistShardItemId#1050407L, qty#1050402 AS cachedQty#1050408, demandChannel#1050403, demandStream#1050404, kpis#1050405 AS cachedKpis#1050409]
(11) Join
Arguments: Inner, (((worklistShardItemId#1050646L = cachedWorklistShardItemId#1050407L) AND (shardId#1050645 = cachedShardId#1050406)) AND ((qty#1050652 = cachedQty#1050408) OR isnull(qty#1050652)))
(12) Project
Arguments: [shardId#1050645, worklistShardItemId#1050646L, version#1050647, product#1050648, plant#1050649]
(13) Deduplicate
Arguments: [plant#1050649, shardId#1050645, version#1050647, worklistShardItemId#1050646L, product#1050648]
(14) LogicalRDD
Arguments: [shardId#1050410, worklistShardItemId#1050411L, qty#1050412, demandChannel#1050413, demandStream#1050414, kpis#1050415], false
(15) Project
Arguments: [shardId#1050410 AS cachedShardId#1050416, worklistShardItemId#1050411L AS cachedWorklistShardItemId#1050417L, qty#1050412 AS cachedQty#1050418, demandChannel#1050413, demandStream#1050414, kpis#1050415 AS cachedKpis#1050419]
(16) Join
Arguments: Inner, ((worklistShardItemId#1050646L = cachedWorklistShardItemId#1050417L) AND (shardId#1050645 = cachedShardId#1050416))
(17) Project
Arguments: [shardId#1050645, worklistShardItemId#1050646L, version#1050647, product#1050648, plant#1050649, cachedQty#1050418 AS qty#1050420, demandChannel#1050413, demandStream#1050414, cachedKpis#1050419 AS kpis#1050421]
(18) Project
Arguments: [shardId#1050645, worklistShardItemId#1050646L, version#1050647, product#1050648, plant#1050649, qty#1050420]
(19) LogicalRDD
Arguments: [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, periodStart#1050632, periodEnd#1050633, qty#1050634], false
(20) RepartitionByExpression
Arguments: [product#1050630, plant#1050631], 37
(21) Project
Arguments: [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634]
(22) LogicalRDD
Arguments: [shardId#1050635, worklistShardItemId#1050636L, qty#1050637, demandChannel#1050638, demandStream#1050639, kpis#1050640], false
(23) Project
Arguments: [shardId#1050635 AS cachedShardId#1050641, worklistShardItemId#1050636L AS cachedWorklistShardItemId#1050642L, qty#1050637 AS cachedQty#1050643, demandChannel#1050638, demandStream#1050639, kpis#1050640 AS cachedKpis#1050644]
(24) Join
Arguments: Inner, (((worklistShardItemId#1050628L = cachedWorklistShardItemId#1050642L) AND (shardId#1050627 = cachedShardId#1050641)) AND isnull(qty#1050634))
(25) Project
Arguments: [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634]
(26) Project
Arguments: [shardId#1050627, worklistShardItemId#1050628L, version#1050629, product#1050630, plant#1050631, qty#1050634]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1011815 <=> shardId#1050645) AND (worklistShardItemId#1011816L <=> worklistShardItemId#1050646L)) AND (version#1011817 <=> version#1050647)) AND (product#1011818 <=> product#1050648)) AND (plant#1011819 <=> plant#1050649)) AND (qty#1011822 <=> qty#1050420))
(29) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822]
(30) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, cast(null as string) AS demandChannel#1050653]
(31) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1050653, cast(null as string) AS demandStream#1050654]
(32) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1050653, demandStream#1050654, array() AS kpis#1050655]
(33) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1050653, demandStream#1050654, kpis#1050655, true AS isNewlyCalculated#1050656]
(34) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1050653, demandStream#1050654, cast(kpis#1050655 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1050688, isNewlyCalculated#1050656]
(35) LogicalRDD
Arguments: [shardId#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662, periodStart#1050663, periodEnd#1050664, qty#1050665], false
(36) RepartitionByExpression
Arguments: [product#1050661, plant#1050662], 37
(37) Project
Arguments: [shardId#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662, qty#1050665]
(38) LogicalRDD
Arguments: [shardId#1050666, worklistShardItemId#1050667L, qty#1050668, demandChannel#1050669, demandStream#1050670, kpis#1050671], false
(39) Project
Arguments: [shardId#1050666 AS cachedShardId#1050672, worklistShardItemId#1050667L AS cachedWorklistShardItemId#1050673L, qty#1050668 AS cachedQty#1050674, demandChannel#1050669, demandStream#1050670, kpis#1050671 AS cachedKpis#1050675]
(40) Join
Arguments: Inner, (((worklistShardItemId#1050659L = cachedWorklistShardItemId#1050673L) AND (shardId#1050658 = cachedShardId#1050672)) AND ((qty#1050665 = cachedQty#1050674) OR isnull(qty#1050665)))
(41) Project
Arguments: [shardId#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662]
(42) Deduplicate
Arguments: [plant#1050662, shardId#1050658, version#1050660, worklistShardItemId#1050659L, product#1050661]
(43) LogicalRDD
Arguments: [shardId#1050676, worklistShardItemId#1050677L, qty#1050678, demandChannel#1050679, demandStream#1050680, kpis#1050681], false
(44) Project
Arguments: [shardId#1050676 AS cachedShardId#1050682, worklistShardItemId#1050677L AS cachedWorklistShardItemId#1050683L, qty#1050678 AS cachedQty#1050684, demandChannel#1050679, demandStream#1050680, kpis#1050681 AS cachedKpis#1050685]
(45) Join
Arguments: Inner, ((worklistShardItemId#1050659L = cachedWorklistShardItemId#1050683L) AND (shardId#1050658 = cachedShardId#1050682))
(46) Project
Arguments: [shardId#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662, cachedQty#1050684 AS qty#1050686, demandChannel#1050679, demandStream#1050680, cachedKpis#1050685 AS kpis#1050687]
(47) Project
Arguments: [shardId#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662, qty#1050686, demandChannel#1050679, demandStream#1050680, kpis#1050687, false AS isNewlyCalculated#1050657]
(48) Project
Arguments: [shardId#1050658, worklistShardItemId#1050659L, version#1050660, product#1050661, plant#1050662, qty#1050686, demandChannel#1050679, demandStream#1050680, kpis#1050687, isNewlyCalculated#1050657]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1050656 <=> false)
(51) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1050653, demandStream#1050654, kpis#1050688]
(52) ExternalRDD
Arguments: [obj#1053152]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83457), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83457), 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, 83457), 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, 83457), 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, 83457), 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, 83457), 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#1053155, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83458), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83458), 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, 83459), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83459), 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, 83459), 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, 83459), 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, 83460), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83460), 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, 83460), 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, 83460), 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, 83460), 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, 83459), 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, 83458), 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, 83461), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83461), 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, 83461), 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, 83461), 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, 83461), 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, 83458), 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, 83458), 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, 83458), 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, 83462), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83462), 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, 83463), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83463), 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, 83463), 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, 83463), 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, 83463), 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, 83462), 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, 83462), 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, 83458), 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#1053156]
(54) Generate
Arguments: explode(prodPlantResults#1053156), false, [prodPlantResults#1053163]
(55) Project
Arguments: [prodPlantResults#1053163]
(56) Project
Arguments: [prodPlantResults#1053163.productId AS product#1053182, prodPlantResults#1053163.plantId AS plant#1053183, prodPlantResults#1053163.kpiResults AS kpis#1053184]
(57) Project
Arguments: [product#1053182, plant#1053183, kpis#1053184, null AS qty#1053188]
(58) Project
Arguments: [product#1053182, plant#1053183, kpis#1053184, qty#1053188, cast(null as string) AS demandChannel#1053189]
(59) Project
Arguments: [product#1053182, plant#1053183, kpis#1053184, qty#1053188, demandChannel#1053189, cast(null as string) AS demandStream#1053190]
(60) Project
Arguments: [product#1053182, plant#1053183, kpis#1053184, cast(qty#1053188 as double) AS qty#1053209, demandChannel#1053189, demandStream#1053190]
(61) ExternalRDD
Arguments: [obj#1053205]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83457), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83457), 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, 83457), 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, 83457), 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, 83457), 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, 83457), 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#1053206, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83458), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83458), 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, 83459), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83459), 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, 83459), 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, 83459), 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, 83460), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83460), 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, 83460), 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, 83460), 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, 83460), 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, 83459), 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, 83458), 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, 83461), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83461), 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, 83461), 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, 83461), 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, 83461), 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, 83458), 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, 83458), 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, 83458), 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, 83462), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83462), 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, 83463), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83463), 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, 83463), 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, 83463), 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, 83463), 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, 83462), 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, 83462), 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, 83458), 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#1053207]
(63) Generate
Arguments: explode(prodPlantResults#1053207), false, [prodPlantResults#1053208]
(64) Project
Arguments: [prodPlantResults#1053208]
(65) Generate
Arguments: explode(prodPlantResults#1053208.quantityKpiResults), false, [quantityKpiResults#1053175]
(66) Project
Arguments: [prodPlantResults#1053208.productId AS product#1053169, prodPlantResults#1053208.plantId AS plant#1053170, quantityKpiResults#1053175]
(67) Project
Arguments: [product#1053169, plant#1053170, quantityKpiResults#1053175, quantityKpiResults#1053175.quantity AS qty#1053176]
(68) Project
Arguments: [product#1053169, plant#1053170, quantityKpiResults#1053175, qty#1053176, cast(null as string) AS demandChannel#1053178]
(69) Project
Arguments: [product#1053169, plant#1053170, quantityKpiResults#1053175, qty#1053176, demandChannel#1053178, cast(null as string) AS demandStream#1053179]
(70) Project
Arguments: [product#1053169, plant#1053170, quantityKpiResults#1053175, qty#1053176, demandChannel#1053178, demandStream#1053179, quantityKpiResults#1053175.kpiResults AS kpis#1053180]
(71) Project
Arguments: [product#1053169, plant#1053170, qty#1053176, demandChannel#1053178, demandStream#1053179, kpis#1053180]
(72) Project
Arguments: [product#1053169, plant#1053170, kpis#1053180, qty#1053176, demandChannel#1053178, demandStream#1053179]
(73) ExternalRDD
Arguments: [obj#1053210]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83457), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83457), 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, 83457), 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, 83457), 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, 83457), 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, 83457), 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#1053211, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83458), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83458), 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, 83459), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83459), 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, 83459), 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, 83459), 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, 83460), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83460), 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, 83460), 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, 83460), 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, 83460), 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, 83459), 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, 83458), 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, 83461), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83461), 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, 83461), 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, 83461), 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, 83461), 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, 83458), 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, 83458), 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, 83458), 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, 83462), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83462), 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, 83463), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83463), 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, 83463), 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, 83463), 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, 83463), 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, 83462), 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, 83462), 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, 83458), 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#1053212]
(75) Generate
Arguments: explode(prodPlantResults#1053212), false, [prodPlantResults#1053213]
(76) Project
Arguments: [prodPlantResults#1053213]
(77) Generate
Arguments: explode(prodPlantResults#1053213.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1053197]
(78) Project
Arguments: [prodPlantResults#1053213.productId AS product#1053191, prodPlantResults#1053213.plantId AS plant#1053192, demandChannelStreamKpiResults#1053197]
(79) Project
Arguments: [product#1053191, plant#1053192, demandChannelStreamKpiResults#1053197, null AS qty#1053198]
(80) Project
Arguments: [product#1053191, plant#1053192, demandChannelStreamKpiResults#1053197, qty#1053198, demandChannelStreamKpiResults#1053197.demandChannel AS demandChannel#1053199]
(81) Project
Arguments: [product#1053191, plant#1053192, demandChannelStreamKpiResults#1053197, qty#1053198, demandChannel#1053199, demandChannelStreamKpiResults#1053197.demandStream AS demandStream#1053201]
(82) Project
Arguments: [product#1053191, plant#1053192, demandChannelStreamKpiResults#1053197, qty#1053198, demandChannel#1053199, demandStream#1053201, demandChannelStreamKpiResults#1053197.kpiResults AS kpis#1053203]
(83) Project
Arguments: [product#1053191, plant#1053192, qty#1053198, demandChannel#1053199, demandStream#1053201, kpis#1053203]
(84) Project
Arguments: [product#1053191, plant#1053192, kpis#1053203, qty#1053198, demandChannel#1053199, demandStream#1053201]
(85) Project
Arguments: [product#1053191, plant#1053192, kpis#1053203, cast(qty#1053198 as double) AS qty#1053214, demandChannel#1053199, demandStream#1053201]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1053182, plant#1053183, transform(kpis#1053184, lambdafunction(struct(label, lambda kpi#1053219.label, dateTime, lambda kpi#1053219.datetime, value, lambda kpi#1053219.value), lambda kpi#1053219, false)) AS kpis#1053218, qty#1053209, demandChannel#1053189, demandStream#1053190]
(88) Project
Arguments: [product#1053182, plant#1053183, qty#1053209, demandChannel#1053189, demandStream#1053190, kpis#1053218]
(89) LogicalRDD
Arguments: [shardId#1054027, worklistShardItemId#1054028L, version#1054029, product#1054030, plant#1054031, periodStart#1054032, periodEnd#1054033, qty#1054034], false
(90) RepartitionByExpression
Arguments: [product#1054030, plant#1054031], 37
(91) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, version#1054029, product#1054030, plant#1054031, qty#1054034]
(92) LogicalRDD
Arguments: [shardId#1054035, worklistShardItemId#1054036L, version#1054037, product#1054038, plant#1054039, periodStart#1054040, periodEnd#1054041, qty#1054042], false
(93) RepartitionByExpression
Arguments: [product#1054038, plant#1054039], 37
(94) Project
Arguments: [shardId#1054035, worklistShardItemId#1054036L, version#1054037, product#1054038, plant#1054039, qty#1054042]
(95) LogicalRDD
Arguments: [shardId#1054043, worklistShardItemId#1054044L, qty#1054045, demandChannel#1054046, demandStream#1054047, kpis#1054048], false
(96) Project
Arguments: [shardId#1054043 AS cachedShardId#1054049, worklistShardItemId#1054044L AS cachedWorklistShardItemId#1054050L, qty#1054045 AS cachedQty#1054051, demandChannel#1054046, demandStream#1054047, kpis#1054048 AS cachedKpis#1054052]
(97) Join
Arguments: Inner, (((worklistShardItemId#1054036L = cachedWorklistShardItemId#1054050L) AND (shardId#1054035 = cachedShardId#1054049)) AND ((qty#1054042 = cachedQty#1054051) OR isnull(qty#1054042)))
(98) Project
Arguments: [shardId#1054035, worklistShardItemId#1054036L, version#1054037, product#1054038, plant#1054039]
(99) Deduplicate
Arguments: [plant#1054039, shardId#1054035, version#1054037, worklistShardItemId#1054036L, product#1054038]
(100) LogicalRDD
Arguments: [shardId#1054053, worklistShardItemId#1054054L, qty#1054055, demandChannel#1054056, demandStream#1054057, kpis#1054058], false
(101) Project
Arguments: [shardId#1054053 AS cachedShardId#1054059, worklistShardItemId#1054054L AS cachedWorklistShardItemId#1054060L, qty#1054055 AS cachedQty#1054061, demandChannel#1054056, demandStream#1054057, kpis#1054058 AS cachedKpis#1054062]
(102) Join
Arguments: Inner, ((worklistShardItemId#1054036L = cachedWorklistShardItemId#1054060L) AND (shardId#1054035 = cachedShardId#1054059))
(103) Project
Arguments: [shardId#1054035, worklistShardItemId#1054036L, version#1054037, product#1054038, plant#1054039, cachedQty#1054061 AS qty#1054063, demandChannel#1054056, demandStream#1054057, cachedKpis#1054062 AS kpis#1054064]
(104) Project
Arguments: [shardId#1054035, worklistShardItemId#1054036L, version#1054037, product#1054038, plant#1054039, qty#1054063]
(105) LogicalRDD
Arguments: [shardId#1054065, worklistShardItemId#1054066L, version#1054067, product#1054068, plant#1054069, periodStart#1054070, periodEnd#1054071, qty#1054072], false
(106) RepartitionByExpression
Arguments: [product#1054068, plant#1054069], 37
(107) Project
Arguments: [shardId#1054065, worklistShardItemId#1054066L, version#1054067, product#1054068, plant#1054069, qty#1054072]
(108) LogicalRDD
Arguments: [shardId#1054073, worklistShardItemId#1054074L, qty#1054075, demandChannel#1054076, demandStream#1054077, kpis#1054078], false
(109) Project
Arguments: [shardId#1054073 AS cachedShardId#1054079, worklistShardItemId#1054074L AS cachedWorklistShardItemId#1054080L, qty#1054075 AS cachedQty#1054081, demandChannel#1054076, demandStream#1054077, kpis#1054078 AS cachedKpis#1054082]
(110) Join
Arguments: Inner, (((worklistShardItemId#1054066L = cachedWorklistShardItemId#1054080L) AND (shardId#1054065 = cachedShardId#1054079)) AND isnull(qty#1054072))
(111) Project
Arguments: [shardId#1054065, worklistShardItemId#1054066L, version#1054067, product#1054068, plant#1054069, qty#1054072]
(112) Project
Arguments: [shardId#1054065, worklistShardItemId#1054066L, version#1054067, product#1054068, plant#1054069, qty#1054072]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1054027 <=> shardId#1054035) AND (worklistShardItemId#1054028L <=> worklistShardItemId#1054036L)) AND (version#1054029 <=> version#1054037)) AND (product#1054030 <=> product#1054038)) AND (plant#1054031 <=> plant#1054039)) AND (qty#1054034 <=> qty#1054063))
(115) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, version#1054029, product#1054030, plant#1054031, qty#1054034]
(116) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, version#1054029, product#1054030, plant#1054031, qty#1054034, cast(null as string) AS demandChannel#1054083]
(117) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, version#1054029, product#1054030, plant#1054031, qty#1054034, demandChannel#1054083, cast(null as string) AS demandStream#1054084]
(118) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, version#1054029, product#1054030, plant#1054031, qty#1054034, demandChannel#1054083, demandStream#1054084, array() AS kpis#1054085]
(119) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, version#1054029, product#1054030, plant#1054031, qty#1054034, demandChannel#1054083, demandStream#1054084, kpis#1054085, true AS isNewlyCalculated#1054086]
(120) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, version#1054029, product#1054030, plant#1054031, qty#1054034, demandChannel#1054083, demandStream#1054084, cast(kpis#1054085 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1054087, isNewlyCalculated#1054086]
(121) LogicalRDD
Arguments: [shardId#1054088, worklistShardItemId#1054089L, version#1054090, product#1054091, plant#1054092, periodStart#1054093, periodEnd#1054094, qty#1054095], false
(122) RepartitionByExpression
Arguments: [product#1054091, plant#1054092], 37
(123) Project
Arguments: [shardId#1054088, worklistShardItemId#1054089L, version#1054090, product#1054091, plant#1054092, qty#1054095]
(124) LogicalRDD
Arguments: [shardId#1054096, worklistShardItemId#1054097L, qty#1054098, demandChannel#1054099, demandStream#1054100, kpis#1054101], false
(125) Project
Arguments: [shardId#1054096 AS cachedShardId#1054102, worklistShardItemId#1054097L AS cachedWorklistShardItemId#1054103L, qty#1054098 AS cachedQty#1054104, demandChannel#1054099, demandStream#1054100, kpis#1054101 AS cachedKpis#1054105]
(126) Join
Arguments: Inner, (((worklistShardItemId#1054089L = cachedWorklistShardItemId#1054103L) AND (shardId#1054088 = cachedShardId#1054102)) AND ((qty#1054095 = cachedQty#1054104) OR isnull(qty#1054095)))
(127) Project
Arguments: [shardId#1054088, worklistShardItemId#1054089L, version#1054090, product#1054091, plant#1054092]
(128) Deduplicate
Arguments: [plant#1054092, shardId#1054088, version#1054090, worklistShardItemId#1054089L, product#1054091]
(129) LogicalRDD
Arguments: [shardId#1054106, worklistShardItemId#1054107L, qty#1054108, demandChannel#1054109, demandStream#1054110, kpis#1054111], false
(130) Project
Arguments: [shardId#1054106 AS cachedShardId#1054112, worklistShardItemId#1054107L AS cachedWorklistShardItemId#1054113L, qty#1054108 AS cachedQty#1054114, demandChannel#1054109, demandStream#1054110, kpis#1054111 AS cachedKpis#1054115]
(131) Join
Arguments: Inner, ((worklistShardItemId#1054089L = cachedWorklistShardItemId#1054113L) AND (shardId#1054088 = cachedShardId#1054112))
(132) Project
Arguments: [shardId#1054088, worklistShardItemId#1054089L, version#1054090, product#1054091, plant#1054092, cachedQty#1054114 AS qty#1054116, demandChannel#1054109, demandStream#1054110, cachedKpis#1054115 AS kpis#1054117]
(133) Project
Arguments: [shardId#1054088, worklistShardItemId#1054089L, version#1054090, product#1054091, plant#1054092, qty#1054116, demandChannel#1054109, demandStream#1054110, kpis#1054117, false AS isNewlyCalculated#1054118]
(134) Project
Arguments: [shardId#1054088, worklistShardItemId#1054089L, version#1054090, product#1054091, plant#1054092, qty#1054116, demandChannel#1054109, demandStream#1054110, kpis#1054117, isNewlyCalculated#1054118]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1054086 <=> true)
(137) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, product#1054030, plant#1054031, qty#1054034, kpis#1054087]
(138) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, product#1054030, plant#1054031, qty#1054034]
(139) Deduplicate
Arguments: [plant#1054031, shardId#1054027, qty#1054034, worklistShardItemId#1054028L, product#1054030]
(140) Join
Arguments: Inner, ((product#1053182 <=> product#1054030) AND ((plant#1053183 <=> plant#1054031) AND ((qty#1053209 <=> qty#1054034) OR isnull(qty#1054034))))
(141) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, qty#1053209, demandChannel#1053189, demandStream#1053190, kpis#1053218]
(142) Deduplicate
Arguments: [demandChannel#1053189, shardId#1054027, qty#1053209, worklistShardItemId#1054028L, demandStream#1053190]
(143) Project
Arguments: [shardId#1054027, worklistShardItemId#1054028L, qty#1053209, demandChannel#1053189, demandStream#1053190, kpis#1053218]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121, product#1054122, plant#1054123, periodStart#1054124, periodEnd#1054125, qty#1054126], false
(146) RepartitionByExpression
Arguments: [product#1054122, plant#1054123], 37
(147) Project
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121, product#1054122, plant#1054123, qty#1054126]
(148) LogicalRDD
Arguments: [shardId#1054127, worklistShardItemId#1054128L, version#1054129, product#1054130, plant#1054131, periodStart#1054132, periodEnd#1054133, qty#1054134], false
(149) RepartitionByExpression
Arguments: [product#1054130, plant#1054131], 37
(150) Project
Arguments: [shardId#1054127, worklistShardItemId#1054128L, version#1054129, product#1054130, plant#1054131, qty#1054134]
(151) LogicalRDD
Arguments: [shardId#1054135, worklistShardItemId#1054136L, qty#1054137, demandChannel#1054138, demandStream#1054139, kpis#1054140], false
(152) Project
Arguments: [shardId#1054135 AS cachedShardId#1054141, worklistShardItemId#1054136L AS cachedWorklistShardItemId#1054142L, qty#1054137 AS cachedQty#1054143, demandChannel#1054138, demandStream#1054139, kpis#1054140 AS cachedKpis#1054144]
(153) Join
Arguments: Inner, (((worklistShardItemId#1054128L = cachedWorklistShardItemId#1054142L) AND (shardId#1054127 = cachedShardId#1054141)) AND ((qty#1054134 = cachedQty#1054143) OR isnull(qty#1054134)))
(154) Project
Arguments: [shardId#1054127, worklistShardItemId#1054128L, version#1054129, product#1054130, plant#1054131]
(155) Deduplicate
Arguments: [plant#1054131, shardId#1054127, version#1054129, worklistShardItemId#1054128L, product#1054130]
(156) LogicalRDD
Arguments: [shardId#1054145, worklistShardItemId#1054146L, qty#1054147, demandChannel#1054148, demandStream#1054149, kpis#1054150], false
(157) Project
Arguments: [shardId#1054145 AS cachedShardId#1054151, worklistShardItemId#1054146L AS cachedWorklistShardItemId#1054152L, qty#1054147 AS cachedQty#1054153, demandChannel#1054148, demandStream#1054149, kpis#1054150 AS cachedKpis#1054154]
(158) Join
Arguments: Inner, ((worklistShardItemId#1054128L = cachedWorklistShardItemId#1054152L) AND (shardId#1054127 = cachedShardId#1054151))
(159) Project
Arguments: [shardId#1054127, worklistShardItemId#1054128L, version#1054129, product#1054130, plant#1054131, cachedQty#1054153 AS qty#1054155, demandChannel#1054148, demandStream#1054149, cachedKpis#1054154 AS kpis#1054156]
(160) Project
Arguments: [shardId#1054127, worklistShardItemId#1054128L, version#1054129, product#1054130, plant#1054131, qty#1054155]
(161) LogicalRDD
Arguments: [shardId#1054157, worklistShardItemId#1054158L, version#1054159, product#1054160, plant#1054161, periodStart#1054162, periodEnd#1054163, qty#1054164], false
(162) RepartitionByExpression
Arguments: [product#1054160, plant#1054161], 37
(163) Project
Arguments: [shardId#1054157, worklistShardItemId#1054158L, version#1054159, product#1054160, plant#1054161, qty#1054164]
(164) LogicalRDD
Arguments: [shardId#1054165, worklistShardItemId#1054166L, qty#1054167, demandChannel#1054168, demandStream#1054169, kpis#1054170], false
(165) Project
Arguments: [shardId#1054165 AS cachedShardId#1054171, worklistShardItemId#1054166L AS cachedWorklistShardItemId#1054172L, qty#1054167 AS cachedQty#1054173, demandChannel#1054168, demandStream#1054169, kpis#1054170 AS cachedKpis#1054174]
(166) Join
Arguments: Inner, (((worklistShardItemId#1054158L = cachedWorklistShardItemId#1054172L) AND (shardId#1054157 = cachedShardId#1054171)) AND isnull(qty#1054164))
(167) Project
Arguments: [shardId#1054157, worklistShardItemId#1054158L, version#1054159, product#1054160, plant#1054161, qty#1054164]
(168) Project
Arguments: [shardId#1054157, worklistShardItemId#1054158L, version#1054159, product#1054160, plant#1054161, qty#1054164]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1054119 <=> shardId#1054127) AND (worklistShardItemId#1054120L <=> worklistShardItemId#1054128L)) AND (version#1054121 <=> version#1054129)) AND (product#1054122 <=> product#1054130)) AND (plant#1054123 <=> plant#1054131)) AND (qty#1054126 <=> qty#1054155))
(171) Project
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121, product#1054122, plant#1054123, qty#1054126]
(172) Project
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121, product#1054122, plant#1054123, qty#1054126, cast(null as string) AS demandChannel#1054175]
(173) Project
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121, product#1054122, plant#1054123, qty#1054126, demandChannel#1054175, cast(null as string) AS demandStream#1054176]
(174) Project
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121, product#1054122, plant#1054123, qty#1054126, demandChannel#1054175, demandStream#1054176, array() AS kpis#1054177]
(175) Project
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121, product#1054122, plant#1054123, qty#1054126, demandChannel#1054175, demandStream#1054176, kpis#1054177, true AS isNewlyCalculated#1054178]
(176) Project
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121, product#1054122, plant#1054123, qty#1054126, demandChannel#1054175, demandStream#1054176, cast(kpis#1054177 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1054179, isNewlyCalculated#1054178]
(177) LogicalRDD
Arguments: [shardId#1054180, worklistShardItemId#1054181L, version#1054182, product#1054183, plant#1054184, periodStart#1054185, periodEnd#1054186, qty#1054187], false
(178) RepartitionByExpression
Arguments: [product#1054183, plant#1054184], 37
(179) Project
Arguments: [shardId#1054180, worklistShardItemId#1054181L, version#1054182, product#1054183, plant#1054184, qty#1054187]
(180) LogicalRDD
Arguments: [shardId#1054188, worklistShardItemId#1054189L, qty#1054190, demandChannel#1054191, demandStream#1054192, kpis#1054193], false
(181) Project
Arguments: [shardId#1054188 AS cachedShardId#1054194, worklistShardItemId#1054189L AS cachedWorklistShardItemId#1054195L, qty#1054190 AS cachedQty#1054196, demandChannel#1054191, demandStream#1054192, kpis#1054193 AS cachedKpis#1054197]
(182) Join
Arguments: Inner, (((worklistShardItemId#1054181L = cachedWorklistShardItemId#1054195L) AND (shardId#1054180 = cachedShardId#1054194)) AND ((qty#1054187 = cachedQty#1054196) OR isnull(qty#1054187)))
(183) Project
Arguments: [shardId#1054180, worklistShardItemId#1054181L, version#1054182, product#1054183, plant#1054184]
(184) Deduplicate
Arguments: [plant#1054184, shardId#1054180, version#1054182, worklistShardItemId#1054181L, product#1054183]
(185) LogicalRDD
Arguments: [shardId#1054198, worklistShardItemId#1054199L, qty#1054200, demandChannel#1054201, demandStream#1054202, kpis#1054203], false
(186) Project
Arguments: [shardId#1054198 AS cachedShardId#1054204, worklistShardItemId#1054199L AS cachedWorklistShardItemId#1054205L, qty#1054200 AS cachedQty#1054206, demandChannel#1054201, demandStream#1054202, kpis#1054203 AS cachedKpis#1054207]
(187) Join
Arguments: Inner, ((worklistShardItemId#1054181L = cachedWorklistShardItemId#1054205L) AND (shardId#1054180 = cachedShardId#1054204))
(188) Project
Arguments: [shardId#1054180, worklistShardItemId#1054181L, version#1054182, product#1054183, plant#1054184, cachedQty#1054206 AS qty#1054208, demandChannel#1054201, demandStream#1054202, cachedKpis#1054207 AS kpis#1054209]
(189) Project
Arguments: [shardId#1054180, worklistShardItemId#1054181L, version#1054182, product#1054183, plant#1054184, qty#1054208, demandChannel#1054201, demandStream#1054202, kpis#1054209, false AS isNewlyCalculated#1054210]
(190) Project
Arguments: [shardId#1054180, worklistShardItemId#1054181L, version#1054182, product#1054183, plant#1054184, qty#1054208, demandChannel#1054201, demandStream#1054202, kpis#1054209, isNewlyCalculated#1054210]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1054119, worklistShardItemId#1054120L, version#1054121]
(193) Aggregate
Arguments: [shardId#1054119, worklistShardItemId#1054120L], [shardId#1054119, worklistShardItemId#1054120L, (max(version#1054121) + 1) AS version#1054022]
(194) Join
Arguments: Inner, ((shardId#1011815 = shardId#1054119) AND (worklistShardItemId#1011816L = worklistShardItemId#1054120L))
(195) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1050653, demandStream#1050654, kpis#1050688, version#1054022]
(196) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1054022, qty#1011822, demandChannel#1050653, demandStream#1050654, kpis#1050688]