== 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@3b125c67, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000348/stream-10000000348-1], Append
(3) LogicalRDD
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, periodStart#904719, periodEnd#904720, qty#904721], false
(4) RepartitionByExpression
Arguments: [product#904717, plant#904718], 37
(5) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]
(6) LogicalRDD
Arguments: [shardId#916182, worklistShardItemId#916183L, version#916184, product#916185, plant#916186, periodStart#916187, periodEnd#916188, qty#916189], false
(7) RepartitionByExpression
Arguments: [product#916185, plant#916186], 37
(8) Project
Arguments: [shardId#916182, worklistShardItemId#916183L, version#916184, product#916185, plant#916186, qty#916189]
(9) LogicalRDD
Arguments: [shardId#915937, worklistShardItemId#915938L, qty#915939, demandChannel#915940, demandStream#915941, kpis#915942], false
(10) Project
Arguments: [shardId#915937 AS cachedShardId#915943, worklistShardItemId#915938L AS cachedWorklistShardItemId#915944L, qty#915939 AS cachedQty#915945, demandChannel#915940, demandStream#915941, kpis#915942 AS cachedKpis#915946]
(11) Join
Arguments: Inner, (((worklistShardItemId#916183L = cachedWorklistShardItemId#915944L) AND (shardId#916182 = cachedShardId#915943)) AND ((qty#916189 = cachedQty#915945) OR isnull(qty#916189)))
(12) Project
Arguments: [shardId#916182, worklistShardItemId#916183L, version#916184, product#916185, plant#916186]
(13) Deduplicate
Arguments: [plant#916186, shardId#916182, version#916184, worklistShardItemId#916183L, product#916185]
(14) LogicalRDD
Arguments: [shardId#915947, worklistShardItemId#915948L, qty#915949, demandChannel#915950, demandStream#915951, kpis#915952], false
(15) Project
Arguments: [shardId#915947 AS cachedShardId#915953, worklistShardItemId#915948L AS cachedWorklistShardItemId#915954L, qty#915949 AS cachedQty#915955, demandChannel#915950, demandStream#915951, kpis#915952 AS cachedKpis#915956]
(16) Join
Arguments: Inner, ((worklistShardItemId#916183L = cachedWorklistShardItemId#915954L) AND (shardId#916182 = cachedShardId#915953))
(17) Project
Arguments: [shardId#916182, worklistShardItemId#916183L, version#916184, product#916185, plant#916186, cachedQty#915955 AS qty#915957, demandChannel#915950, demandStream#915951, cachedKpis#915956 AS kpis#915958]
(18) Project
Arguments: [shardId#916182, worklistShardItemId#916183L, version#916184, product#916185, plant#916186, qty#915957]
(19) LogicalRDD
Arguments: [shardId#916164, worklistShardItemId#916165L, version#916166, product#916167, plant#916168, periodStart#916169, periodEnd#916170, qty#916171], false
(20) RepartitionByExpression
Arguments: [product#916167, plant#916168], 37
(21) Project
Arguments: [shardId#916164, worklistShardItemId#916165L, version#916166, product#916167, plant#916168, qty#916171]
(22) LogicalRDD
Arguments: [shardId#916172, worklistShardItemId#916173L, qty#916174, demandChannel#916175, demandStream#916176, kpis#916177], false
(23) Project
Arguments: [shardId#916172 AS cachedShardId#916178, worklistShardItemId#916173L AS cachedWorklistShardItemId#916179L, qty#916174 AS cachedQty#916180, demandChannel#916175, demandStream#916176, kpis#916177 AS cachedKpis#916181]
(24) Join
Arguments: Inner, (((worklistShardItemId#916165L = cachedWorklistShardItemId#916179L) AND (shardId#916164 = cachedShardId#916178)) AND isnull(qty#916171))
(25) Project
Arguments: [shardId#916164, worklistShardItemId#916165L, version#916166, product#916167, plant#916168, qty#916171]
(26) Project
Arguments: [shardId#916164, worklistShardItemId#916165L, version#916166, product#916167, plant#916168, qty#916171]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#904714 <=> shardId#916182) AND (worklistShardItemId#904715L <=> worklistShardItemId#916183L)) AND (version#904716 <=> version#916184)) AND (product#904717 <=> product#916185)) AND (plant#904718 <=> plant#916186)) AND (qty#904721 <=> qty#915957))
(29) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]
(30) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, cast(null as string) AS demandChannel#916190]
(31) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#916190, cast(null as string) AS demandStream#916191]
(32) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#916190, demandStream#916191, array() AS kpis#916192]
(33) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#916190, demandStream#916191, kpis#916192, true AS isNewlyCalculated#916193]
(34) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#916190, demandStream#916191, cast(kpis#916192 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#916225, isNewlyCalculated#916193]
(35) LogicalRDD
Arguments: [shardId#916195, worklistShardItemId#916196L, version#916197, product#916198, plant#916199, periodStart#916200, periodEnd#916201, qty#916202], false
(36) RepartitionByExpression
Arguments: [product#916198, plant#916199], 37
(37) Project
Arguments: [shardId#916195, worklistShardItemId#916196L, version#916197, product#916198, plant#916199, qty#916202]
(38) LogicalRDD
Arguments: [shardId#916203, worklistShardItemId#916204L, qty#916205, demandChannel#916206, demandStream#916207, kpis#916208], false
(39) Project
Arguments: [shardId#916203 AS cachedShardId#916209, worklistShardItemId#916204L AS cachedWorklistShardItemId#916210L, qty#916205 AS cachedQty#916211, demandChannel#916206, demandStream#916207, kpis#916208 AS cachedKpis#916212]
(40) Join
Arguments: Inner, (((worklistShardItemId#916196L = cachedWorklistShardItemId#916210L) AND (shardId#916195 = cachedShardId#916209)) AND ((qty#916202 = cachedQty#916211) OR isnull(qty#916202)))
(41) Project
Arguments: [shardId#916195, worklistShardItemId#916196L, version#916197, product#916198, plant#916199]
(42) Deduplicate
Arguments: [plant#916199, shardId#916195, version#916197, worklistShardItemId#916196L, product#916198]
(43) LogicalRDD
Arguments: [shardId#916213, worklistShardItemId#916214L, qty#916215, demandChannel#916216, demandStream#916217, kpis#916218], false
(44) Project
Arguments: [shardId#916213 AS cachedShardId#916219, worklistShardItemId#916214L AS cachedWorklistShardItemId#916220L, qty#916215 AS cachedQty#916221, demandChannel#916216, demandStream#916217, kpis#916218 AS cachedKpis#916222]
(45) Join
Arguments: Inner, ((worklistShardItemId#916196L = cachedWorklistShardItemId#916220L) AND (shardId#916195 = cachedShardId#916219))
(46) Project
Arguments: [shardId#916195, worklistShardItemId#916196L, version#916197, product#916198, plant#916199, cachedQty#916221 AS qty#916223, demandChannel#916216, demandStream#916217, cachedKpis#916222 AS kpis#916224]
(47) Project
Arguments: [shardId#916195, worklistShardItemId#916196L, version#916197, product#916198, plant#916199, qty#916223, demandChannel#916216, demandStream#916217, kpis#916224, false AS isNewlyCalculated#916194]
(48) Project
Arguments: [shardId#916195, worklistShardItemId#916196L, version#916197, product#916198, plant#916199, qty#916223, demandChannel#916216, demandStream#916217, kpis#916224, isNewlyCalculated#916194]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#916193 <=> false)
(51) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#916190, demandStream#916191, kpis#916225]
(52) ExternalRDD
Arguments: [obj#918857]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72819), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72819), 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, 72819), 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, 72819), 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, 72819), 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, 72819), 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#918860, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72820), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72820), 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, 72821), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72821), 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, 72821), 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, 72821), 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, 72822), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72822), 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, 72822), 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, 72822), 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, 72822), 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, 72821), 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, 72820), 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, 72823), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72823), 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, 72823), 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, 72823), 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, 72823), 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, 72820), 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, 72820), 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, 72820), 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, 72824), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72824), 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, 72825), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72825), 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, 72825), 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, 72825), 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, 72825), 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, 72824), 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, 72824), 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, 72820), 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#918861]
(54) Generate
Arguments: explode(prodPlantResults#918861), false, [prodPlantResults#918868]
(55) Project
Arguments: [prodPlantResults#918868]
(56) Project
Arguments: [prodPlantResults#918868.productId AS product#918887, prodPlantResults#918868.plantId AS plant#918888, prodPlantResults#918868.kpiResults AS kpis#918889]
(57) Project
Arguments: [product#918887, plant#918888, kpis#918889, null AS qty#918893]
(58) Project
Arguments: [product#918887, plant#918888, kpis#918889, qty#918893, cast(null as string) AS demandChannel#918894]
(59) Project
Arguments: [product#918887, plant#918888, kpis#918889, qty#918893, demandChannel#918894, cast(null as string) AS demandStream#918895]
(60) Project
Arguments: [product#918887, plant#918888, kpis#918889, cast(qty#918893 as double) AS qty#918914, demandChannel#918894, demandStream#918895]
(61) ExternalRDD
Arguments: [obj#918910]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72819), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72819), 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, 72819), 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, 72819), 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, 72819), 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, 72819), 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#918911, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72820), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72820), 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, 72821), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72821), 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, 72821), 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, 72821), 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, 72822), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72822), 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, 72822), 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, 72822), 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, 72822), 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, 72821), 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, 72820), 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, 72823), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72823), 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, 72823), 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, 72823), 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, 72823), 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, 72820), 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, 72820), 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, 72820), 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, 72824), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72824), 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, 72825), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72825), 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, 72825), 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, 72825), 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, 72825), 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, 72824), 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, 72824), 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, 72820), 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#918912]
(63) Generate
Arguments: explode(prodPlantResults#918912), false, [prodPlantResults#918913]
(64) Project
Arguments: [prodPlantResults#918913]
(65) Generate
Arguments: explode(prodPlantResults#918913.quantityKpiResults), false, [quantityKpiResults#918880]
(66) Project
Arguments: [prodPlantResults#918913.productId AS product#918874, prodPlantResults#918913.plantId AS plant#918875, quantityKpiResults#918880]
(67) Project
Arguments: [product#918874, plant#918875, quantityKpiResults#918880, quantityKpiResults#918880.quantity AS qty#918881]
(68) Project
Arguments: [product#918874, plant#918875, quantityKpiResults#918880, qty#918881, cast(null as string) AS demandChannel#918883]
(69) Project
Arguments: [product#918874, plant#918875, quantityKpiResults#918880, qty#918881, demandChannel#918883, cast(null as string) AS demandStream#918884]
(70) Project
Arguments: [product#918874, plant#918875, quantityKpiResults#918880, qty#918881, demandChannel#918883, demandStream#918884, quantityKpiResults#918880.kpiResults AS kpis#918885]
(71) Project
Arguments: [product#918874, plant#918875, qty#918881, demandChannel#918883, demandStream#918884, kpis#918885]
(72) Project
Arguments: [product#918874, plant#918875, kpis#918885, qty#918881, demandChannel#918883, demandStream#918884]
(73) ExternalRDD
Arguments: [obj#918915]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72819), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72819), 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, 72819), 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, 72819), 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, 72819), 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, 72819), 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#918916, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72820), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72820), 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, 72821), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72821), 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, 72821), 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, 72821), 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, 72822), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72822), 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, 72822), 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, 72822), 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, 72822), 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, 72821), 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, 72820), 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, 72823), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72823), 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, 72823), 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, 72823), 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, 72823), 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, 72820), 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, 72820), 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, 72820), 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, 72824), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72824), 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, 72825), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 72825), 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, 72825), 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, 72825), 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, 72825), 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, 72824), 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, 72824), 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, 72820), 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#918917]
(75) Generate
Arguments: explode(prodPlantResults#918917), false, [prodPlantResults#918918]
(76) Project
Arguments: [prodPlantResults#918918]
(77) Generate
Arguments: explode(prodPlantResults#918918.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#918902]
(78) Project
Arguments: [prodPlantResults#918918.productId AS product#918896, prodPlantResults#918918.plantId AS plant#918897, demandChannelStreamKpiResults#918902]
(79) Project
Arguments: [product#918896, plant#918897, demandChannelStreamKpiResults#918902, null AS qty#918903]
(80) Project
Arguments: [product#918896, plant#918897, demandChannelStreamKpiResults#918902, qty#918903, demandChannelStreamKpiResults#918902.demandChannel AS demandChannel#918904]
(81) Project
Arguments: [product#918896, plant#918897, demandChannelStreamKpiResults#918902, qty#918903, demandChannel#918904, demandChannelStreamKpiResults#918902.demandStream AS demandStream#918906]
(82) Project
Arguments: [product#918896, plant#918897, demandChannelStreamKpiResults#918902, qty#918903, demandChannel#918904, demandStream#918906, demandChannelStreamKpiResults#918902.kpiResults AS kpis#918908]
(83) Project
Arguments: [product#918896, plant#918897, qty#918903, demandChannel#918904, demandStream#918906, kpis#918908]
(84) Project
Arguments: [product#918896, plant#918897, kpis#918908, qty#918903, demandChannel#918904, demandStream#918906]
(85) Project
Arguments: [product#918896, plant#918897, kpis#918908, cast(qty#918903 as double) AS qty#918919, demandChannel#918904, demandStream#918906]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#918887, plant#918888, transform(kpis#918889, lambdafunction(struct(label, lambda kpi#918924.label, dateTime, lambda kpi#918924.datetime, value, lambda kpi#918924.value), lambda kpi#918924, false)) AS kpis#918923, qty#918914, demandChannel#918894, demandStream#918895]
(88) Project
Arguments: [product#918887, plant#918888, qty#918914, demandChannel#918894, demandStream#918895, kpis#918923]
(89) LogicalRDD
Arguments: [shardId#919732, worklistShardItemId#919733L, version#919734, product#919735, plant#919736, periodStart#919737, periodEnd#919738, qty#919739], false
(90) RepartitionByExpression
Arguments: [product#919735, plant#919736], 37
(91) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, version#919734, product#919735, plant#919736, qty#919739]
(92) LogicalRDD
Arguments: [shardId#919740, worklistShardItemId#919741L, version#919742, product#919743, plant#919744, periodStart#919745, periodEnd#919746, qty#919747], false
(93) RepartitionByExpression
Arguments: [product#919743, plant#919744], 37
(94) Project
Arguments: [shardId#919740, worklistShardItemId#919741L, version#919742, product#919743, plant#919744, qty#919747]
(95) LogicalRDD
Arguments: [shardId#919748, worklistShardItemId#919749L, qty#919750, demandChannel#919751, demandStream#919752, kpis#919753], false
(96) Project
Arguments: [shardId#919748 AS cachedShardId#919754, worklistShardItemId#919749L AS cachedWorklistShardItemId#919755L, qty#919750 AS cachedQty#919756, demandChannel#919751, demandStream#919752, kpis#919753 AS cachedKpis#919757]
(97) Join
Arguments: Inner, (((worklistShardItemId#919741L = cachedWorklistShardItemId#919755L) AND (shardId#919740 = cachedShardId#919754)) AND ((qty#919747 = cachedQty#919756) OR isnull(qty#919747)))
(98) Project
Arguments: [shardId#919740, worklistShardItemId#919741L, version#919742, product#919743, plant#919744]
(99) Deduplicate
Arguments: [plant#919744, shardId#919740, version#919742, worklistShardItemId#919741L, product#919743]
(100) LogicalRDD
Arguments: [shardId#919758, worklistShardItemId#919759L, qty#919760, demandChannel#919761, demandStream#919762, kpis#919763], false
(101) Project
Arguments: [shardId#919758 AS cachedShardId#919764, worklistShardItemId#919759L AS cachedWorklistShardItemId#919765L, qty#919760 AS cachedQty#919766, demandChannel#919761, demandStream#919762, kpis#919763 AS cachedKpis#919767]
(102) Join
Arguments: Inner, ((worklistShardItemId#919741L = cachedWorklistShardItemId#919765L) AND (shardId#919740 = cachedShardId#919764))
(103) Project
Arguments: [shardId#919740, worklistShardItemId#919741L, version#919742, product#919743, plant#919744, cachedQty#919766 AS qty#919768, demandChannel#919761, demandStream#919762, cachedKpis#919767 AS kpis#919769]
(104) Project
Arguments: [shardId#919740, worklistShardItemId#919741L, version#919742, product#919743, plant#919744, qty#919768]
(105) LogicalRDD
Arguments: [shardId#919770, worklistShardItemId#919771L, version#919772, product#919773, plant#919774, periodStart#919775, periodEnd#919776, qty#919777], false
(106) RepartitionByExpression
Arguments: [product#919773, plant#919774], 37
(107) Project
Arguments: [shardId#919770, worklistShardItemId#919771L, version#919772, product#919773, plant#919774, qty#919777]
(108) LogicalRDD
Arguments: [shardId#919778, worklistShardItemId#919779L, qty#919780, demandChannel#919781, demandStream#919782, kpis#919783], false
(109) Project
Arguments: [shardId#919778 AS cachedShardId#919784, worklistShardItemId#919779L AS cachedWorklistShardItemId#919785L, qty#919780 AS cachedQty#919786, demandChannel#919781, demandStream#919782, kpis#919783 AS cachedKpis#919787]
(110) Join
Arguments: Inner, (((worklistShardItemId#919771L = cachedWorklistShardItemId#919785L) AND (shardId#919770 = cachedShardId#919784)) AND isnull(qty#919777))
(111) Project
Arguments: [shardId#919770, worklistShardItemId#919771L, version#919772, product#919773, plant#919774, qty#919777]
(112) Project
Arguments: [shardId#919770, worklistShardItemId#919771L, version#919772, product#919773, plant#919774, qty#919777]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#919732 <=> shardId#919740) AND (worklistShardItemId#919733L <=> worklistShardItemId#919741L)) AND (version#919734 <=> version#919742)) AND (product#919735 <=> product#919743)) AND (plant#919736 <=> plant#919744)) AND (qty#919739 <=> qty#919768))
(115) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, version#919734, product#919735, plant#919736, qty#919739]
(116) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, version#919734, product#919735, plant#919736, qty#919739, cast(null as string) AS demandChannel#919788]
(117) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, version#919734, product#919735, plant#919736, qty#919739, demandChannel#919788, cast(null as string) AS demandStream#919789]
(118) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, version#919734, product#919735, plant#919736, qty#919739, demandChannel#919788, demandStream#919789, array() AS kpis#919790]
(119) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, version#919734, product#919735, plant#919736, qty#919739, demandChannel#919788, demandStream#919789, kpis#919790, true AS isNewlyCalculated#919791]
(120) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, version#919734, product#919735, plant#919736, qty#919739, demandChannel#919788, demandStream#919789, cast(kpis#919790 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#919792, isNewlyCalculated#919791]
(121) LogicalRDD
Arguments: [shardId#919793, worklistShardItemId#919794L, version#919795, product#919796, plant#919797, periodStart#919798, periodEnd#919799, qty#919800], false
(122) RepartitionByExpression
Arguments: [product#919796, plant#919797], 37
(123) Project
Arguments: [shardId#919793, worklistShardItemId#919794L, version#919795, product#919796, plant#919797, qty#919800]
(124) LogicalRDD
Arguments: [shardId#919801, worklistShardItemId#919802L, qty#919803, demandChannel#919804, demandStream#919805, kpis#919806], false
(125) Project
Arguments: [shardId#919801 AS cachedShardId#919807, worklistShardItemId#919802L AS cachedWorklistShardItemId#919808L, qty#919803 AS cachedQty#919809, demandChannel#919804, demandStream#919805, kpis#919806 AS cachedKpis#919810]
(126) Join
Arguments: Inner, (((worklistShardItemId#919794L = cachedWorklistShardItemId#919808L) AND (shardId#919793 = cachedShardId#919807)) AND ((qty#919800 = cachedQty#919809) OR isnull(qty#919800)))
(127) Project
Arguments: [shardId#919793, worklistShardItemId#919794L, version#919795, product#919796, plant#919797]
(128) Deduplicate
Arguments: [plant#919797, shardId#919793, version#919795, worklistShardItemId#919794L, product#919796]
(129) LogicalRDD
Arguments: [shardId#919811, worklistShardItemId#919812L, qty#919813, demandChannel#919814, demandStream#919815, kpis#919816], false
(130) Project
Arguments: [shardId#919811 AS cachedShardId#919817, worklistShardItemId#919812L AS cachedWorklistShardItemId#919818L, qty#919813 AS cachedQty#919819, demandChannel#919814, demandStream#919815, kpis#919816 AS cachedKpis#919820]
(131) Join
Arguments: Inner, ((worklistShardItemId#919794L = cachedWorklistShardItemId#919818L) AND (shardId#919793 = cachedShardId#919817))
(132) Project
Arguments: [shardId#919793, worklistShardItemId#919794L, version#919795, product#919796, plant#919797, cachedQty#919819 AS qty#919821, demandChannel#919814, demandStream#919815, cachedKpis#919820 AS kpis#919822]
(133) Project
Arguments: [shardId#919793, worklistShardItemId#919794L, version#919795, product#919796, plant#919797, qty#919821, demandChannel#919814, demandStream#919815, kpis#919822, false AS isNewlyCalculated#919823]
(134) Project
Arguments: [shardId#919793, worklistShardItemId#919794L, version#919795, product#919796, plant#919797, qty#919821, demandChannel#919814, demandStream#919815, kpis#919822, isNewlyCalculated#919823]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#919791 <=> true)
(137) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, product#919735, plant#919736, qty#919739, kpis#919792]
(138) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, product#919735, plant#919736, qty#919739]
(139) Deduplicate
Arguments: [plant#919736, shardId#919732, qty#919739, worklistShardItemId#919733L, product#919735]
(140) Join
Arguments: Inner, ((product#918887 <=> product#919735) AND ((plant#918888 <=> plant#919736) AND ((qty#918914 <=> qty#919739) OR isnull(qty#919739))))
(141) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, qty#918914, demandChannel#918894, demandStream#918895, kpis#918923]
(142) Deduplicate
Arguments: [demandChannel#918894, shardId#919732, qty#918914, worklistShardItemId#919733L, demandStream#918895]
(143) Project
Arguments: [shardId#919732, worklistShardItemId#919733L, qty#918914, demandChannel#918894, demandStream#918895, kpis#918923]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826, product#919827, plant#919828, periodStart#919829, periodEnd#919830, qty#919831], false
(146) RepartitionByExpression
Arguments: [product#919827, plant#919828], 37
(147) Project
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826, product#919827, plant#919828, qty#919831]
(148) LogicalRDD
Arguments: [shardId#919832, worklistShardItemId#919833L, version#919834, product#919835, plant#919836, periodStart#919837, periodEnd#919838, qty#919839], false
(149) RepartitionByExpression
Arguments: [product#919835, plant#919836], 37
(150) Project
Arguments: [shardId#919832, worklistShardItemId#919833L, version#919834, product#919835, plant#919836, qty#919839]
(151) LogicalRDD
Arguments: [shardId#919840, worklistShardItemId#919841L, qty#919842, demandChannel#919843, demandStream#919844, kpis#919845], false
(152) Project
Arguments: [shardId#919840 AS cachedShardId#919846, worklistShardItemId#919841L AS cachedWorklistShardItemId#919847L, qty#919842 AS cachedQty#919848, demandChannel#919843, demandStream#919844, kpis#919845 AS cachedKpis#919849]
(153) Join
Arguments: Inner, (((worklistShardItemId#919833L = cachedWorklistShardItemId#919847L) AND (shardId#919832 = cachedShardId#919846)) AND ((qty#919839 = cachedQty#919848) OR isnull(qty#919839)))
(154) Project
Arguments: [shardId#919832, worklistShardItemId#919833L, version#919834, product#919835, plant#919836]
(155) Deduplicate
Arguments: [plant#919836, shardId#919832, version#919834, worklistShardItemId#919833L, product#919835]
(156) LogicalRDD
Arguments: [shardId#919850, worklistShardItemId#919851L, qty#919852, demandChannel#919853, demandStream#919854, kpis#919855], false
(157) Project
Arguments: [shardId#919850 AS cachedShardId#919856, worklistShardItemId#919851L AS cachedWorklistShardItemId#919857L, qty#919852 AS cachedQty#919858, demandChannel#919853, demandStream#919854, kpis#919855 AS cachedKpis#919859]
(158) Join
Arguments: Inner, ((worklistShardItemId#919833L = cachedWorklistShardItemId#919857L) AND (shardId#919832 = cachedShardId#919856))
(159) Project
Arguments: [shardId#919832, worklistShardItemId#919833L, version#919834, product#919835, plant#919836, cachedQty#919858 AS qty#919860, demandChannel#919853, demandStream#919854, cachedKpis#919859 AS kpis#919861]
(160) Project
Arguments: [shardId#919832, worklistShardItemId#919833L, version#919834, product#919835, plant#919836, qty#919860]
(161) LogicalRDD
Arguments: [shardId#919862, worklistShardItemId#919863L, version#919864, product#919865, plant#919866, periodStart#919867, periodEnd#919868, qty#919869], false
(162) RepartitionByExpression
Arguments: [product#919865, plant#919866], 37
(163) Project
Arguments: [shardId#919862, worklistShardItemId#919863L, version#919864, product#919865, plant#919866, qty#919869]
(164) LogicalRDD
Arguments: [shardId#919870, worklistShardItemId#919871L, qty#919872, demandChannel#919873, demandStream#919874, kpis#919875], false
(165) Project
Arguments: [shardId#919870 AS cachedShardId#919876, worklistShardItemId#919871L AS cachedWorklistShardItemId#919877L, qty#919872 AS cachedQty#919878, demandChannel#919873, demandStream#919874, kpis#919875 AS cachedKpis#919879]
(166) Join
Arguments: Inner, (((worklistShardItemId#919863L = cachedWorklistShardItemId#919877L) AND (shardId#919862 = cachedShardId#919876)) AND isnull(qty#919869))
(167) Project
Arguments: [shardId#919862, worklistShardItemId#919863L, version#919864, product#919865, plant#919866, qty#919869]
(168) Project
Arguments: [shardId#919862, worklistShardItemId#919863L, version#919864, product#919865, plant#919866, qty#919869]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#919824 <=> shardId#919832) AND (worklistShardItemId#919825L <=> worklistShardItemId#919833L)) AND (version#919826 <=> version#919834)) AND (product#919827 <=> product#919835)) AND (plant#919828 <=> plant#919836)) AND (qty#919831 <=> qty#919860))
(171) Project
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826, product#919827, plant#919828, qty#919831]
(172) Project
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826, product#919827, plant#919828, qty#919831, cast(null as string) AS demandChannel#919880]
(173) Project
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826, product#919827, plant#919828, qty#919831, demandChannel#919880, cast(null as string) AS demandStream#919881]
(174) Project
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826, product#919827, plant#919828, qty#919831, demandChannel#919880, demandStream#919881, array() AS kpis#919882]
(175) Project
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826, product#919827, plant#919828, qty#919831, demandChannel#919880, demandStream#919881, kpis#919882, true AS isNewlyCalculated#919883]
(176) Project
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826, product#919827, plant#919828, qty#919831, demandChannel#919880, demandStream#919881, cast(kpis#919882 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#919884, isNewlyCalculated#919883]
(177) LogicalRDD
Arguments: [shardId#919885, worklistShardItemId#919886L, version#919887, product#919888, plant#919889, periodStart#919890, periodEnd#919891, qty#919892], false
(178) RepartitionByExpression
Arguments: [product#919888, plant#919889], 37
(179) Project
Arguments: [shardId#919885, worklistShardItemId#919886L, version#919887, product#919888, plant#919889, qty#919892]
(180) LogicalRDD
Arguments: [shardId#919893, worklistShardItemId#919894L, qty#919895, demandChannel#919896, demandStream#919897, kpis#919898], false
(181) Project
Arguments: [shardId#919893 AS cachedShardId#919899, worklistShardItemId#919894L AS cachedWorklistShardItemId#919900L, qty#919895 AS cachedQty#919901, demandChannel#919896, demandStream#919897, kpis#919898 AS cachedKpis#919902]
(182) Join
Arguments: Inner, (((worklistShardItemId#919886L = cachedWorklistShardItemId#919900L) AND (shardId#919885 = cachedShardId#919899)) AND ((qty#919892 = cachedQty#919901) OR isnull(qty#919892)))
(183) Project
Arguments: [shardId#919885, worklistShardItemId#919886L, version#919887, product#919888, plant#919889]
(184) Deduplicate
Arguments: [plant#919889, shardId#919885, version#919887, worklistShardItemId#919886L, product#919888]
(185) LogicalRDD
Arguments: [shardId#919903, worklistShardItemId#919904L, qty#919905, demandChannel#919906, demandStream#919907, kpis#919908], false
(186) Project
Arguments: [shardId#919903 AS cachedShardId#919909, worklistShardItemId#919904L AS cachedWorklistShardItemId#919910L, qty#919905 AS cachedQty#919911, demandChannel#919906, demandStream#919907, kpis#919908 AS cachedKpis#919912]
(187) Join
Arguments: Inner, ((worklistShardItemId#919886L = cachedWorklistShardItemId#919910L) AND (shardId#919885 = cachedShardId#919909))
(188) Project
Arguments: [shardId#919885, worklistShardItemId#919886L, version#919887, product#919888, plant#919889, cachedQty#919911 AS qty#919913, demandChannel#919906, demandStream#919907, cachedKpis#919912 AS kpis#919914]
(189) Project
Arguments: [shardId#919885, worklistShardItemId#919886L, version#919887, product#919888, plant#919889, qty#919913, demandChannel#919906, demandStream#919907, kpis#919914, false AS isNewlyCalculated#919915]
(190) Project
Arguments: [shardId#919885, worklistShardItemId#919886L, version#919887, product#919888, plant#919889, qty#919913, demandChannel#919906, demandStream#919907, kpis#919914, isNewlyCalculated#919915]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#919824, worklistShardItemId#919825L, version#919826]
(193) Aggregate
Arguments: [shardId#919824, worklistShardItemId#919825L], [shardId#919824, worklistShardItemId#919825L, (max(version#919826) + 1) AS version#919727]
(194) Join
Arguments: Inner, ((shardId#904714 = shardId#919824) AND (worklistShardItemId#904715L = worklistShardItemId#919825L))
(195) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#916190, demandStream#916191, kpis#916225, version#919727]
(196) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#919727, qty#904721, demandChannel#916190, demandStream#916191, kpis#916225]