== 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@3ead335e, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000350/stream-10000000350-1], Append
(3) LogicalRDD
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, periodStart#1100462, periodEnd#1100463, qty#1100464], false
(4) RepartitionByExpression
Arguments: [product#1100460, plant#1100461], 37
(5) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464]
(6) LogicalRDD
Arguments: [shardId#1156461, worklistShardItemId#1156462L, version#1156463, product#1156464, plant#1156465, periodStart#1156466, periodEnd#1156467, qty#1156468], false
(7) RepartitionByExpression
Arguments: [product#1156464, plant#1156465], 37
(8) Project
Arguments: [shardId#1156461, worklistShardItemId#1156462L, version#1156463, product#1156464, plant#1156465, qty#1156468]
(9) LogicalRDD
Arguments: [shardId#1156216, worklistShardItemId#1156217L, qty#1156218, demandChannel#1156219, demandStream#1156220, kpis#1156221], false
(10) Project
Arguments: [shardId#1156216 AS cachedShardId#1156222, worklistShardItemId#1156217L AS cachedWorklistShardItemId#1156223L, qty#1156218 AS cachedQty#1156224, demandChannel#1156219, demandStream#1156220, kpis#1156221 AS cachedKpis#1156225]
(11) Join
Arguments: Inner, (((worklistShardItemId#1156462L = cachedWorklistShardItemId#1156223L) AND (shardId#1156461 = cachedShardId#1156222)) AND ((qty#1156468 = cachedQty#1156224) OR isnull(qty#1156468)))
(12) Project
Arguments: [shardId#1156461, worklistShardItemId#1156462L, version#1156463, product#1156464, plant#1156465]
(13) Deduplicate
Arguments: [plant#1156465, shardId#1156461, version#1156463, worklistShardItemId#1156462L, product#1156464]
(14) LogicalRDD
Arguments: [shardId#1156226, worklistShardItemId#1156227L, qty#1156228, demandChannel#1156229, demandStream#1156230, kpis#1156231], false
(15) Project
Arguments: [shardId#1156226 AS cachedShardId#1156232, worklistShardItemId#1156227L AS cachedWorklistShardItemId#1156233L, qty#1156228 AS cachedQty#1156234, demandChannel#1156229, demandStream#1156230, kpis#1156231 AS cachedKpis#1156235]
(16) Join
Arguments: Inner, ((worklistShardItemId#1156462L = cachedWorklistShardItemId#1156233L) AND (shardId#1156461 = cachedShardId#1156232))
(17) Project
Arguments: [shardId#1156461, worklistShardItemId#1156462L, version#1156463, product#1156464, plant#1156465, cachedQty#1156234 AS qty#1156236, demandChannel#1156229, demandStream#1156230, cachedKpis#1156235 AS kpis#1156237]
(18) Project
Arguments: [shardId#1156461, worklistShardItemId#1156462L, version#1156463, product#1156464, plant#1156465, qty#1156236]
(19) LogicalRDD
Arguments: [shardId#1156443, worklistShardItemId#1156444L, version#1156445, product#1156446, plant#1156447, periodStart#1156448, periodEnd#1156449, qty#1156450], false
(20) RepartitionByExpression
Arguments: [product#1156446, plant#1156447], 37
(21) Project
Arguments: [shardId#1156443, worklistShardItemId#1156444L, version#1156445, product#1156446, plant#1156447, qty#1156450]
(22) LogicalRDD
Arguments: [shardId#1156451, worklistShardItemId#1156452L, qty#1156453, demandChannel#1156454, demandStream#1156455, kpis#1156456], false
(23) Project
Arguments: [shardId#1156451 AS cachedShardId#1156457, worklistShardItemId#1156452L AS cachedWorklistShardItemId#1156458L, qty#1156453 AS cachedQty#1156459, demandChannel#1156454, demandStream#1156455, kpis#1156456 AS cachedKpis#1156460]
(24) Join
Arguments: Inner, (((worklistShardItemId#1156444L = cachedWorklistShardItemId#1156458L) AND (shardId#1156443 = cachedShardId#1156457)) AND isnull(qty#1156450))
(25) Project
Arguments: [shardId#1156443, worklistShardItemId#1156444L, version#1156445, product#1156446, plant#1156447, qty#1156450]
(26) Project
Arguments: [shardId#1156443, worklistShardItemId#1156444L, version#1156445, product#1156446, plant#1156447, qty#1156450]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1100457 <=> shardId#1156461) AND (worklistShardItemId#1100458L <=> worklistShardItemId#1156462L)) AND (version#1100459 <=> version#1156463)) AND (product#1100460 <=> product#1156464)) AND (plant#1100461 <=> plant#1156465)) AND (qty#1100464 <=> qty#1156236))
(29) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464]
(30) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, cast(null as string) AS demandChannel#1156469]
(31) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1156469, cast(null as string) AS demandStream#1156470]
(32) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1156469, demandStream#1156470, array() AS kpis#1156471]
(33) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1156469, demandStream#1156470, kpis#1156471, true AS isNewlyCalculated#1156472]
(34) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1156469, demandStream#1156470, cast(kpis#1156471 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1156504, isNewlyCalculated#1156472]
(35) LogicalRDD
Arguments: [shardId#1156474, worklistShardItemId#1156475L, version#1156476, product#1156477, plant#1156478, periodStart#1156479, periodEnd#1156480, qty#1156481], false
(36) RepartitionByExpression
Arguments: [product#1156477, plant#1156478], 37
(37) Project
Arguments: [shardId#1156474, worklistShardItemId#1156475L, version#1156476, product#1156477, plant#1156478, qty#1156481]
(38) LogicalRDD
Arguments: [shardId#1156482, worklistShardItemId#1156483L, qty#1156484, demandChannel#1156485, demandStream#1156486, kpis#1156487], false
(39) Project
Arguments: [shardId#1156482 AS cachedShardId#1156488, worklistShardItemId#1156483L AS cachedWorklistShardItemId#1156489L, qty#1156484 AS cachedQty#1156490, demandChannel#1156485, demandStream#1156486, kpis#1156487 AS cachedKpis#1156491]
(40) Join
Arguments: Inner, (((worklistShardItemId#1156475L = cachedWorklistShardItemId#1156489L) AND (shardId#1156474 = cachedShardId#1156488)) AND ((qty#1156481 = cachedQty#1156490) OR isnull(qty#1156481)))
(41) Project
Arguments: [shardId#1156474, worklistShardItemId#1156475L, version#1156476, product#1156477, plant#1156478]
(42) Deduplicate
Arguments: [plant#1156478, shardId#1156474, version#1156476, worklistShardItemId#1156475L, product#1156477]
(43) LogicalRDD
Arguments: [shardId#1156492, worklistShardItemId#1156493L, qty#1156494, demandChannel#1156495, demandStream#1156496, kpis#1156497], false
(44) Project
Arguments: [shardId#1156492 AS cachedShardId#1156498, worklistShardItemId#1156493L AS cachedWorklistShardItemId#1156499L, qty#1156494 AS cachedQty#1156500, demandChannel#1156495, demandStream#1156496, kpis#1156497 AS cachedKpis#1156501]
(45) Join
Arguments: Inner, ((worklistShardItemId#1156475L = cachedWorklistShardItemId#1156499L) AND (shardId#1156474 = cachedShardId#1156498))
(46) Project
Arguments: [shardId#1156474, worklistShardItemId#1156475L, version#1156476, product#1156477, plant#1156478, cachedQty#1156500 AS qty#1156502, demandChannel#1156495, demandStream#1156496, cachedKpis#1156501 AS kpis#1156503]
(47) Project
Arguments: [shardId#1156474, worklistShardItemId#1156475L, version#1156476, product#1156477, plant#1156478, qty#1156502, demandChannel#1156495, demandStream#1156496, kpis#1156503, false AS isNewlyCalculated#1156473]
(48) Project
Arguments: [shardId#1156474, worklistShardItemId#1156475L, version#1156476, product#1156477, plant#1156478, qty#1156502, demandChannel#1156495, demandStream#1156496, kpis#1156503, isNewlyCalculated#1156473]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1156472 <=> false)
(51) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, qty#1100464, demandChannel#1156469, demandStream#1156470, kpis#1156504]
(52) ExternalRDD
Arguments: [obj#1158968]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91125), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91125), 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, 91125), 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, 91125), 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, 91125), 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, 91125), 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#1158971, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91126), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91126), 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, 91127), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91127), 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, 91127), 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, 91127), 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, 91128), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91128), 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, 91128), 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, 91128), 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, 91128), 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, 91127), 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, 91126), 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, 91129), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91129), 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, 91129), 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, 91129), 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, 91129), 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, 91126), 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, 91126), 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, 91126), 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, 91130), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91130), 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, 91131), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91131), 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, 91131), 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, 91131), 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, 91131), 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, 91130), 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, 91130), 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, 91126), 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#1158972]
(54) Generate
Arguments: explode(prodPlantResults#1158972), false, [prodPlantResults#1158979]
(55) Project
Arguments: [prodPlantResults#1158979]
(56) Project
Arguments: [prodPlantResults#1158979.productId AS product#1158998, prodPlantResults#1158979.plantId AS plant#1158999, prodPlantResults#1158979.kpiResults AS kpis#1159000]
(57) Project
Arguments: [product#1158998, plant#1158999, kpis#1159000, null AS qty#1159004]
(58) Project
Arguments: [product#1158998, plant#1158999, kpis#1159000, qty#1159004, cast(null as string) AS demandChannel#1159005]
(59) Project
Arguments: [product#1158998, plant#1158999, kpis#1159000, qty#1159004, demandChannel#1159005, cast(null as string) AS demandStream#1159006]
(60) Project
Arguments: [product#1158998, plant#1158999, kpis#1159000, cast(qty#1159004 as double) AS qty#1159025, demandChannel#1159005, demandStream#1159006]
(61) ExternalRDD
Arguments: [obj#1159021]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91125), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91125), 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, 91125), 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, 91125), 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, 91125), 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, 91125), 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#1159022, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91126), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91126), 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, 91127), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91127), 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, 91127), 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, 91127), 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, 91128), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91128), 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, 91128), 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, 91128), 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, 91128), 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, 91127), 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, 91126), 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, 91129), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91129), 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, 91129), 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, 91129), 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, 91129), 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, 91126), 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, 91126), 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, 91126), 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, 91130), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91130), 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, 91131), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91131), 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, 91131), 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, 91131), 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, 91131), 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, 91130), 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, 91130), 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, 91126), 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#1159023]
(63) Generate
Arguments: explode(prodPlantResults#1159023), false, [prodPlantResults#1159024]
(64) Project
Arguments: [prodPlantResults#1159024]
(65) Generate
Arguments: explode(prodPlantResults#1159024.quantityKpiResults), false, [quantityKpiResults#1158991]
(66) Project
Arguments: [prodPlantResults#1159024.productId AS product#1158985, prodPlantResults#1159024.plantId AS plant#1158986, quantityKpiResults#1158991]
(67) Project
Arguments: [product#1158985, plant#1158986, quantityKpiResults#1158991, quantityKpiResults#1158991.quantity AS qty#1158992]
(68) Project
Arguments: [product#1158985, plant#1158986, quantityKpiResults#1158991, qty#1158992, cast(null as string) AS demandChannel#1158994]
(69) Project
Arguments: [product#1158985, plant#1158986, quantityKpiResults#1158991, qty#1158992, demandChannel#1158994, cast(null as string) AS demandStream#1158995]
(70) Project
Arguments: [product#1158985, plant#1158986, quantityKpiResults#1158991, qty#1158992, demandChannel#1158994, demandStream#1158995, quantityKpiResults#1158991.kpiResults AS kpis#1158996]
(71) Project
Arguments: [product#1158985, plant#1158986, qty#1158992, demandChannel#1158994, demandStream#1158995, kpis#1158996]
(72) Project
Arguments: [product#1158985, plant#1158986, kpis#1158996, qty#1158992, demandChannel#1158994, demandStream#1158995]
(73) ExternalRDD
Arguments: [obj#1159026]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91125), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91125), 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, 91125), 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, 91125), 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, 91125), 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, 91125), 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#1159027, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91126), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91126), 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, 91127), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91127), 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, 91127), 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, 91127), 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, 91128), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91128), 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, 91128), 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, 91128), 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, 91128), 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, 91127), 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, 91126), 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, 91129), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91129), 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, 91129), 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, 91129), 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, 91129), 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, 91126), 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, 91126), 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, 91126), 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, 91130), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91130), 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, 91131), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 91131), 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, 91131), 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, 91131), 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, 91131), 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, 91130), 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, 91130), 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, 91126), 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#1159028]
(75) Generate
Arguments: explode(prodPlantResults#1159028), false, [prodPlantResults#1159029]
(76) Project
Arguments: [prodPlantResults#1159029]
(77) Generate
Arguments: explode(prodPlantResults#1159029.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1159013]
(78) Project
Arguments: [prodPlantResults#1159029.productId AS product#1159007, prodPlantResults#1159029.plantId AS plant#1159008, demandChannelStreamKpiResults#1159013]
(79) Project
Arguments: [product#1159007, plant#1159008, demandChannelStreamKpiResults#1159013, null AS qty#1159014]
(80) Project
Arguments: [product#1159007, plant#1159008, demandChannelStreamKpiResults#1159013, qty#1159014, demandChannelStreamKpiResults#1159013.demandChannel AS demandChannel#1159015]
(81) Project
Arguments: [product#1159007, plant#1159008, demandChannelStreamKpiResults#1159013, qty#1159014, demandChannel#1159015, demandChannelStreamKpiResults#1159013.demandStream AS demandStream#1159017]
(82) Project
Arguments: [product#1159007, plant#1159008, demandChannelStreamKpiResults#1159013, qty#1159014, demandChannel#1159015, demandStream#1159017, demandChannelStreamKpiResults#1159013.kpiResults AS kpis#1159019]
(83) Project
Arguments: [product#1159007, plant#1159008, qty#1159014, demandChannel#1159015, demandStream#1159017, kpis#1159019]
(84) Project
Arguments: [product#1159007, plant#1159008, kpis#1159019, qty#1159014, demandChannel#1159015, demandStream#1159017]
(85) Project
Arguments: [product#1159007, plant#1159008, kpis#1159019, cast(qty#1159014 as double) AS qty#1159030, demandChannel#1159015, demandStream#1159017]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1158998, plant#1158999, transform(kpis#1159000, lambdafunction(struct(label, lambda kpi#1159035.label, dateTime, lambda kpi#1159035.datetime, value, lambda kpi#1159035.value), lambda kpi#1159035, false)) AS kpis#1159034, qty#1159025, demandChannel#1159005, demandStream#1159006]
(88) Project
Arguments: [product#1158998, plant#1158999, qty#1159025, demandChannel#1159005, demandStream#1159006, kpis#1159034]
(89) LogicalRDD
Arguments: [shardId#1159843, worklistShardItemId#1159844L, version#1159845, product#1159846, plant#1159847, periodStart#1159848, periodEnd#1159849, qty#1159850], false
(90) RepartitionByExpression
Arguments: [product#1159846, plant#1159847], 37
(91) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, version#1159845, product#1159846, plant#1159847, qty#1159850]
(92) LogicalRDD
Arguments: [shardId#1159851, worklistShardItemId#1159852L, version#1159853, product#1159854, plant#1159855, periodStart#1159856, periodEnd#1159857, qty#1159858], false
(93) RepartitionByExpression
Arguments: [product#1159854, plant#1159855], 37
(94) Project
Arguments: [shardId#1159851, worklistShardItemId#1159852L, version#1159853, product#1159854, plant#1159855, qty#1159858]
(95) LogicalRDD
Arguments: [shardId#1159859, worklistShardItemId#1159860L, qty#1159861, demandChannel#1159862, demandStream#1159863, kpis#1159864], false
(96) Project
Arguments: [shardId#1159859 AS cachedShardId#1159865, worklistShardItemId#1159860L AS cachedWorklistShardItemId#1159866L, qty#1159861 AS cachedQty#1159867, demandChannel#1159862, demandStream#1159863, kpis#1159864 AS cachedKpis#1159868]
(97) Join
Arguments: Inner, (((worklistShardItemId#1159852L = cachedWorklistShardItemId#1159866L) AND (shardId#1159851 = cachedShardId#1159865)) AND ((qty#1159858 = cachedQty#1159867) OR isnull(qty#1159858)))
(98) Project
Arguments: [shardId#1159851, worklistShardItemId#1159852L, version#1159853, product#1159854, plant#1159855]
(99) Deduplicate
Arguments: [plant#1159855, shardId#1159851, version#1159853, worklistShardItemId#1159852L, product#1159854]
(100) LogicalRDD
Arguments: [shardId#1159869, worklistShardItemId#1159870L, qty#1159871, demandChannel#1159872, demandStream#1159873, kpis#1159874], false
(101) Project
Arguments: [shardId#1159869 AS cachedShardId#1159875, worklistShardItemId#1159870L AS cachedWorklistShardItemId#1159876L, qty#1159871 AS cachedQty#1159877, demandChannel#1159872, demandStream#1159873, kpis#1159874 AS cachedKpis#1159878]
(102) Join
Arguments: Inner, ((worklistShardItemId#1159852L = cachedWorklistShardItemId#1159876L) AND (shardId#1159851 = cachedShardId#1159875))
(103) Project
Arguments: [shardId#1159851, worklistShardItemId#1159852L, version#1159853, product#1159854, plant#1159855, cachedQty#1159877 AS qty#1159879, demandChannel#1159872, demandStream#1159873, cachedKpis#1159878 AS kpis#1159880]
(104) Project
Arguments: [shardId#1159851, worklistShardItemId#1159852L, version#1159853, product#1159854, plant#1159855, qty#1159879]
(105) LogicalRDD
Arguments: [shardId#1159881, worklistShardItemId#1159882L, version#1159883, product#1159884, plant#1159885, periodStart#1159886, periodEnd#1159887, qty#1159888], false
(106) RepartitionByExpression
Arguments: [product#1159884, plant#1159885], 37
(107) Project
Arguments: [shardId#1159881, worklistShardItemId#1159882L, version#1159883, product#1159884, plant#1159885, qty#1159888]
(108) LogicalRDD
Arguments: [shardId#1159889, worklistShardItemId#1159890L, qty#1159891, demandChannel#1159892, demandStream#1159893, kpis#1159894], false
(109) Project
Arguments: [shardId#1159889 AS cachedShardId#1159895, worklistShardItemId#1159890L AS cachedWorklistShardItemId#1159896L, qty#1159891 AS cachedQty#1159897, demandChannel#1159892, demandStream#1159893, kpis#1159894 AS cachedKpis#1159898]
(110) Join
Arguments: Inner, (((worklistShardItemId#1159882L = cachedWorklistShardItemId#1159896L) AND (shardId#1159881 = cachedShardId#1159895)) AND isnull(qty#1159888))
(111) Project
Arguments: [shardId#1159881, worklistShardItemId#1159882L, version#1159883, product#1159884, plant#1159885, qty#1159888]
(112) Project
Arguments: [shardId#1159881, worklistShardItemId#1159882L, version#1159883, product#1159884, plant#1159885, qty#1159888]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1159843 <=> shardId#1159851) AND (worklistShardItemId#1159844L <=> worklistShardItemId#1159852L)) AND (version#1159845 <=> version#1159853)) AND (product#1159846 <=> product#1159854)) AND (plant#1159847 <=> plant#1159855)) AND (qty#1159850 <=> qty#1159879))
(115) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, version#1159845, product#1159846, plant#1159847, qty#1159850]
(116) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, version#1159845, product#1159846, plant#1159847, qty#1159850, cast(null as string) AS demandChannel#1159899]
(117) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, version#1159845, product#1159846, plant#1159847, qty#1159850, demandChannel#1159899, cast(null as string) AS demandStream#1159900]
(118) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, version#1159845, product#1159846, plant#1159847, qty#1159850, demandChannel#1159899, demandStream#1159900, array() AS kpis#1159901]
(119) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, version#1159845, product#1159846, plant#1159847, qty#1159850, demandChannel#1159899, demandStream#1159900, kpis#1159901, true AS isNewlyCalculated#1159902]
(120) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, version#1159845, product#1159846, plant#1159847, qty#1159850, demandChannel#1159899, demandStream#1159900, cast(kpis#1159901 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1159903, isNewlyCalculated#1159902]
(121) LogicalRDD
Arguments: [shardId#1159904, worklistShardItemId#1159905L, version#1159906, product#1159907, plant#1159908, periodStart#1159909, periodEnd#1159910, qty#1159911], false
(122) RepartitionByExpression
Arguments: [product#1159907, plant#1159908], 37
(123) Project
Arguments: [shardId#1159904, worklistShardItemId#1159905L, version#1159906, product#1159907, plant#1159908, qty#1159911]
(124) LogicalRDD
Arguments: [shardId#1159912, worklistShardItemId#1159913L, qty#1159914, demandChannel#1159915, demandStream#1159916, kpis#1159917], false
(125) Project
Arguments: [shardId#1159912 AS cachedShardId#1159918, worklistShardItemId#1159913L AS cachedWorklistShardItemId#1159919L, qty#1159914 AS cachedQty#1159920, demandChannel#1159915, demandStream#1159916, kpis#1159917 AS cachedKpis#1159921]
(126) Join
Arguments: Inner, (((worklistShardItemId#1159905L = cachedWorklistShardItemId#1159919L) AND (shardId#1159904 = cachedShardId#1159918)) AND ((qty#1159911 = cachedQty#1159920) OR isnull(qty#1159911)))
(127) Project
Arguments: [shardId#1159904, worklistShardItemId#1159905L, version#1159906, product#1159907, plant#1159908]
(128) Deduplicate
Arguments: [plant#1159908, shardId#1159904, version#1159906, worklistShardItemId#1159905L, product#1159907]
(129) LogicalRDD
Arguments: [shardId#1159922, worklistShardItemId#1159923L, qty#1159924, demandChannel#1159925, demandStream#1159926, kpis#1159927], false
(130) Project
Arguments: [shardId#1159922 AS cachedShardId#1159928, worklistShardItemId#1159923L AS cachedWorklistShardItemId#1159929L, qty#1159924 AS cachedQty#1159930, demandChannel#1159925, demandStream#1159926, kpis#1159927 AS cachedKpis#1159931]
(131) Join
Arguments: Inner, ((worklistShardItemId#1159905L = cachedWorklistShardItemId#1159929L) AND (shardId#1159904 = cachedShardId#1159928))
(132) Project
Arguments: [shardId#1159904, worklistShardItemId#1159905L, version#1159906, product#1159907, plant#1159908, cachedQty#1159930 AS qty#1159932, demandChannel#1159925, demandStream#1159926, cachedKpis#1159931 AS kpis#1159933]
(133) Project
Arguments: [shardId#1159904, worklistShardItemId#1159905L, version#1159906, product#1159907, plant#1159908, qty#1159932, demandChannel#1159925, demandStream#1159926, kpis#1159933, false AS isNewlyCalculated#1159934]
(134) Project
Arguments: [shardId#1159904, worklistShardItemId#1159905L, version#1159906, product#1159907, plant#1159908, qty#1159932, demandChannel#1159925, demandStream#1159926, kpis#1159933, isNewlyCalculated#1159934]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1159902 <=> true)
(137) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, product#1159846, plant#1159847, qty#1159850, kpis#1159903]
(138) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, product#1159846, plant#1159847, qty#1159850]
(139) Deduplicate
Arguments: [plant#1159847, shardId#1159843, qty#1159850, worklistShardItemId#1159844L, product#1159846]
(140) Join
Arguments: Inner, ((product#1158998 <=> product#1159846) AND ((plant#1158999 <=> plant#1159847) AND ((qty#1159025 <=> qty#1159850) OR isnull(qty#1159850))))
(141) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, qty#1159025, demandChannel#1159005, demandStream#1159006, kpis#1159034]
(142) Deduplicate
Arguments: [demandChannel#1159005, shardId#1159843, qty#1159025, worklistShardItemId#1159844L, demandStream#1159006]
(143) Project
Arguments: [shardId#1159843, worklistShardItemId#1159844L, qty#1159025, demandChannel#1159005, demandStream#1159006, kpis#1159034]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937, product#1159938, plant#1159939, periodStart#1159940, periodEnd#1159941, qty#1159942], false
(146) RepartitionByExpression
Arguments: [product#1159938, plant#1159939], 37
(147) Project
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937, product#1159938, plant#1159939, qty#1159942]
(148) LogicalRDD
Arguments: [shardId#1159943, worklistShardItemId#1159944L, version#1159945, product#1159946, plant#1159947, periodStart#1159948, periodEnd#1159949, qty#1159950], false
(149) RepartitionByExpression
Arguments: [product#1159946, plant#1159947], 37
(150) Project
Arguments: [shardId#1159943, worklistShardItemId#1159944L, version#1159945, product#1159946, plant#1159947, qty#1159950]
(151) LogicalRDD
Arguments: [shardId#1159951, worklistShardItemId#1159952L, qty#1159953, demandChannel#1159954, demandStream#1159955, kpis#1159956], false
(152) Project
Arguments: [shardId#1159951 AS cachedShardId#1159957, worklistShardItemId#1159952L AS cachedWorklistShardItemId#1159958L, qty#1159953 AS cachedQty#1159959, demandChannel#1159954, demandStream#1159955, kpis#1159956 AS cachedKpis#1159960]
(153) Join
Arguments: Inner, (((worklistShardItemId#1159944L = cachedWorklistShardItemId#1159958L) AND (shardId#1159943 = cachedShardId#1159957)) AND ((qty#1159950 = cachedQty#1159959) OR isnull(qty#1159950)))
(154) Project
Arguments: [shardId#1159943, worklistShardItemId#1159944L, version#1159945, product#1159946, plant#1159947]
(155) Deduplicate
Arguments: [plant#1159947, shardId#1159943, version#1159945, worklistShardItemId#1159944L, product#1159946]
(156) LogicalRDD
Arguments: [shardId#1159961, worklistShardItemId#1159962L, qty#1159963, demandChannel#1159964, demandStream#1159965, kpis#1159966], false
(157) Project
Arguments: [shardId#1159961 AS cachedShardId#1159967, worklistShardItemId#1159962L AS cachedWorklistShardItemId#1159968L, qty#1159963 AS cachedQty#1159969, demandChannel#1159964, demandStream#1159965, kpis#1159966 AS cachedKpis#1159970]
(158) Join
Arguments: Inner, ((worklistShardItemId#1159944L = cachedWorklistShardItemId#1159968L) AND (shardId#1159943 = cachedShardId#1159967))
(159) Project
Arguments: [shardId#1159943, worklistShardItemId#1159944L, version#1159945, product#1159946, plant#1159947, cachedQty#1159969 AS qty#1159971, demandChannel#1159964, demandStream#1159965, cachedKpis#1159970 AS kpis#1159972]
(160) Project
Arguments: [shardId#1159943, worklistShardItemId#1159944L, version#1159945, product#1159946, plant#1159947, qty#1159971]
(161) LogicalRDD
Arguments: [shardId#1159973, worklistShardItemId#1159974L, version#1159975, product#1159976, plant#1159977, periodStart#1159978, periodEnd#1159979, qty#1159980], false
(162) RepartitionByExpression
Arguments: [product#1159976, plant#1159977], 37
(163) Project
Arguments: [shardId#1159973, worklistShardItemId#1159974L, version#1159975, product#1159976, plant#1159977, qty#1159980]
(164) LogicalRDD
Arguments: [shardId#1159981, worklistShardItemId#1159982L, qty#1159983, demandChannel#1159984, demandStream#1159985, kpis#1159986], false
(165) Project
Arguments: [shardId#1159981 AS cachedShardId#1159987, worklistShardItemId#1159982L AS cachedWorklistShardItemId#1159988L, qty#1159983 AS cachedQty#1159989, demandChannel#1159984, demandStream#1159985, kpis#1159986 AS cachedKpis#1159990]
(166) Join
Arguments: Inner, (((worklistShardItemId#1159974L = cachedWorklistShardItemId#1159988L) AND (shardId#1159973 = cachedShardId#1159987)) AND isnull(qty#1159980))
(167) Project
Arguments: [shardId#1159973, worklistShardItemId#1159974L, version#1159975, product#1159976, plant#1159977, qty#1159980]
(168) Project
Arguments: [shardId#1159973, worklistShardItemId#1159974L, version#1159975, product#1159976, plant#1159977, qty#1159980]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1159935 <=> shardId#1159943) AND (worklistShardItemId#1159936L <=> worklistShardItemId#1159944L)) AND (version#1159937 <=> version#1159945)) AND (product#1159938 <=> product#1159946)) AND (plant#1159939 <=> plant#1159947)) AND (qty#1159942 <=> qty#1159971))
(171) Project
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937, product#1159938, plant#1159939, qty#1159942]
(172) Project
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937, product#1159938, plant#1159939, qty#1159942, cast(null as string) AS demandChannel#1159991]
(173) Project
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937, product#1159938, plant#1159939, qty#1159942, demandChannel#1159991, cast(null as string) AS demandStream#1159992]
(174) Project
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937, product#1159938, plant#1159939, qty#1159942, demandChannel#1159991, demandStream#1159992, array() AS kpis#1159993]
(175) Project
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937, product#1159938, plant#1159939, qty#1159942, demandChannel#1159991, demandStream#1159992, kpis#1159993, true AS isNewlyCalculated#1159994]
(176) Project
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937, product#1159938, plant#1159939, qty#1159942, demandChannel#1159991, demandStream#1159992, cast(kpis#1159993 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1159995, isNewlyCalculated#1159994]
(177) LogicalRDD
Arguments: [shardId#1159996, worklistShardItemId#1159997L, version#1159998, product#1159999, plant#1160000, periodStart#1160001, periodEnd#1160002, qty#1160003], false
(178) RepartitionByExpression
Arguments: [product#1159999, plant#1160000], 37
(179) Project
Arguments: [shardId#1159996, worklistShardItemId#1159997L, version#1159998, product#1159999, plant#1160000, qty#1160003]
(180) LogicalRDD
Arguments: [shardId#1160004, worklistShardItemId#1160005L, qty#1160006, demandChannel#1160007, demandStream#1160008, kpis#1160009], false
(181) Project
Arguments: [shardId#1160004 AS cachedShardId#1160010, worklistShardItemId#1160005L AS cachedWorklistShardItemId#1160011L, qty#1160006 AS cachedQty#1160012, demandChannel#1160007, demandStream#1160008, kpis#1160009 AS cachedKpis#1160013]
(182) Join
Arguments: Inner, (((worklistShardItemId#1159997L = cachedWorklistShardItemId#1160011L) AND (shardId#1159996 = cachedShardId#1160010)) AND ((qty#1160003 = cachedQty#1160012) OR isnull(qty#1160003)))
(183) Project
Arguments: [shardId#1159996, worklistShardItemId#1159997L, version#1159998, product#1159999, plant#1160000]
(184) Deduplicate
Arguments: [plant#1160000, shardId#1159996, version#1159998, worklistShardItemId#1159997L, product#1159999]
(185) LogicalRDD
Arguments: [shardId#1160014, worklistShardItemId#1160015L, qty#1160016, demandChannel#1160017, demandStream#1160018, kpis#1160019], false
(186) Project
Arguments: [shardId#1160014 AS cachedShardId#1160020, worklistShardItemId#1160015L AS cachedWorklistShardItemId#1160021L, qty#1160016 AS cachedQty#1160022, demandChannel#1160017, demandStream#1160018, kpis#1160019 AS cachedKpis#1160023]
(187) Join
Arguments: Inner, ((worklistShardItemId#1159997L = cachedWorklistShardItemId#1160021L) AND (shardId#1159996 = cachedShardId#1160020))
(188) Project
Arguments: [shardId#1159996, worklistShardItemId#1159997L, version#1159998, product#1159999, plant#1160000, cachedQty#1160022 AS qty#1160024, demandChannel#1160017, demandStream#1160018, cachedKpis#1160023 AS kpis#1160025]
(189) Project
Arguments: [shardId#1159996, worklistShardItemId#1159997L, version#1159998, product#1159999, plant#1160000, qty#1160024, demandChannel#1160017, demandStream#1160018, kpis#1160025, false AS isNewlyCalculated#1160026]
(190) Project
Arguments: [shardId#1159996, worklistShardItemId#1159997L, version#1159998, product#1159999, plant#1160000, qty#1160024, demandChannel#1160017, demandStream#1160018, kpis#1160025, isNewlyCalculated#1160026]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1159935, worklistShardItemId#1159936L, version#1159937]
(193) Aggregate
Arguments: [shardId#1159935, worklistShardItemId#1159936L], [shardId#1159935, worklistShardItemId#1159936L, (max(version#1159937) + 1) AS version#1159838]
(194) Join
Arguments: Inner, ((shardId#1100457 = shardId#1159935) AND (worklistShardItemId#1100458L = worklistShardItemId#1159936L))
(195) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, qty#1100464, demandChannel#1156469, demandStream#1156470, kpis#1156504, version#1159838]
(196) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1159838, qty#1100464, demandChannel#1156469, demandStream#1156470, kpis#1156504]