== 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@494b26c3, [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#1022687, worklistShardItemId#1022688L, version#1022689, product#1022690, plant#1022691, periodStart#1022692, periodEnd#1022693, qty#1022694], false
(7) RepartitionByExpression
Arguments: [product#1022690, plant#1022691], 37
(8) Project
Arguments: [shardId#1022687, worklistShardItemId#1022688L, version#1022689, product#1022690, plant#1022691, qty#1022694]
(9) LogicalRDD
Arguments: [shardId#1022442, worklistShardItemId#1022443L, qty#1022444, demandChannel#1022445, demandStream#1022446, kpis#1022447], false
(10) Project
Arguments: [shardId#1022442 AS cachedShardId#1022448, worklistShardItemId#1022443L AS cachedWorklistShardItemId#1022449L, qty#1022444 AS cachedQty#1022450, demandChannel#1022445, demandStream#1022446, kpis#1022447 AS cachedKpis#1022451]
(11) Join
Arguments: Inner, (((worklistShardItemId#1022688L = cachedWorklistShardItemId#1022449L) AND (shardId#1022687 = cachedShardId#1022448)) AND ((qty#1022694 = cachedQty#1022450) OR isnull(qty#1022694)))
(12) Project
Arguments: [shardId#1022687, worklistShardItemId#1022688L, version#1022689, product#1022690, plant#1022691]
(13) Deduplicate
Arguments: [plant#1022691, shardId#1022687, version#1022689, worklistShardItemId#1022688L, product#1022690]
(14) LogicalRDD
Arguments: [shardId#1022452, worklistShardItemId#1022453L, qty#1022454, demandChannel#1022455, demandStream#1022456, kpis#1022457], false
(15) Project
Arguments: [shardId#1022452 AS cachedShardId#1022458, worklistShardItemId#1022453L AS cachedWorklistShardItemId#1022459L, qty#1022454 AS cachedQty#1022460, demandChannel#1022455, demandStream#1022456, kpis#1022457 AS cachedKpis#1022461]
(16) Join
Arguments: Inner, ((worklistShardItemId#1022688L = cachedWorklistShardItemId#1022459L) AND (shardId#1022687 = cachedShardId#1022458))
(17) Project
Arguments: [shardId#1022687, worklistShardItemId#1022688L, version#1022689, product#1022690, plant#1022691, cachedQty#1022460 AS qty#1022462, demandChannel#1022455, demandStream#1022456, cachedKpis#1022461 AS kpis#1022463]
(18) Project
Arguments: [shardId#1022687, worklistShardItemId#1022688L, version#1022689, product#1022690, plant#1022691, qty#1022462]
(19) LogicalRDD
Arguments: [shardId#1022669, worklistShardItemId#1022670L, version#1022671, product#1022672, plant#1022673, periodStart#1022674, periodEnd#1022675, qty#1022676], false
(20) RepartitionByExpression
Arguments: [product#1022672, plant#1022673], 37
(21) Project
Arguments: [shardId#1022669, worklistShardItemId#1022670L, version#1022671, product#1022672, plant#1022673, qty#1022676]
(22) LogicalRDD
Arguments: [shardId#1022677, worklistShardItemId#1022678L, qty#1022679, demandChannel#1022680, demandStream#1022681, kpis#1022682], false
(23) Project
Arguments: [shardId#1022677 AS cachedShardId#1022683, worklistShardItemId#1022678L AS cachedWorklistShardItemId#1022684L, qty#1022679 AS cachedQty#1022685, demandChannel#1022680, demandStream#1022681, kpis#1022682 AS cachedKpis#1022686]
(24) Join
Arguments: Inner, (((worklistShardItemId#1022670L = cachedWorklistShardItemId#1022684L) AND (shardId#1022669 = cachedShardId#1022683)) AND isnull(qty#1022676))
(25) Project
Arguments: [shardId#1022669, worklistShardItemId#1022670L, version#1022671, product#1022672, plant#1022673, qty#1022676]
(26) Project
Arguments: [shardId#1022669, worklistShardItemId#1022670L, version#1022671, product#1022672, plant#1022673, qty#1022676]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1011815 <=> shardId#1022687) AND (worklistShardItemId#1011816L <=> worklistShardItemId#1022688L)) AND (version#1011817 <=> version#1022689)) AND (product#1011818 <=> product#1022690)) AND (plant#1011819 <=> plant#1022691)) AND (qty#1011822 <=> qty#1022462))
(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#1022695]
(31) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1022695, cast(null as string) AS demandStream#1022696]
(32) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1022695, demandStream#1022696, array() AS kpis#1022697]
(33) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1022695, demandStream#1022696, kpis#1022697, true AS isNewlyCalculated#1022698]
(34) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1022695, demandStream#1022696, cast(kpis#1022697 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1022730, isNewlyCalculated#1022698]
(35) LogicalRDD
Arguments: [shardId#1022700, worklistShardItemId#1022701L, version#1022702, product#1022703, plant#1022704, periodStart#1022705, periodEnd#1022706, qty#1022707], false
(36) RepartitionByExpression
Arguments: [product#1022703, plant#1022704], 37
(37) Project
Arguments: [shardId#1022700, worklistShardItemId#1022701L, version#1022702, product#1022703, plant#1022704, qty#1022707]
(38) LogicalRDD
Arguments: [shardId#1022708, worklistShardItemId#1022709L, qty#1022710, demandChannel#1022711, demandStream#1022712, kpis#1022713], false
(39) Project
Arguments: [shardId#1022708 AS cachedShardId#1022714, worklistShardItemId#1022709L AS cachedWorklistShardItemId#1022715L, qty#1022710 AS cachedQty#1022716, demandChannel#1022711, demandStream#1022712, kpis#1022713 AS cachedKpis#1022717]
(40) Join
Arguments: Inner, (((worklistShardItemId#1022701L = cachedWorklistShardItemId#1022715L) AND (shardId#1022700 = cachedShardId#1022714)) AND ((qty#1022707 = cachedQty#1022716) OR isnull(qty#1022707)))
(41) Project
Arguments: [shardId#1022700, worklistShardItemId#1022701L, version#1022702, product#1022703, plant#1022704]
(42) Deduplicate
Arguments: [plant#1022704, shardId#1022700, version#1022702, worklistShardItemId#1022701L, product#1022703]
(43) LogicalRDD
Arguments: [shardId#1022718, worklistShardItemId#1022719L, qty#1022720, demandChannel#1022721, demandStream#1022722, kpis#1022723], false
(44) Project
Arguments: [shardId#1022718 AS cachedShardId#1022724, worklistShardItemId#1022719L AS cachedWorklistShardItemId#1022725L, qty#1022720 AS cachedQty#1022726, demandChannel#1022721, demandStream#1022722, kpis#1022723 AS cachedKpis#1022727]
(45) Join
Arguments: Inner, ((worklistShardItemId#1022701L = cachedWorklistShardItemId#1022725L) AND (shardId#1022700 = cachedShardId#1022724))
(46) Project
Arguments: [shardId#1022700, worklistShardItemId#1022701L, version#1022702, product#1022703, plant#1022704, cachedQty#1022726 AS qty#1022728, demandChannel#1022721, demandStream#1022722, cachedKpis#1022727 AS kpis#1022729]
(47) Project
Arguments: [shardId#1022700, worklistShardItemId#1022701L, version#1022702, product#1022703, plant#1022704, qty#1022728, demandChannel#1022721, demandStream#1022722, kpis#1022729, false AS isNewlyCalculated#1022699]
(48) Project
Arguments: [shardId#1022700, worklistShardItemId#1022701L, version#1022702, product#1022703, plant#1022704, qty#1022728, demandChannel#1022721, demandStream#1022722, kpis#1022729, isNewlyCalculated#1022699]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1022698 <=> false)
(51) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1022695, demandStream#1022696, kpis#1022730]
(52) ExternalRDD
Arguments: [obj#1025362]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81782), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81782), 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, 81782), 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, 81782), 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, 81782), 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, 81782), 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#1025365, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81783), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81783), 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, 81784), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81784), 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, 81784), 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, 81784), 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, 81785), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81785), 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, 81785), 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, 81785), 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, 81785), 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, 81784), 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, 81783), 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, 81786), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81786), 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, 81786), 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, 81786), 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, 81786), 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, 81783), 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, 81783), 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, 81783), 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, 81787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81787), 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, 81788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81788), 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, 81788), 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, 81788), 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, 81788), 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, 81787), 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, 81787), 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, 81783), 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#1025366]
(54) Generate
Arguments: explode(prodPlantResults#1025366), false, [prodPlantResults#1025373]
(55) Project
Arguments: [prodPlantResults#1025373]
(56) Project
Arguments: [prodPlantResults#1025373.productId AS product#1025392, prodPlantResults#1025373.plantId AS plant#1025393, prodPlantResults#1025373.kpiResults AS kpis#1025394]
(57) Project
Arguments: [product#1025392, plant#1025393, kpis#1025394, null AS qty#1025398]
(58) Project
Arguments: [product#1025392, plant#1025393, kpis#1025394, qty#1025398, cast(null as string) AS demandChannel#1025399]
(59) Project
Arguments: [product#1025392, plant#1025393, kpis#1025394, qty#1025398, demandChannel#1025399, cast(null as string) AS demandStream#1025400]
(60) Project
Arguments: [product#1025392, plant#1025393, kpis#1025394, cast(qty#1025398 as double) AS qty#1025419, demandChannel#1025399, demandStream#1025400]
(61) ExternalRDD
Arguments: [obj#1025415]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81782), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81782), 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, 81782), 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, 81782), 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, 81782), 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, 81782), 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#1025416, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81783), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81783), 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, 81784), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81784), 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, 81784), 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, 81784), 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, 81785), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81785), 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, 81785), 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, 81785), 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, 81785), 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, 81784), 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, 81783), 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, 81786), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81786), 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, 81786), 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, 81786), 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, 81786), 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, 81783), 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, 81783), 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, 81783), 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, 81787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81787), 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, 81788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81788), 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, 81788), 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, 81788), 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, 81788), 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, 81787), 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, 81787), 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, 81783), 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#1025417]
(63) Generate
Arguments: explode(prodPlantResults#1025417), false, [prodPlantResults#1025418]
(64) Project
Arguments: [prodPlantResults#1025418]
(65) Generate
Arguments: explode(prodPlantResults#1025418.quantityKpiResults), false, [quantityKpiResults#1025385]
(66) Project
Arguments: [prodPlantResults#1025418.productId AS product#1025379, prodPlantResults#1025418.plantId AS plant#1025380, quantityKpiResults#1025385]
(67) Project
Arguments: [product#1025379, plant#1025380, quantityKpiResults#1025385, quantityKpiResults#1025385.quantity AS qty#1025386]
(68) Project
Arguments: [product#1025379, plant#1025380, quantityKpiResults#1025385, qty#1025386, cast(null as string) AS demandChannel#1025388]
(69) Project
Arguments: [product#1025379, plant#1025380, quantityKpiResults#1025385, qty#1025386, demandChannel#1025388, cast(null as string) AS demandStream#1025389]
(70) Project
Arguments: [product#1025379, plant#1025380, quantityKpiResults#1025385, qty#1025386, demandChannel#1025388, demandStream#1025389, quantityKpiResults#1025385.kpiResults AS kpis#1025390]
(71) Project
Arguments: [product#1025379, plant#1025380, qty#1025386, demandChannel#1025388, demandStream#1025389, kpis#1025390]
(72) Project
Arguments: [product#1025379, plant#1025380, kpis#1025390, qty#1025386, demandChannel#1025388, demandStream#1025389]
(73) ExternalRDD
Arguments: [obj#1025420]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81782), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81782), 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, 81782), 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, 81782), 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, 81782), 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, 81782), 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#1025421, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81783), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81783), 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, 81784), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81784), 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, 81784), 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, 81784), 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, 81785), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81785), 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, 81785), 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, 81785), 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, 81785), 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, 81784), 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, 81783), 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, 81786), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81786), 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, 81786), 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, 81786), 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, 81786), 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, 81783), 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, 81783), 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, 81783), 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, 81787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81787), 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, 81788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 81788), 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, 81788), 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, 81788), 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, 81788), 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, 81787), 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, 81787), 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, 81783), 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#1025422]
(75) Generate
Arguments: explode(prodPlantResults#1025422), false, [prodPlantResults#1025423]
(76) Project
Arguments: [prodPlantResults#1025423]
(77) Generate
Arguments: explode(prodPlantResults#1025423.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1025407]
(78) Project
Arguments: [prodPlantResults#1025423.productId AS product#1025401, prodPlantResults#1025423.plantId AS plant#1025402, demandChannelStreamKpiResults#1025407]
(79) Project
Arguments: [product#1025401, plant#1025402, demandChannelStreamKpiResults#1025407, null AS qty#1025408]
(80) Project
Arguments: [product#1025401, plant#1025402, demandChannelStreamKpiResults#1025407, qty#1025408, demandChannelStreamKpiResults#1025407.demandChannel AS demandChannel#1025409]
(81) Project
Arguments: [product#1025401, plant#1025402, demandChannelStreamKpiResults#1025407, qty#1025408, demandChannel#1025409, demandChannelStreamKpiResults#1025407.demandStream AS demandStream#1025411]
(82) Project
Arguments: [product#1025401, plant#1025402, demandChannelStreamKpiResults#1025407, qty#1025408, demandChannel#1025409, demandStream#1025411, demandChannelStreamKpiResults#1025407.kpiResults AS kpis#1025413]
(83) Project
Arguments: [product#1025401, plant#1025402, qty#1025408, demandChannel#1025409, demandStream#1025411, kpis#1025413]
(84) Project
Arguments: [product#1025401, plant#1025402, kpis#1025413, qty#1025408, demandChannel#1025409, demandStream#1025411]
(85) Project
Arguments: [product#1025401, plant#1025402, kpis#1025413, cast(qty#1025408 as double) AS qty#1025424, demandChannel#1025409, demandStream#1025411]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1025392, plant#1025393, transform(kpis#1025394, lambdafunction(struct(label, lambda kpi#1025429.label, dateTime, lambda kpi#1025429.datetime, value, lambda kpi#1025429.value), lambda kpi#1025429, false)) AS kpis#1025428, qty#1025419, demandChannel#1025399, demandStream#1025400]
(88) Project
Arguments: [product#1025392, plant#1025393, qty#1025419, demandChannel#1025399, demandStream#1025400, kpis#1025428]
(89) LogicalRDD
Arguments: [shardId#1026237, worklistShardItemId#1026238L, version#1026239, product#1026240, plant#1026241, periodStart#1026242, periodEnd#1026243, qty#1026244], false
(90) RepartitionByExpression
Arguments: [product#1026240, plant#1026241], 37
(91) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, version#1026239, product#1026240, plant#1026241, qty#1026244]
(92) LogicalRDD
Arguments: [shardId#1026245, worklistShardItemId#1026246L, version#1026247, product#1026248, plant#1026249, periodStart#1026250, periodEnd#1026251, qty#1026252], false
(93) RepartitionByExpression
Arguments: [product#1026248, plant#1026249], 37
(94) Project
Arguments: [shardId#1026245, worklistShardItemId#1026246L, version#1026247, product#1026248, plant#1026249, qty#1026252]
(95) LogicalRDD
Arguments: [shardId#1026253, worklistShardItemId#1026254L, qty#1026255, demandChannel#1026256, demandStream#1026257, kpis#1026258], false
(96) Project
Arguments: [shardId#1026253 AS cachedShardId#1026259, worklistShardItemId#1026254L AS cachedWorklistShardItemId#1026260L, qty#1026255 AS cachedQty#1026261, demandChannel#1026256, demandStream#1026257, kpis#1026258 AS cachedKpis#1026262]
(97) Join
Arguments: Inner, (((worklistShardItemId#1026246L = cachedWorklistShardItemId#1026260L) AND (shardId#1026245 = cachedShardId#1026259)) AND ((qty#1026252 = cachedQty#1026261) OR isnull(qty#1026252)))
(98) Project
Arguments: [shardId#1026245, worklistShardItemId#1026246L, version#1026247, product#1026248, plant#1026249]
(99) Deduplicate
Arguments: [plant#1026249, shardId#1026245, version#1026247, worklistShardItemId#1026246L, product#1026248]
(100) LogicalRDD
Arguments: [shardId#1026263, worklistShardItemId#1026264L, qty#1026265, demandChannel#1026266, demandStream#1026267, kpis#1026268], false
(101) Project
Arguments: [shardId#1026263 AS cachedShardId#1026269, worklistShardItemId#1026264L AS cachedWorklistShardItemId#1026270L, qty#1026265 AS cachedQty#1026271, demandChannel#1026266, demandStream#1026267, kpis#1026268 AS cachedKpis#1026272]
(102) Join
Arguments: Inner, ((worklistShardItemId#1026246L = cachedWorklistShardItemId#1026270L) AND (shardId#1026245 = cachedShardId#1026269))
(103) Project
Arguments: [shardId#1026245, worklistShardItemId#1026246L, version#1026247, product#1026248, plant#1026249, cachedQty#1026271 AS qty#1026273, demandChannel#1026266, demandStream#1026267, cachedKpis#1026272 AS kpis#1026274]
(104) Project
Arguments: [shardId#1026245, worklistShardItemId#1026246L, version#1026247, product#1026248, plant#1026249, qty#1026273]
(105) LogicalRDD
Arguments: [shardId#1026275, worklistShardItemId#1026276L, version#1026277, product#1026278, plant#1026279, periodStart#1026280, periodEnd#1026281, qty#1026282], false
(106) RepartitionByExpression
Arguments: [product#1026278, plant#1026279], 37
(107) Project
Arguments: [shardId#1026275, worklistShardItemId#1026276L, version#1026277, product#1026278, plant#1026279, qty#1026282]
(108) LogicalRDD
Arguments: [shardId#1026283, worklistShardItemId#1026284L, qty#1026285, demandChannel#1026286, demandStream#1026287, kpis#1026288], false
(109) Project
Arguments: [shardId#1026283 AS cachedShardId#1026289, worklistShardItemId#1026284L AS cachedWorklistShardItemId#1026290L, qty#1026285 AS cachedQty#1026291, demandChannel#1026286, demandStream#1026287, kpis#1026288 AS cachedKpis#1026292]
(110) Join
Arguments: Inner, (((worklistShardItemId#1026276L = cachedWorklistShardItemId#1026290L) AND (shardId#1026275 = cachedShardId#1026289)) AND isnull(qty#1026282))
(111) Project
Arguments: [shardId#1026275, worklistShardItemId#1026276L, version#1026277, product#1026278, plant#1026279, qty#1026282]
(112) Project
Arguments: [shardId#1026275, worklistShardItemId#1026276L, version#1026277, product#1026278, plant#1026279, qty#1026282]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1026237 <=> shardId#1026245) AND (worklistShardItemId#1026238L <=> worklistShardItemId#1026246L)) AND (version#1026239 <=> version#1026247)) AND (product#1026240 <=> product#1026248)) AND (plant#1026241 <=> plant#1026249)) AND (qty#1026244 <=> qty#1026273))
(115) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, version#1026239, product#1026240, plant#1026241, qty#1026244]
(116) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, version#1026239, product#1026240, plant#1026241, qty#1026244, cast(null as string) AS demandChannel#1026293]
(117) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, version#1026239, product#1026240, plant#1026241, qty#1026244, demandChannel#1026293, cast(null as string) AS demandStream#1026294]
(118) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, version#1026239, product#1026240, plant#1026241, qty#1026244, demandChannel#1026293, demandStream#1026294, array() AS kpis#1026295]
(119) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, version#1026239, product#1026240, plant#1026241, qty#1026244, demandChannel#1026293, demandStream#1026294, kpis#1026295, true AS isNewlyCalculated#1026296]
(120) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, version#1026239, product#1026240, plant#1026241, qty#1026244, demandChannel#1026293, demandStream#1026294, cast(kpis#1026295 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1026297, isNewlyCalculated#1026296]
(121) LogicalRDD
Arguments: [shardId#1026298, worklistShardItemId#1026299L, version#1026300, product#1026301, plant#1026302, periodStart#1026303, periodEnd#1026304, qty#1026305], false
(122) RepartitionByExpression
Arguments: [product#1026301, plant#1026302], 37
(123) Project
Arguments: [shardId#1026298, worklistShardItemId#1026299L, version#1026300, product#1026301, plant#1026302, qty#1026305]
(124) LogicalRDD
Arguments: [shardId#1026306, worklistShardItemId#1026307L, qty#1026308, demandChannel#1026309, demandStream#1026310, kpis#1026311], false
(125) Project
Arguments: [shardId#1026306 AS cachedShardId#1026312, worklistShardItemId#1026307L AS cachedWorklistShardItemId#1026313L, qty#1026308 AS cachedQty#1026314, demandChannel#1026309, demandStream#1026310, kpis#1026311 AS cachedKpis#1026315]
(126) Join
Arguments: Inner, (((worklistShardItemId#1026299L = cachedWorklistShardItemId#1026313L) AND (shardId#1026298 = cachedShardId#1026312)) AND ((qty#1026305 = cachedQty#1026314) OR isnull(qty#1026305)))
(127) Project
Arguments: [shardId#1026298, worklistShardItemId#1026299L, version#1026300, product#1026301, plant#1026302]
(128) Deduplicate
Arguments: [plant#1026302, shardId#1026298, version#1026300, worklistShardItemId#1026299L, product#1026301]
(129) LogicalRDD
Arguments: [shardId#1026316, worklistShardItemId#1026317L, qty#1026318, demandChannel#1026319, demandStream#1026320, kpis#1026321], false
(130) Project
Arguments: [shardId#1026316 AS cachedShardId#1026322, worklistShardItemId#1026317L AS cachedWorklistShardItemId#1026323L, qty#1026318 AS cachedQty#1026324, demandChannel#1026319, demandStream#1026320, kpis#1026321 AS cachedKpis#1026325]
(131) Join
Arguments: Inner, ((worklistShardItemId#1026299L = cachedWorklistShardItemId#1026323L) AND (shardId#1026298 = cachedShardId#1026322))
(132) Project
Arguments: [shardId#1026298, worklistShardItemId#1026299L, version#1026300, product#1026301, plant#1026302, cachedQty#1026324 AS qty#1026326, demandChannel#1026319, demandStream#1026320, cachedKpis#1026325 AS kpis#1026327]
(133) Project
Arguments: [shardId#1026298, worklistShardItemId#1026299L, version#1026300, product#1026301, plant#1026302, qty#1026326, demandChannel#1026319, demandStream#1026320, kpis#1026327, false AS isNewlyCalculated#1026328]
(134) Project
Arguments: [shardId#1026298, worklistShardItemId#1026299L, version#1026300, product#1026301, plant#1026302, qty#1026326, demandChannel#1026319, demandStream#1026320, kpis#1026327, isNewlyCalculated#1026328]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1026296 <=> true)
(137) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, product#1026240, plant#1026241, qty#1026244, kpis#1026297]
(138) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, product#1026240, plant#1026241, qty#1026244]
(139) Deduplicate
Arguments: [plant#1026241, shardId#1026237, qty#1026244, worklistShardItemId#1026238L, product#1026240]
(140) Join
Arguments: Inner, ((product#1025392 <=> product#1026240) AND ((plant#1025393 <=> plant#1026241) AND ((qty#1025419 <=> qty#1026244) OR isnull(qty#1026244))))
(141) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, qty#1025419, demandChannel#1025399, demandStream#1025400, kpis#1025428]
(142) Deduplicate
Arguments: [demandChannel#1025399, shardId#1026237, qty#1025419, worklistShardItemId#1026238L, demandStream#1025400]
(143) Project
Arguments: [shardId#1026237, worklistShardItemId#1026238L, qty#1025419, demandChannel#1025399, demandStream#1025400, kpis#1025428]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331, product#1026332, plant#1026333, periodStart#1026334, periodEnd#1026335, qty#1026336], false
(146) RepartitionByExpression
Arguments: [product#1026332, plant#1026333], 37
(147) Project
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331, product#1026332, plant#1026333, qty#1026336]
(148) LogicalRDD
Arguments: [shardId#1026337, worklistShardItemId#1026338L, version#1026339, product#1026340, plant#1026341, periodStart#1026342, periodEnd#1026343, qty#1026344], false
(149) RepartitionByExpression
Arguments: [product#1026340, plant#1026341], 37
(150) Project
Arguments: [shardId#1026337, worklistShardItemId#1026338L, version#1026339, product#1026340, plant#1026341, qty#1026344]
(151) LogicalRDD
Arguments: [shardId#1026345, worklistShardItemId#1026346L, qty#1026347, demandChannel#1026348, demandStream#1026349, kpis#1026350], false
(152) Project
Arguments: [shardId#1026345 AS cachedShardId#1026351, worklistShardItemId#1026346L AS cachedWorklistShardItemId#1026352L, qty#1026347 AS cachedQty#1026353, demandChannel#1026348, demandStream#1026349, kpis#1026350 AS cachedKpis#1026354]
(153) Join
Arguments: Inner, (((worklistShardItemId#1026338L = cachedWorklistShardItemId#1026352L) AND (shardId#1026337 = cachedShardId#1026351)) AND ((qty#1026344 = cachedQty#1026353) OR isnull(qty#1026344)))
(154) Project
Arguments: [shardId#1026337, worklistShardItemId#1026338L, version#1026339, product#1026340, plant#1026341]
(155) Deduplicate
Arguments: [plant#1026341, shardId#1026337, version#1026339, worklistShardItemId#1026338L, product#1026340]
(156) LogicalRDD
Arguments: [shardId#1026355, worklistShardItemId#1026356L, qty#1026357, demandChannel#1026358, demandStream#1026359, kpis#1026360], false
(157) Project
Arguments: [shardId#1026355 AS cachedShardId#1026361, worklistShardItemId#1026356L AS cachedWorklistShardItemId#1026362L, qty#1026357 AS cachedQty#1026363, demandChannel#1026358, demandStream#1026359, kpis#1026360 AS cachedKpis#1026364]
(158) Join
Arguments: Inner, ((worklistShardItemId#1026338L = cachedWorklistShardItemId#1026362L) AND (shardId#1026337 = cachedShardId#1026361))
(159) Project
Arguments: [shardId#1026337, worklistShardItemId#1026338L, version#1026339, product#1026340, plant#1026341, cachedQty#1026363 AS qty#1026365, demandChannel#1026358, demandStream#1026359, cachedKpis#1026364 AS kpis#1026366]
(160) Project
Arguments: [shardId#1026337, worklistShardItemId#1026338L, version#1026339, product#1026340, plant#1026341, qty#1026365]
(161) LogicalRDD
Arguments: [shardId#1026367, worklistShardItemId#1026368L, version#1026369, product#1026370, plant#1026371, periodStart#1026372, periodEnd#1026373, qty#1026374], false
(162) RepartitionByExpression
Arguments: [product#1026370, plant#1026371], 37
(163) Project
Arguments: [shardId#1026367, worklistShardItemId#1026368L, version#1026369, product#1026370, plant#1026371, qty#1026374]
(164) LogicalRDD
Arguments: [shardId#1026375, worklistShardItemId#1026376L, qty#1026377, demandChannel#1026378, demandStream#1026379, kpis#1026380], false
(165) Project
Arguments: [shardId#1026375 AS cachedShardId#1026381, worklistShardItemId#1026376L AS cachedWorklistShardItemId#1026382L, qty#1026377 AS cachedQty#1026383, demandChannel#1026378, demandStream#1026379, kpis#1026380 AS cachedKpis#1026384]
(166) Join
Arguments: Inner, (((worklistShardItemId#1026368L = cachedWorklistShardItemId#1026382L) AND (shardId#1026367 = cachedShardId#1026381)) AND isnull(qty#1026374))
(167) Project
Arguments: [shardId#1026367, worklistShardItemId#1026368L, version#1026369, product#1026370, plant#1026371, qty#1026374]
(168) Project
Arguments: [shardId#1026367, worklistShardItemId#1026368L, version#1026369, product#1026370, plant#1026371, qty#1026374]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1026329 <=> shardId#1026337) AND (worklistShardItemId#1026330L <=> worklistShardItemId#1026338L)) AND (version#1026331 <=> version#1026339)) AND (product#1026332 <=> product#1026340)) AND (plant#1026333 <=> plant#1026341)) AND (qty#1026336 <=> qty#1026365))
(171) Project
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331, product#1026332, plant#1026333, qty#1026336]
(172) Project
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331, product#1026332, plant#1026333, qty#1026336, cast(null as string) AS demandChannel#1026385]
(173) Project
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331, product#1026332, plant#1026333, qty#1026336, demandChannel#1026385, cast(null as string) AS demandStream#1026386]
(174) Project
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331, product#1026332, plant#1026333, qty#1026336, demandChannel#1026385, demandStream#1026386, array() AS kpis#1026387]
(175) Project
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331, product#1026332, plant#1026333, qty#1026336, demandChannel#1026385, demandStream#1026386, kpis#1026387, true AS isNewlyCalculated#1026388]
(176) Project
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331, product#1026332, plant#1026333, qty#1026336, demandChannel#1026385, demandStream#1026386, cast(kpis#1026387 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1026389, isNewlyCalculated#1026388]
(177) LogicalRDD
Arguments: [shardId#1026390, worklistShardItemId#1026391L, version#1026392, product#1026393, plant#1026394, periodStart#1026395, periodEnd#1026396, qty#1026397], false
(178) RepartitionByExpression
Arguments: [product#1026393, plant#1026394], 37
(179) Project
Arguments: [shardId#1026390, worklistShardItemId#1026391L, version#1026392, product#1026393, plant#1026394, qty#1026397]
(180) LogicalRDD
Arguments: [shardId#1026398, worklistShardItemId#1026399L, qty#1026400, demandChannel#1026401, demandStream#1026402, kpis#1026403], false
(181) Project
Arguments: [shardId#1026398 AS cachedShardId#1026404, worklistShardItemId#1026399L AS cachedWorklistShardItemId#1026405L, qty#1026400 AS cachedQty#1026406, demandChannel#1026401, demandStream#1026402, kpis#1026403 AS cachedKpis#1026407]
(182) Join
Arguments: Inner, (((worklistShardItemId#1026391L = cachedWorklistShardItemId#1026405L) AND (shardId#1026390 = cachedShardId#1026404)) AND ((qty#1026397 = cachedQty#1026406) OR isnull(qty#1026397)))
(183) Project
Arguments: [shardId#1026390, worklistShardItemId#1026391L, version#1026392, product#1026393, plant#1026394]
(184) Deduplicate
Arguments: [plant#1026394, shardId#1026390, version#1026392, worklistShardItemId#1026391L, product#1026393]
(185) LogicalRDD
Arguments: [shardId#1026408, worklistShardItemId#1026409L, qty#1026410, demandChannel#1026411, demandStream#1026412, kpis#1026413], false
(186) Project
Arguments: [shardId#1026408 AS cachedShardId#1026414, worklistShardItemId#1026409L AS cachedWorklistShardItemId#1026415L, qty#1026410 AS cachedQty#1026416, demandChannel#1026411, demandStream#1026412, kpis#1026413 AS cachedKpis#1026417]
(187) Join
Arguments: Inner, ((worklistShardItemId#1026391L = cachedWorklistShardItemId#1026415L) AND (shardId#1026390 = cachedShardId#1026414))
(188) Project
Arguments: [shardId#1026390, worklistShardItemId#1026391L, version#1026392, product#1026393, plant#1026394, cachedQty#1026416 AS qty#1026418, demandChannel#1026411, demandStream#1026412, cachedKpis#1026417 AS kpis#1026419]
(189) Project
Arguments: [shardId#1026390, worklistShardItemId#1026391L, version#1026392, product#1026393, plant#1026394, qty#1026418, demandChannel#1026411, demandStream#1026412, kpis#1026419, false AS isNewlyCalculated#1026420]
(190) Project
Arguments: [shardId#1026390, worklistShardItemId#1026391L, version#1026392, product#1026393, plant#1026394, qty#1026418, demandChannel#1026411, demandStream#1026412, kpis#1026419, isNewlyCalculated#1026420]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1026329, worklistShardItemId#1026330L, version#1026331]
(193) Aggregate
Arguments: [shardId#1026329, worklistShardItemId#1026330L], [shardId#1026329, worklistShardItemId#1026330L, (max(version#1026331) + 1) AS version#1026232]
(194) Join
Arguments: Inner, ((shardId#1011815 = shardId#1026329) AND (worklistShardItemId#1011816L = worklistShardItemId#1026330L))
(195) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1022695, demandStream#1022696, kpis#1022730, version#1026232]
(196) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1026232, qty#1011822, demandChannel#1022695, demandStream#1022696, kpis#1022730]