== 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@2faff43a, [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#1039529, worklistShardItemId#1039530L, version#1039531, product#1039532, plant#1039533, periodStart#1039534, periodEnd#1039535, qty#1039536], false
(7) RepartitionByExpression
Arguments: [product#1039532, plant#1039533], 37
(8) Project
Arguments: [shardId#1039529, worklistShardItemId#1039530L, version#1039531, product#1039532, plant#1039533, qty#1039536]
(9) LogicalRDD
Arguments: [shardId#1039284, worklistShardItemId#1039285L, qty#1039286, demandChannel#1039287, demandStream#1039288, kpis#1039289], false
(10) Project
Arguments: [shardId#1039284 AS cachedShardId#1039290, worklistShardItemId#1039285L AS cachedWorklistShardItemId#1039291L, qty#1039286 AS cachedQty#1039292, demandChannel#1039287, demandStream#1039288, kpis#1039289 AS cachedKpis#1039293]
(11) Join
Arguments: Inner, (((worklistShardItemId#1039530L = cachedWorklistShardItemId#1039291L) AND (shardId#1039529 = cachedShardId#1039290)) AND ((qty#1039536 = cachedQty#1039292) OR isnull(qty#1039536)))
(12) Project
Arguments: [shardId#1039529, worklistShardItemId#1039530L, version#1039531, product#1039532, plant#1039533]
(13) Deduplicate
Arguments: [plant#1039533, shardId#1039529, version#1039531, worklistShardItemId#1039530L, product#1039532]
(14) LogicalRDD
Arguments: [shardId#1039294, worklistShardItemId#1039295L, qty#1039296, demandChannel#1039297, demandStream#1039298, kpis#1039299], false
(15) Project
Arguments: [shardId#1039294 AS cachedShardId#1039300, worklistShardItemId#1039295L AS cachedWorklistShardItemId#1039301L, qty#1039296 AS cachedQty#1039302, demandChannel#1039297, demandStream#1039298, kpis#1039299 AS cachedKpis#1039303]
(16) Join
Arguments: Inner, ((worklistShardItemId#1039530L = cachedWorklistShardItemId#1039301L) AND (shardId#1039529 = cachedShardId#1039300))
(17) Project
Arguments: [shardId#1039529, worklistShardItemId#1039530L, version#1039531, product#1039532, plant#1039533, cachedQty#1039302 AS qty#1039304, demandChannel#1039297, demandStream#1039298, cachedKpis#1039303 AS kpis#1039305]
(18) Project
Arguments: [shardId#1039529, worklistShardItemId#1039530L, version#1039531, product#1039532, plant#1039533, qty#1039304]
(19) LogicalRDD
Arguments: [shardId#1039511, worklistShardItemId#1039512L, version#1039513, product#1039514, plant#1039515, periodStart#1039516, periodEnd#1039517, qty#1039518], false
(20) RepartitionByExpression
Arguments: [product#1039514, plant#1039515], 37
(21) Project
Arguments: [shardId#1039511, worklistShardItemId#1039512L, version#1039513, product#1039514, plant#1039515, qty#1039518]
(22) LogicalRDD
Arguments: [shardId#1039519, worklistShardItemId#1039520L, qty#1039521, demandChannel#1039522, demandStream#1039523, kpis#1039524], false
(23) Project
Arguments: [shardId#1039519 AS cachedShardId#1039525, worklistShardItemId#1039520L AS cachedWorklistShardItemId#1039526L, qty#1039521 AS cachedQty#1039527, demandChannel#1039522, demandStream#1039523, kpis#1039524 AS cachedKpis#1039528]
(24) Join
Arguments: Inner, (((worklistShardItemId#1039512L = cachedWorklistShardItemId#1039526L) AND (shardId#1039511 = cachedShardId#1039525)) AND isnull(qty#1039518))
(25) Project
Arguments: [shardId#1039511, worklistShardItemId#1039512L, version#1039513, product#1039514, plant#1039515, qty#1039518]
(26) Project
Arguments: [shardId#1039511, worklistShardItemId#1039512L, version#1039513, product#1039514, plant#1039515, qty#1039518]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1011815 <=> shardId#1039529) AND (worklistShardItemId#1011816L <=> worklistShardItemId#1039530L)) AND (version#1011817 <=> version#1039531)) AND (product#1011818 <=> product#1039532)) AND (plant#1011819 <=> plant#1039533)) AND (qty#1011822 <=> qty#1039304))
(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#1039537]
(31) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1039537, cast(null as string) AS demandStream#1039538]
(32) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1039537, demandStream#1039538, array() AS kpis#1039539]
(33) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1039537, demandStream#1039538, kpis#1039539, true AS isNewlyCalculated#1039540]
(34) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1039537, demandStream#1039538, cast(kpis#1039539 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1039572, isNewlyCalculated#1039540]
(35) LogicalRDD
Arguments: [shardId#1039542, worklistShardItemId#1039543L, version#1039544, product#1039545, plant#1039546, periodStart#1039547, periodEnd#1039548, qty#1039549], false
(36) RepartitionByExpression
Arguments: [product#1039545, plant#1039546], 37
(37) Project
Arguments: [shardId#1039542, worklistShardItemId#1039543L, version#1039544, product#1039545, plant#1039546, qty#1039549]
(38) LogicalRDD
Arguments: [shardId#1039550, worklistShardItemId#1039551L, qty#1039552, demandChannel#1039553, demandStream#1039554, kpis#1039555], false
(39) Project
Arguments: [shardId#1039550 AS cachedShardId#1039556, worklistShardItemId#1039551L AS cachedWorklistShardItemId#1039557L, qty#1039552 AS cachedQty#1039558, demandChannel#1039553, demandStream#1039554, kpis#1039555 AS cachedKpis#1039559]
(40) Join
Arguments: Inner, (((worklistShardItemId#1039543L = cachedWorklistShardItemId#1039557L) AND (shardId#1039542 = cachedShardId#1039556)) AND ((qty#1039549 = cachedQty#1039558) OR isnull(qty#1039549)))
(41) Project
Arguments: [shardId#1039542, worklistShardItemId#1039543L, version#1039544, product#1039545, plant#1039546]
(42) Deduplicate
Arguments: [plant#1039546, shardId#1039542, version#1039544, worklistShardItemId#1039543L, product#1039545]
(43) LogicalRDD
Arguments: [shardId#1039560, worklistShardItemId#1039561L, qty#1039562, demandChannel#1039563, demandStream#1039564, kpis#1039565], false
(44) Project
Arguments: [shardId#1039560 AS cachedShardId#1039566, worklistShardItemId#1039561L AS cachedWorklistShardItemId#1039567L, qty#1039562 AS cachedQty#1039568, demandChannel#1039563, demandStream#1039564, kpis#1039565 AS cachedKpis#1039569]
(45) Join
Arguments: Inner, ((worklistShardItemId#1039543L = cachedWorklistShardItemId#1039567L) AND (shardId#1039542 = cachedShardId#1039566))
(46) Project
Arguments: [shardId#1039542, worklistShardItemId#1039543L, version#1039544, product#1039545, plant#1039546, cachedQty#1039568 AS qty#1039570, demandChannel#1039563, demandStream#1039564, cachedKpis#1039569 AS kpis#1039571]
(47) Project
Arguments: [shardId#1039542, worklistShardItemId#1039543L, version#1039544, product#1039545, plant#1039546, qty#1039570, demandChannel#1039563, demandStream#1039564, kpis#1039571, false AS isNewlyCalculated#1039541]
(48) Project
Arguments: [shardId#1039542, worklistShardItemId#1039543L, version#1039544, product#1039545, plant#1039546, qty#1039570, demandChannel#1039563, demandStream#1039564, kpis#1039571, isNewlyCalculated#1039541]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1039540 <=> false)
(51) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1039537, demandStream#1039538, kpis#1039572]
(52) ExternalRDD
Arguments: [obj#1042036]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82787), 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, 82787), 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, 82787), 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, 82787), 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, 82787), 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#1042039, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82788), 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, 82789), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82789), 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, 82789), 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, 82789), 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, 82790), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82790), 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, 82790), 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, 82790), 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, 82790), 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, 82789), 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, 82788), 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, 82791), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82791), 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, 82791), 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, 82791), 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, 82791), 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, 82788), 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, 82788), 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, 82788), 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, 82792), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82792), 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, 82793), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82793), 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, 82793), 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, 82793), 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, 82793), 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, 82792), 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, 82792), 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, 82788), 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#1042040]
(54) Generate
Arguments: explode(prodPlantResults#1042040), false, [prodPlantResults#1042047]
(55) Project
Arguments: [prodPlantResults#1042047]
(56) Project
Arguments: [prodPlantResults#1042047.productId AS product#1042066, prodPlantResults#1042047.plantId AS plant#1042067, prodPlantResults#1042047.kpiResults AS kpis#1042068]
(57) Project
Arguments: [product#1042066, plant#1042067, kpis#1042068, null AS qty#1042072]
(58) Project
Arguments: [product#1042066, plant#1042067, kpis#1042068, qty#1042072, cast(null as string) AS demandChannel#1042073]
(59) Project
Arguments: [product#1042066, plant#1042067, kpis#1042068, qty#1042072, demandChannel#1042073, cast(null as string) AS demandStream#1042074]
(60) Project
Arguments: [product#1042066, plant#1042067, kpis#1042068, cast(qty#1042072 as double) AS qty#1042093, demandChannel#1042073, demandStream#1042074]
(61) ExternalRDD
Arguments: [obj#1042089]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82787), 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, 82787), 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, 82787), 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, 82787), 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, 82787), 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#1042090, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82788), 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, 82789), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82789), 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, 82789), 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, 82789), 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, 82790), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82790), 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, 82790), 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, 82790), 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, 82790), 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, 82789), 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, 82788), 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, 82791), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82791), 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, 82791), 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, 82791), 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, 82791), 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, 82788), 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, 82788), 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, 82788), 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, 82792), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82792), 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, 82793), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82793), 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, 82793), 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, 82793), 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, 82793), 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, 82792), 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, 82792), 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, 82788), 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#1042091]
(63) Generate
Arguments: explode(prodPlantResults#1042091), false, [prodPlantResults#1042092]
(64) Project
Arguments: [prodPlantResults#1042092]
(65) Generate
Arguments: explode(prodPlantResults#1042092.quantityKpiResults), false, [quantityKpiResults#1042059]
(66) Project
Arguments: [prodPlantResults#1042092.productId AS product#1042053, prodPlantResults#1042092.plantId AS plant#1042054, quantityKpiResults#1042059]
(67) Project
Arguments: [product#1042053, plant#1042054, quantityKpiResults#1042059, quantityKpiResults#1042059.quantity AS qty#1042060]
(68) Project
Arguments: [product#1042053, plant#1042054, quantityKpiResults#1042059, qty#1042060, cast(null as string) AS demandChannel#1042062]
(69) Project
Arguments: [product#1042053, plant#1042054, quantityKpiResults#1042059, qty#1042060, demandChannel#1042062, cast(null as string) AS demandStream#1042063]
(70) Project
Arguments: [product#1042053, plant#1042054, quantityKpiResults#1042059, qty#1042060, demandChannel#1042062, demandStream#1042063, quantityKpiResults#1042059.kpiResults AS kpis#1042064]
(71) Project
Arguments: [product#1042053, plant#1042054, qty#1042060, demandChannel#1042062, demandStream#1042063, kpis#1042064]
(72) Project
Arguments: [product#1042053, plant#1042054, kpis#1042064, qty#1042060, demandChannel#1042062, demandStream#1042063]
(73) ExternalRDD
Arguments: [obj#1042094]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82787), 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, 82787), 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, 82787), 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, 82787), 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, 82787), 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#1042095, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82788), 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, 82789), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82789), 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, 82789), 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, 82789), 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, 82790), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82790), 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, 82790), 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, 82790), 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, 82790), 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, 82789), 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, 82788), 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, 82791), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82791), 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, 82791), 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, 82791), 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, 82791), 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, 82788), 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, 82788), 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, 82788), 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, 82792), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82792), 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, 82793), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 82793), 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, 82793), 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, 82793), 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, 82793), 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, 82792), 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, 82792), 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, 82788), 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#1042096]
(75) Generate
Arguments: explode(prodPlantResults#1042096), false, [prodPlantResults#1042097]
(76) Project
Arguments: [prodPlantResults#1042097]
(77) Generate
Arguments: explode(prodPlantResults#1042097.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1042081]
(78) Project
Arguments: [prodPlantResults#1042097.productId AS product#1042075, prodPlantResults#1042097.plantId AS plant#1042076, demandChannelStreamKpiResults#1042081]
(79) Project
Arguments: [product#1042075, plant#1042076, demandChannelStreamKpiResults#1042081, null AS qty#1042082]
(80) Project
Arguments: [product#1042075, plant#1042076, demandChannelStreamKpiResults#1042081, qty#1042082, demandChannelStreamKpiResults#1042081.demandChannel AS demandChannel#1042083]
(81) Project
Arguments: [product#1042075, plant#1042076, demandChannelStreamKpiResults#1042081, qty#1042082, demandChannel#1042083, demandChannelStreamKpiResults#1042081.demandStream AS demandStream#1042085]
(82) Project
Arguments: [product#1042075, plant#1042076, demandChannelStreamKpiResults#1042081, qty#1042082, demandChannel#1042083, demandStream#1042085, demandChannelStreamKpiResults#1042081.kpiResults AS kpis#1042087]
(83) Project
Arguments: [product#1042075, plant#1042076, qty#1042082, demandChannel#1042083, demandStream#1042085, kpis#1042087]
(84) Project
Arguments: [product#1042075, plant#1042076, kpis#1042087, qty#1042082, demandChannel#1042083, demandStream#1042085]
(85) Project
Arguments: [product#1042075, plant#1042076, kpis#1042087, cast(qty#1042082 as double) AS qty#1042098, demandChannel#1042083, demandStream#1042085]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1042066, plant#1042067, transform(kpis#1042068, lambdafunction(struct(label, lambda kpi#1042103.label, dateTime, lambda kpi#1042103.datetime, value, lambda kpi#1042103.value), lambda kpi#1042103, false)) AS kpis#1042102, qty#1042093, demandChannel#1042073, demandStream#1042074]
(88) Project
Arguments: [product#1042066, plant#1042067, qty#1042093, demandChannel#1042073, demandStream#1042074, kpis#1042102]
(89) LogicalRDD
Arguments: [shardId#1042911, worklistShardItemId#1042912L, version#1042913, product#1042914, plant#1042915, periodStart#1042916, periodEnd#1042917, qty#1042918], false
(90) RepartitionByExpression
Arguments: [product#1042914, plant#1042915], 37
(91) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, version#1042913, product#1042914, plant#1042915, qty#1042918]
(92) LogicalRDD
Arguments: [shardId#1042919, worklistShardItemId#1042920L, version#1042921, product#1042922, plant#1042923, periodStart#1042924, periodEnd#1042925, qty#1042926], false
(93) RepartitionByExpression
Arguments: [product#1042922, plant#1042923], 37
(94) Project
Arguments: [shardId#1042919, worklistShardItemId#1042920L, version#1042921, product#1042922, plant#1042923, qty#1042926]
(95) LogicalRDD
Arguments: [shardId#1042927, worklistShardItemId#1042928L, qty#1042929, demandChannel#1042930, demandStream#1042931, kpis#1042932], false
(96) Project
Arguments: [shardId#1042927 AS cachedShardId#1042933, worklistShardItemId#1042928L AS cachedWorklistShardItemId#1042934L, qty#1042929 AS cachedQty#1042935, demandChannel#1042930, demandStream#1042931, kpis#1042932 AS cachedKpis#1042936]
(97) Join
Arguments: Inner, (((worklistShardItemId#1042920L = cachedWorklistShardItemId#1042934L) AND (shardId#1042919 = cachedShardId#1042933)) AND ((qty#1042926 = cachedQty#1042935) OR isnull(qty#1042926)))
(98) Project
Arguments: [shardId#1042919, worklistShardItemId#1042920L, version#1042921, product#1042922, plant#1042923]
(99) Deduplicate
Arguments: [plant#1042923, shardId#1042919, version#1042921, worklistShardItemId#1042920L, product#1042922]
(100) LogicalRDD
Arguments: [shardId#1042937, worklistShardItemId#1042938L, qty#1042939, demandChannel#1042940, demandStream#1042941, kpis#1042942], false
(101) Project
Arguments: [shardId#1042937 AS cachedShardId#1042943, worklistShardItemId#1042938L AS cachedWorklistShardItemId#1042944L, qty#1042939 AS cachedQty#1042945, demandChannel#1042940, demandStream#1042941, kpis#1042942 AS cachedKpis#1042946]
(102) Join
Arguments: Inner, ((worklistShardItemId#1042920L = cachedWorklistShardItemId#1042944L) AND (shardId#1042919 = cachedShardId#1042943))
(103) Project
Arguments: [shardId#1042919, worklistShardItemId#1042920L, version#1042921, product#1042922, plant#1042923, cachedQty#1042945 AS qty#1042947, demandChannel#1042940, demandStream#1042941, cachedKpis#1042946 AS kpis#1042948]
(104) Project
Arguments: [shardId#1042919, worklistShardItemId#1042920L, version#1042921, product#1042922, plant#1042923, qty#1042947]
(105) LogicalRDD
Arguments: [shardId#1042949, worklistShardItemId#1042950L, version#1042951, product#1042952, plant#1042953, periodStart#1042954, periodEnd#1042955, qty#1042956], false
(106) RepartitionByExpression
Arguments: [product#1042952, plant#1042953], 37
(107) Project
Arguments: [shardId#1042949, worklistShardItemId#1042950L, version#1042951, product#1042952, plant#1042953, qty#1042956]
(108) LogicalRDD
Arguments: [shardId#1042957, worklistShardItemId#1042958L, qty#1042959, demandChannel#1042960, demandStream#1042961, kpis#1042962], false
(109) Project
Arguments: [shardId#1042957 AS cachedShardId#1042963, worklistShardItemId#1042958L AS cachedWorklistShardItemId#1042964L, qty#1042959 AS cachedQty#1042965, demandChannel#1042960, demandStream#1042961, kpis#1042962 AS cachedKpis#1042966]
(110) Join
Arguments: Inner, (((worklistShardItemId#1042950L = cachedWorklistShardItemId#1042964L) AND (shardId#1042949 = cachedShardId#1042963)) AND isnull(qty#1042956))
(111) Project
Arguments: [shardId#1042949, worklistShardItemId#1042950L, version#1042951, product#1042952, plant#1042953, qty#1042956]
(112) Project
Arguments: [shardId#1042949, worklistShardItemId#1042950L, version#1042951, product#1042952, plant#1042953, qty#1042956]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1042911 <=> shardId#1042919) AND (worklistShardItemId#1042912L <=> worklistShardItemId#1042920L)) AND (version#1042913 <=> version#1042921)) AND (product#1042914 <=> product#1042922)) AND (plant#1042915 <=> plant#1042923)) AND (qty#1042918 <=> qty#1042947))
(115) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, version#1042913, product#1042914, plant#1042915, qty#1042918]
(116) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, version#1042913, product#1042914, plant#1042915, qty#1042918, cast(null as string) AS demandChannel#1042967]
(117) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, version#1042913, product#1042914, plant#1042915, qty#1042918, demandChannel#1042967, cast(null as string) AS demandStream#1042968]
(118) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, version#1042913, product#1042914, plant#1042915, qty#1042918, demandChannel#1042967, demandStream#1042968, array() AS kpis#1042969]
(119) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, version#1042913, product#1042914, plant#1042915, qty#1042918, demandChannel#1042967, demandStream#1042968, kpis#1042969, true AS isNewlyCalculated#1042970]
(120) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, version#1042913, product#1042914, plant#1042915, qty#1042918, demandChannel#1042967, demandStream#1042968, cast(kpis#1042969 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1042971, isNewlyCalculated#1042970]
(121) LogicalRDD
Arguments: [shardId#1042972, worklistShardItemId#1042973L, version#1042974, product#1042975, plant#1042976, periodStart#1042977, periodEnd#1042978, qty#1042979], false
(122) RepartitionByExpression
Arguments: [product#1042975, plant#1042976], 37
(123) Project
Arguments: [shardId#1042972, worklistShardItemId#1042973L, version#1042974, product#1042975, plant#1042976, qty#1042979]
(124) LogicalRDD
Arguments: [shardId#1042980, worklistShardItemId#1042981L, qty#1042982, demandChannel#1042983, demandStream#1042984, kpis#1042985], false
(125) Project
Arguments: [shardId#1042980 AS cachedShardId#1042986, worklistShardItemId#1042981L AS cachedWorklistShardItemId#1042987L, qty#1042982 AS cachedQty#1042988, demandChannel#1042983, demandStream#1042984, kpis#1042985 AS cachedKpis#1042989]
(126) Join
Arguments: Inner, (((worklistShardItemId#1042973L = cachedWorklistShardItemId#1042987L) AND (shardId#1042972 = cachedShardId#1042986)) AND ((qty#1042979 = cachedQty#1042988) OR isnull(qty#1042979)))
(127) Project
Arguments: [shardId#1042972, worklistShardItemId#1042973L, version#1042974, product#1042975, plant#1042976]
(128) Deduplicate
Arguments: [plant#1042976, shardId#1042972, version#1042974, worklistShardItemId#1042973L, product#1042975]
(129) LogicalRDD
Arguments: [shardId#1042990, worklistShardItemId#1042991L, qty#1042992, demandChannel#1042993, demandStream#1042994, kpis#1042995], false
(130) Project
Arguments: [shardId#1042990 AS cachedShardId#1042996, worklistShardItemId#1042991L AS cachedWorklistShardItemId#1042997L, qty#1042992 AS cachedQty#1042998, demandChannel#1042993, demandStream#1042994, kpis#1042995 AS cachedKpis#1042999]
(131) Join
Arguments: Inner, ((worklistShardItemId#1042973L = cachedWorklistShardItemId#1042997L) AND (shardId#1042972 = cachedShardId#1042996))
(132) Project
Arguments: [shardId#1042972, worklistShardItemId#1042973L, version#1042974, product#1042975, plant#1042976, cachedQty#1042998 AS qty#1043000, demandChannel#1042993, demandStream#1042994, cachedKpis#1042999 AS kpis#1043001]
(133) Project
Arguments: [shardId#1042972, worklistShardItemId#1042973L, version#1042974, product#1042975, plant#1042976, qty#1043000, demandChannel#1042993, demandStream#1042994, kpis#1043001, false AS isNewlyCalculated#1043002]
(134) Project
Arguments: [shardId#1042972, worklistShardItemId#1042973L, version#1042974, product#1042975, plant#1042976, qty#1043000, demandChannel#1042993, demandStream#1042994, kpis#1043001, isNewlyCalculated#1043002]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1042970 <=> true)
(137) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, product#1042914, plant#1042915, qty#1042918, kpis#1042971]
(138) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, product#1042914, plant#1042915, qty#1042918]
(139) Deduplicate
Arguments: [plant#1042915, shardId#1042911, qty#1042918, worklistShardItemId#1042912L, product#1042914]
(140) Join
Arguments: Inner, ((product#1042066 <=> product#1042914) AND ((plant#1042067 <=> plant#1042915) AND ((qty#1042093 <=> qty#1042918) OR isnull(qty#1042918))))
(141) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, qty#1042093, demandChannel#1042073, demandStream#1042074, kpis#1042102]
(142) Deduplicate
Arguments: [demandChannel#1042073, shardId#1042911, qty#1042093, worklistShardItemId#1042912L, demandStream#1042074]
(143) Project
Arguments: [shardId#1042911, worklistShardItemId#1042912L, qty#1042093, demandChannel#1042073, demandStream#1042074, kpis#1042102]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005, product#1043006, plant#1043007, periodStart#1043008, periodEnd#1043009, qty#1043010], false
(146) RepartitionByExpression
Arguments: [product#1043006, plant#1043007], 37
(147) Project
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005, product#1043006, plant#1043007, qty#1043010]
(148) LogicalRDD
Arguments: [shardId#1043011, worklistShardItemId#1043012L, version#1043013, product#1043014, plant#1043015, periodStart#1043016, periodEnd#1043017, qty#1043018], false
(149) RepartitionByExpression
Arguments: [product#1043014, plant#1043015], 37
(150) Project
Arguments: [shardId#1043011, worklistShardItemId#1043012L, version#1043013, product#1043014, plant#1043015, qty#1043018]
(151) LogicalRDD
Arguments: [shardId#1043019, worklistShardItemId#1043020L, qty#1043021, demandChannel#1043022, demandStream#1043023, kpis#1043024], false
(152) Project
Arguments: [shardId#1043019 AS cachedShardId#1043025, worklistShardItemId#1043020L AS cachedWorklistShardItemId#1043026L, qty#1043021 AS cachedQty#1043027, demandChannel#1043022, demandStream#1043023, kpis#1043024 AS cachedKpis#1043028]
(153) Join
Arguments: Inner, (((worklistShardItemId#1043012L = cachedWorklistShardItemId#1043026L) AND (shardId#1043011 = cachedShardId#1043025)) AND ((qty#1043018 = cachedQty#1043027) OR isnull(qty#1043018)))
(154) Project
Arguments: [shardId#1043011, worklistShardItemId#1043012L, version#1043013, product#1043014, plant#1043015]
(155) Deduplicate
Arguments: [plant#1043015, shardId#1043011, version#1043013, worklistShardItemId#1043012L, product#1043014]
(156) LogicalRDD
Arguments: [shardId#1043029, worklistShardItemId#1043030L, qty#1043031, demandChannel#1043032, demandStream#1043033, kpis#1043034], false
(157) Project
Arguments: [shardId#1043029 AS cachedShardId#1043035, worklistShardItemId#1043030L AS cachedWorklistShardItemId#1043036L, qty#1043031 AS cachedQty#1043037, demandChannel#1043032, demandStream#1043033, kpis#1043034 AS cachedKpis#1043038]
(158) Join
Arguments: Inner, ((worklistShardItemId#1043012L = cachedWorklistShardItemId#1043036L) AND (shardId#1043011 = cachedShardId#1043035))
(159) Project
Arguments: [shardId#1043011, worklistShardItemId#1043012L, version#1043013, product#1043014, plant#1043015, cachedQty#1043037 AS qty#1043039, demandChannel#1043032, demandStream#1043033, cachedKpis#1043038 AS kpis#1043040]
(160) Project
Arguments: [shardId#1043011, worklistShardItemId#1043012L, version#1043013, product#1043014, plant#1043015, qty#1043039]
(161) LogicalRDD
Arguments: [shardId#1043041, worklistShardItemId#1043042L, version#1043043, product#1043044, plant#1043045, periodStart#1043046, periodEnd#1043047, qty#1043048], false
(162) RepartitionByExpression
Arguments: [product#1043044, plant#1043045], 37
(163) Project
Arguments: [shardId#1043041, worklistShardItemId#1043042L, version#1043043, product#1043044, plant#1043045, qty#1043048]
(164) LogicalRDD
Arguments: [shardId#1043049, worklistShardItemId#1043050L, qty#1043051, demandChannel#1043052, demandStream#1043053, kpis#1043054], false
(165) Project
Arguments: [shardId#1043049 AS cachedShardId#1043055, worklistShardItemId#1043050L AS cachedWorklistShardItemId#1043056L, qty#1043051 AS cachedQty#1043057, demandChannel#1043052, demandStream#1043053, kpis#1043054 AS cachedKpis#1043058]
(166) Join
Arguments: Inner, (((worklistShardItemId#1043042L = cachedWorklistShardItemId#1043056L) AND (shardId#1043041 = cachedShardId#1043055)) AND isnull(qty#1043048))
(167) Project
Arguments: [shardId#1043041, worklistShardItemId#1043042L, version#1043043, product#1043044, plant#1043045, qty#1043048]
(168) Project
Arguments: [shardId#1043041, worklistShardItemId#1043042L, version#1043043, product#1043044, plant#1043045, qty#1043048]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1043003 <=> shardId#1043011) AND (worklistShardItemId#1043004L <=> worklistShardItemId#1043012L)) AND (version#1043005 <=> version#1043013)) AND (product#1043006 <=> product#1043014)) AND (plant#1043007 <=> plant#1043015)) AND (qty#1043010 <=> qty#1043039))
(171) Project
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005, product#1043006, plant#1043007, qty#1043010]
(172) Project
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005, product#1043006, plant#1043007, qty#1043010, cast(null as string) AS demandChannel#1043059]
(173) Project
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005, product#1043006, plant#1043007, qty#1043010, demandChannel#1043059, cast(null as string) AS demandStream#1043060]
(174) Project
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005, product#1043006, plant#1043007, qty#1043010, demandChannel#1043059, demandStream#1043060, array() AS kpis#1043061]
(175) Project
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005, product#1043006, plant#1043007, qty#1043010, demandChannel#1043059, demandStream#1043060, kpis#1043061, true AS isNewlyCalculated#1043062]
(176) Project
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005, product#1043006, plant#1043007, qty#1043010, demandChannel#1043059, demandStream#1043060, cast(kpis#1043061 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1043063, isNewlyCalculated#1043062]
(177) LogicalRDD
Arguments: [shardId#1043064, worklistShardItemId#1043065L, version#1043066, product#1043067, plant#1043068, periodStart#1043069, periodEnd#1043070, qty#1043071], false
(178) RepartitionByExpression
Arguments: [product#1043067, plant#1043068], 37
(179) Project
Arguments: [shardId#1043064, worklistShardItemId#1043065L, version#1043066, product#1043067, plant#1043068, qty#1043071]
(180) LogicalRDD
Arguments: [shardId#1043072, worklistShardItemId#1043073L, qty#1043074, demandChannel#1043075, demandStream#1043076, kpis#1043077], false
(181) Project
Arguments: [shardId#1043072 AS cachedShardId#1043078, worklistShardItemId#1043073L AS cachedWorklistShardItemId#1043079L, qty#1043074 AS cachedQty#1043080, demandChannel#1043075, demandStream#1043076, kpis#1043077 AS cachedKpis#1043081]
(182) Join
Arguments: Inner, (((worklistShardItemId#1043065L = cachedWorklistShardItemId#1043079L) AND (shardId#1043064 = cachedShardId#1043078)) AND ((qty#1043071 = cachedQty#1043080) OR isnull(qty#1043071)))
(183) Project
Arguments: [shardId#1043064, worklistShardItemId#1043065L, version#1043066, product#1043067, plant#1043068]
(184) Deduplicate
Arguments: [plant#1043068, shardId#1043064, version#1043066, worklistShardItemId#1043065L, product#1043067]
(185) LogicalRDD
Arguments: [shardId#1043082, worklistShardItemId#1043083L, qty#1043084, demandChannel#1043085, demandStream#1043086, kpis#1043087], false
(186) Project
Arguments: [shardId#1043082 AS cachedShardId#1043088, worklistShardItemId#1043083L AS cachedWorklistShardItemId#1043089L, qty#1043084 AS cachedQty#1043090, demandChannel#1043085, demandStream#1043086, kpis#1043087 AS cachedKpis#1043091]
(187) Join
Arguments: Inner, ((worklistShardItemId#1043065L = cachedWorklistShardItemId#1043089L) AND (shardId#1043064 = cachedShardId#1043088))
(188) Project
Arguments: [shardId#1043064, worklistShardItemId#1043065L, version#1043066, product#1043067, plant#1043068, cachedQty#1043090 AS qty#1043092, demandChannel#1043085, demandStream#1043086, cachedKpis#1043091 AS kpis#1043093]
(189) Project
Arguments: [shardId#1043064, worklistShardItemId#1043065L, version#1043066, product#1043067, plant#1043068, qty#1043092, demandChannel#1043085, demandStream#1043086, kpis#1043093, false AS isNewlyCalculated#1043094]
(190) Project
Arguments: [shardId#1043064, worklistShardItemId#1043065L, version#1043066, product#1043067, plant#1043068, qty#1043092, demandChannel#1043085, demandStream#1043086, kpis#1043093, isNewlyCalculated#1043094]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1043003, worklistShardItemId#1043004L, version#1043005]
(193) Aggregate
Arguments: [shardId#1043003, worklistShardItemId#1043004L], [shardId#1043003, worklistShardItemId#1043004L, (max(version#1043005) + 1) AS version#1042906]
(194) Join
Arguments: Inner, ((shardId#1011815 = shardId#1043003) AND (worklistShardItemId#1011816L = worklistShardItemId#1043004L))
(195) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1039537, demandStream#1039538, kpis#1039572, version#1042906]
(196) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1042906, qty#1011822, demandChannel#1039537, demandStream#1039538, kpis#1039572]