== 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@34abaea4, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000347/stream-10000000347-1], Append
(3) LogicalRDD
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, periodStart#815745, periodEnd#815746, qty#815747], false
(4) RepartitionByExpression
Arguments: [product#815743, plant#815744], 37
(5) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(6) LogicalRDD
Arguments: [shardId#838206, worklistShardItemId#838207L, version#838208, product#838209, plant#838210, periodStart#838211, periodEnd#838212, qty#838213], false
(7) RepartitionByExpression
Arguments: [product#838209, plant#838210], 37
(8) Project
Arguments: [shardId#838206, worklistShardItemId#838207L, version#838208, product#838209, plant#838210, qty#838213]
(9) LogicalRDD
Arguments: [shardId#837961, worklistShardItemId#837962L, qty#837963, demandChannel#837964, demandStream#837965, kpis#837966], false
(10) Project
Arguments: [shardId#837961 AS cachedShardId#837967, worklistShardItemId#837962L AS cachedWorklistShardItemId#837968L, qty#837963 AS cachedQty#837969, demandChannel#837964, demandStream#837965, kpis#837966 AS cachedKpis#837970]
(11) Join
Arguments: Inner, (((worklistShardItemId#838207L = cachedWorklistShardItemId#837968L) AND (shardId#838206 = cachedShardId#837967)) AND ((qty#838213 = cachedQty#837969) OR isnull(qty#838213)))
(12) Project
Arguments: [shardId#838206, worklistShardItemId#838207L, version#838208, product#838209, plant#838210]
(13) Deduplicate
Arguments: [plant#838210, shardId#838206, version#838208, worklistShardItemId#838207L, product#838209]
(14) LogicalRDD
Arguments: [shardId#837971, worklistShardItemId#837972L, qty#837973, demandChannel#837974, demandStream#837975, kpis#837976], false
(15) Project
Arguments: [shardId#837971 AS cachedShardId#837977, worklistShardItemId#837972L AS cachedWorklistShardItemId#837978L, qty#837973 AS cachedQty#837979, demandChannel#837974, demandStream#837975, kpis#837976 AS cachedKpis#837980]
(16) Join
Arguments: Inner, ((worklistShardItemId#838207L = cachedWorklistShardItemId#837978L) AND (shardId#838206 = cachedShardId#837977))
(17) Project
Arguments: [shardId#838206, worklistShardItemId#838207L, version#838208, product#838209, plant#838210, cachedQty#837979 AS qty#837981, demandChannel#837974, demandStream#837975, cachedKpis#837980 AS kpis#837982]
(18) Project
Arguments: [shardId#838206, worklistShardItemId#838207L, version#838208, product#838209, plant#838210, qty#837981]
(19) LogicalRDD
Arguments: [shardId#838188, worklistShardItemId#838189L, version#838190, product#838191, plant#838192, periodStart#838193, periodEnd#838194, qty#838195], false
(20) RepartitionByExpression
Arguments: [product#838191, plant#838192], 37
(21) Project
Arguments: [shardId#838188, worklistShardItemId#838189L, version#838190, product#838191, plant#838192, qty#838195]
(22) LogicalRDD
Arguments: [shardId#838196, worklistShardItemId#838197L, qty#838198, demandChannel#838199, demandStream#838200, kpis#838201], false
(23) Project
Arguments: [shardId#838196 AS cachedShardId#838202, worklistShardItemId#838197L AS cachedWorklistShardItemId#838203L, qty#838198 AS cachedQty#838204, demandChannel#838199, demandStream#838200, kpis#838201 AS cachedKpis#838205]
(24) Join
Arguments: Inner, (((worklistShardItemId#838189L = cachedWorklistShardItemId#838203L) AND (shardId#838188 = cachedShardId#838202)) AND isnull(qty#838195))
(25) Project
Arguments: [shardId#838188, worklistShardItemId#838189L, version#838190, product#838191, plant#838192, qty#838195]
(26) Project
Arguments: [shardId#838188, worklistShardItemId#838189L, version#838190, product#838191, plant#838192, qty#838195]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#838206) AND (worklistShardItemId#815741L <=> worklistShardItemId#838207L)) AND (version#815742 <=> version#838208)) AND (product#815743 <=> product#838209)) AND (plant#815744 <=> plant#838210)) AND (qty#815747 <=> qty#837981))
(29) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(30) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, cast(null as string) AS demandChannel#838214]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#838214, cast(null as string) AS demandStream#838215]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#838214, demandStream#838215, array() AS kpis#838216]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#838214, demandStream#838215, kpis#838216, true AS isNewlyCalculated#838217]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#838214, demandStream#838215, cast(kpis#838216 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#838249, isNewlyCalculated#838217]
(35) LogicalRDD
Arguments: [shardId#838219, worklistShardItemId#838220L, version#838221, product#838222, plant#838223, periodStart#838224, periodEnd#838225, qty#838226], false
(36) RepartitionByExpression
Arguments: [product#838222, plant#838223], 37
(37) Project
Arguments: [shardId#838219, worklistShardItemId#838220L, version#838221, product#838222, plant#838223, qty#838226]
(38) LogicalRDD
Arguments: [shardId#838227, worklistShardItemId#838228L, qty#838229, demandChannel#838230, demandStream#838231, kpis#838232], false
(39) Project
Arguments: [shardId#838227 AS cachedShardId#838233, worklistShardItemId#838228L AS cachedWorklistShardItemId#838234L, qty#838229 AS cachedQty#838235, demandChannel#838230, demandStream#838231, kpis#838232 AS cachedKpis#838236]
(40) Join
Arguments: Inner, (((worklistShardItemId#838220L = cachedWorklistShardItemId#838234L) AND (shardId#838219 = cachedShardId#838233)) AND ((qty#838226 = cachedQty#838235) OR isnull(qty#838226)))
(41) Project
Arguments: [shardId#838219, worklistShardItemId#838220L, version#838221, product#838222, plant#838223]
(42) Deduplicate
Arguments: [plant#838223, shardId#838219, version#838221, worklistShardItemId#838220L, product#838222]
(43) LogicalRDD
Arguments: [shardId#838237, worklistShardItemId#838238L, qty#838239, demandChannel#838240, demandStream#838241, kpis#838242], false
(44) Project
Arguments: [shardId#838237 AS cachedShardId#838243, worklistShardItemId#838238L AS cachedWorklistShardItemId#838244L, qty#838239 AS cachedQty#838245, demandChannel#838240, demandStream#838241, kpis#838242 AS cachedKpis#838246]
(45) Join
Arguments: Inner, ((worklistShardItemId#838220L = cachedWorklistShardItemId#838244L) AND (shardId#838219 = cachedShardId#838243))
(46) Project
Arguments: [shardId#838219, worklistShardItemId#838220L, version#838221, product#838222, plant#838223, cachedQty#838245 AS qty#838247, demandChannel#838240, demandStream#838241, cachedKpis#838246 AS kpis#838248]
(47) Project
Arguments: [shardId#838219, worklistShardItemId#838220L, version#838221, product#838222, plant#838223, qty#838247, demandChannel#838240, demandStream#838241, kpis#838248, false AS isNewlyCalculated#838218]
(48) Project
Arguments: [shardId#838219, worklistShardItemId#838220L, version#838221, product#838222, plant#838223, qty#838247, demandChannel#838240, demandStream#838241, kpis#838248, isNewlyCalculated#838218]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#838217 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#838214, demandStream#838215, kpis#838249]
(52) ExternalRDD
Arguments: [obj#840713]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66826), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66826), 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, 66826), 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, 66826), 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, 66826), 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, 66826), 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#840716, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66827), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66827), 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, 66828), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66828), 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, 66828), 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, 66828), 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, 66829), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66829), 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, 66829), 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, 66829), 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, 66829), 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, 66828), 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, 66827), 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, 66830), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66830), 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, 66830), 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, 66830), 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, 66830), 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, 66827), 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, 66827), 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, 66827), 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, 66831), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66831), 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, 66832), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66832), 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, 66832), 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, 66832), 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, 66832), 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, 66831), 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, 66831), 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, 66827), 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#840717]
(54) Generate
Arguments: explode(prodPlantResults#840717), false, [prodPlantResults#840724]
(55) Project
Arguments: [prodPlantResults#840724]
(56) Project
Arguments: [prodPlantResults#840724.productId AS product#840743, prodPlantResults#840724.plantId AS plant#840744, prodPlantResults#840724.kpiResults AS kpis#840745]
(57) Project
Arguments: [product#840743, plant#840744, kpis#840745, null AS qty#840749]
(58) Project
Arguments: [product#840743, plant#840744, kpis#840745, qty#840749, cast(null as string) AS demandChannel#840750]
(59) Project
Arguments: [product#840743, plant#840744, kpis#840745, qty#840749, demandChannel#840750, cast(null as string) AS demandStream#840751]
(60) Project
Arguments: [product#840743, plant#840744, kpis#840745, cast(qty#840749 as double) AS qty#840770, demandChannel#840750, demandStream#840751]
(61) ExternalRDD
Arguments: [obj#840766]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66826), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66826), 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, 66826), 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, 66826), 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, 66826), 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, 66826), 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#840767, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66827), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66827), 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, 66828), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66828), 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, 66828), 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, 66828), 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, 66829), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66829), 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, 66829), 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, 66829), 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, 66829), 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, 66828), 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, 66827), 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, 66830), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66830), 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, 66830), 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, 66830), 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, 66830), 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, 66827), 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, 66827), 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, 66827), 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, 66831), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66831), 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, 66832), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66832), 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, 66832), 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, 66832), 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, 66832), 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, 66831), 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, 66831), 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, 66827), 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#840768]
(63) Generate
Arguments: explode(prodPlantResults#840768), false, [prodPlantResults#840769]
(64) Project
Arguments: [prodPlantResults#840769]
(65) Generate
Arguments: explode(prodPlantResults#840769.quantityKpiResults), false, [quantityKpiResults#840736]
(66) Project
Arguments: [prodPlantResults#840769.productId AS product#840730, prodPlantResults#840769.plantId AS plant#840731, quantityKpiResults#840736]
(67) Project
Arguments: [product#840730, plant#840731, quantityKpiResults#840736, quantityKpiResults#840736.quantity AS qty#840737]
(68) Project
Arguments: [product#840730, plant#840731, quantityKpiResults#840736, qty#840737, cast(null as string) AS demandChannel#840739]
(69) Project
Arguments: [product#840730, plant#840731, quantityKpiResults#840736, qty#840737, demandChannel#840739, cast(null as string) AS demandStream#840740]
(70) Project
Arguments: [product#840730, plant#840731, quantityKpiResults#840736, qty#840737, demandChannel#840739, demandStream#840740, quantityKpiResults#840736.kpiResults AS kpis#840741]
(71) Project
Arguments: [product#840730, plant#840731, qty#840737, demandChannel#840739, demandStream#840740, kpis#840741]
(72) Project
Arguments: [product#840730, plant#840731, kpis#840741, qty#840737, demandChannel#840739, demandStream#840740]
(73) ExternalRDD
Arguments: [obj#840771]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66826), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66826), 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, 66826), 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, 66826), 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, 66826), 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, 66826), 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#840772, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66827), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66827), 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, 66828), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66828), 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, 66828), 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, 66828), 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, 66829), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66829), 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, 66829), 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, 66829), 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, 66829), 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, 66828), 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, 66827), 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, 66830), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66830), 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, 66830), 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, 66830), 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, 66830), 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, 66827), 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, 66827), 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, 66827), 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, 66831), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66831), 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, 66832), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 66832), 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, 66832), 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, 66832), 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, 66832), 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, 66831), 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, 66831), 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, 66827), 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#840773]
(75) Generate
Arguments: explode(prodPlantResults#840773), false, [prodPlantResults#840774]
(76) Project
Arguments: [prodPlantResults#840774]
(77) Generate
Arguments: explode(prodPlantResults#840774.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#840758]
(78) Project
Arguments: [prodPlantResults#840774.productId AS product#840752, prodPlantResults#840774.plantId AS plant#840753, demandChannelStreamKpiResults#840758]
(79) Project
Arguments: [product#840752, plant#840753, demandChannelStreamKpiResults#840758, null AS qty#840759]
(80) Project
Arguments: [product#840752, plant#840753, demandChannelStreamKpiResults#840758, qty#840759, demandChannelStreamKpiResults#840758.demandChannel AS demandChannel#840760]
(81) Project
Arguments: [product#840752, plant#840753, demandChannelStreamKpiResults#840758, qty#840759, demandChannel#840760, demandChannelStreamKpiResults#840758.demandStream AS demandStream#840762]
(82) Project
Arguments: [product#840752, plant#840753, demandChannelStreamKpiResults#840758, qty#840759, demandChannel#840760, demandStream#840762, demandChannelStreamKpiResults#840758.kpiResults AS kpis#840764]
(83) Project
Arguments: [product#840752, plant#840753, qty#840759, demandChannel#840760, demandStream#840762, kpis#840764]
(84) Project
Arguments: [product#840752, plant#840753, kpis#840764, qty#840759, demandChannel#840760, demandStream#840762]
(85) Project
Arguments: [product#840752, plant#840753, kpis#840764, cast(qty#840759 as double) AS qty#840775, demandChannel#840760, demandStream#840762]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#840743, plant#840744, transform(kpis#840745, lambdafunction(struct(label, lambda kpi#840780.label, dateTime, lambda kpi#840780.datetime, value, lambda kpi#840780.value), lambda kpi#840780, false)) AS kpis#840779, qty#840770, demandChannel#840750, demandStream#840751]
(88) Project
Arguments: [product#840743, plant#840744, qty#840770, demandChannel#840750, demandStream#840751, kpis#840779]
(89) LogicalRDD
Arguments: [shardId#841588, worklistShardItemId#841589L, version#841590, product#841591, plant#841592, periodStart#841593, periodEnd#841594, qty#841595], false
(90) RepartitionByExpression
Arguments: [product#841591, plant#841592], 37
(91) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, version#841590, product#841591, plant#841592, qty#841595]
(92) LogicalRDD
Arguments: [shardId#841596, worklistShardItemId#841597L, version#841598, product#841599, plant#841600, periodStart#841601, periodEnd#841602, qty#841603], false
(93) RepartitionByExpression
Arguments: [product#841599, plant#841600], 37
(94) Project
Arguments: [shardId#841596, worklistShardItemId#841597L, version#841598, product#841599, plant#841600, qty#841603]
(95) LogicalRDD
Arguments: [shardId#841604, worklistShardItemId#841605L, qty#841606, demandChannel#841607, demandStream#841608, kpis#841609], false
(96) Project
Arguments: [shardId#841604 AS cachedShardId#841610, worklistShardItemId#841605L AS cachedWorklistShardItemId#841611L, qty#841606 AS cachedQty#841612, demandChannel#841607, demandStream#841608, kpis#841609 AS cachedKpis#841613]
(97) Join
Arguments: Inner, (((worklistShardItemId#841597L = cachedWorklistShardItemId#841611L) AND (shardId#841596 = cachedShardId#841610)) AND ((qty#841603 = cachedQty#841612) OR isnull(qty#841603)))
(98) Project
Arguments: [shardId#841596, worklistShardItemId#841597L, version#841598, product#841599, plant#841600]
(99) Deduplicate
Arguments: [plant#841600, shardId#841596, version#841598, worklistShardItemId#841597L, product#841599]
(100) LogicalRDD
Arguments: [shardId#841614, worklistShardItemId#841615L, qty#841616, demandChannel#841617, demandStream#841618, kpis#841619], false
(101) Project
Arguments: [shardId#841614 AS cachedShardId#841620, worklistShardItemId#841615L AS cachedWorklistShardItemId#841621L, qty#841616 AS cachedQty#841622, demandChannel#841617, demandStream#841618, kpis#841619 AS cachedKpis#841623]
(102) Join
Arguments: Inner, ((worklistShardItemId#841597L = cachedWorklistShardItemId#841621L) AND (shardId#841596 = cachedShardId#841620))
(103) Project
Arguments: [shardId#841596, worklistShardItemId#841597L, version#841598, product#841599, plant#841600, cachedQty#841622 AS qty#841624, demandChannel#841617, demandStream#841618, cachedKpis#841623 AS kpis#841625]
(104) Project
Arguments: [shardId#841596, worklistShardItemId#841597L, version#841598, product#841599, plant#841600, qty#841624]
(105) LogicalRDD
Arguments: [shardId#841626, worklistShardItemId#841627L, version#841628, product#841629, plant#841630, periodStart#841631, periodEnd#841632, qty#841633], false
(106) RepartitionByExpression
Arguments: [product#841629, plant#841630], 37
(107) Project
Arguments: [shardId#841626, worklistShardItemId#841627L, version#841628, product#841629, plant#841630, qty#841633]
(108) LogicalRDD
Arguments: [shardId#841634, worklistShardItemId#841635L, qty#841636, demandChannel#841637, demandStream#841638, kpis#841639], false
(109) Project
Arguments: [shardId#841634 AS cachedShardId#841640, worklistShardItemId#841635L AS cachedWorklistShardItemId#841641L, qty#841636 AS cachedQty#841642, demandChannel#841637, demandStream#841638, kpis#841639 AS cachedKpis#841643]
(110) Join
Arguments: Inner, (((worklistShardItemId#841627L = cachedWorklistShardItemId#841641L) AND (shardId#841626 = cachedShardId#841640)) AND isnull(qty#841633))
(111) Project
Arguments: [shardId#841626, worklistShardItemId#841627L, version#841628, product#841629, plant#841630, qty#841633]
(112) Project
Arguments: [shardId#841626, worklistShardItemId#841627L, version#841628, product#841629, plant#841630, qty#841633]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#841588 <=> shardId#841596) AND (worklistShardItemId#841589L <=> worklistShardItemId#841597L)) AND (version#841590 <=> version#841598)) AND (product#841591 <=> product#841599)) AND (plant#841592 <=> plant#841600)) AND (qty#841595 <=> qty#841624))
(115) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, version#841590, product#841591, plant#841592, qty#841595]
(116) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, version#841590, product#841591, plant#841592, qty#841595, cast(null as string) AS demandChannel#841644]
(117) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, version#841590, product#841591, plant#841592, qty#841595, demandChannel#841644, cast(null as string) AS demandStream#841645]
(118) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, version#841590, product#841591, plant#841592, qty#841595, demandChannel#841644, demandStream#841645, array() AS kpis#841646]
(119) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, version#841590, product#841591, plant#841592, qty#841595, demandChannel#841644, demandStream#841645, kpis#841646, true AS isNewlyCalculated#841647]
(120) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, version#841590, product#841591, plant#841592, qty#841595, demandChannel#841644, demandStream#841645, cast(kpis#841646 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#841648, isNewlyCalculated#841647]
(121) LogicalRDD
Arguments: [shardId#841649, worklistShardItemId#841650L, version#841651, product#841652, plant#841653, periodStart#841654, periodEnd#841655, qty#841656], false
(122) RepartitionByExpression
Arguments: [product#841652, plant#841653], 37
(123) Project
Arguments: [shardId#841649, worklistShardItemId#841650L, version#841651, product#841652, plant#841653, qty#841656]
(124) LogicalRDD
Arguments: [shardId#841657, worklistShardItemId#841658L, qty#841659, demandChannel#841660, demandStream#841661, kpis#841662], false
(125) Project
Arguments: [shardId#841657 AS cachedShardId#841663, worklistShardItemId#841658L AS cachedWorklistShardItemId#841664L, qty#841659 AS cachedQty#841665, demandChannel#841660, demandStream#841661, kpis#841662 AS cachedKpis#841666]
(126) Join
Arguments: Inner, (((worklistShardItemId#841650L = cachedWorklistShardItemId#841664L) AND (shardId#841649 = cachedShardId#841663)) AND ((qty#841656 = cachedQty#841665) OR isnull(qty#841656)))
(127) Project
Arguments: [shardId#841649, worklistShardItemId#841650L, version#841651, product#841652, plant#841653]
(128) Deduplicate
Arguments: [plant#841653, shardId#841649, version#841651, worklistShardItemId#841650L, product#841652]
(129) LogicalRDD
Arguments: [shardId#841667, worklistShardItemId#841668L, qty#841669, demandChannel#841670, demandStream#841671, kpis#841672], false
(130) Project
Arguments: [shardId#841667 AS cachedShardId#841673, worklistShardItemId#841668L AS cachedWorklistShardItemId#841674L, qty#841669 AS cachedQty#841675, demandChannel#841670, demandStream#841671, kpis#841672 AS cachedKpis#841676]
(131) Join
Arguments: Inner, ((worklistShardItemId#841650L = cachedWorklistShardItemId#841674L) AND (shardId#841649 = cachedShardId#841673))
(132) Project
Arguments: [shardId#841649, worklistShardItemId#841650L, version#841651, product#841652, plant#841653, cachedQty#841675 AS qty#841677, demandChannel#841670, demandStream#841671, cachedKpis#841676 AS kpis#841678]
(133) Project
Arguments: [shardId#841649, worklistShardItemId#841650L, version#841651, product#841652, plant#841653, qty#841677, demandChannel#841670, demandStream#841671, kpis#841678, false AS isNewlyCalculated#841679]
(134) Project
Arguments: [shardId#841649, worklistShardItemId#841650L, version#841651, product#841652, plant#841653, qty#841677, demandChannel#841670, demandStream#841671, kpis#841678, isNewlyCalculated#841679]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#841647 <=> true)
(137) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, product#841591, plant#841592, qty#841595, kpis#841648]
(138) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, product#841591, plant#841592, qty#841595]
(139) Deduplicate
Arguments: [plant#841592, shardId#841588, qty#841595, worklistShardItemId#841589L, product#841591]
(140) Join
Arguments: Inner, ((product#840743 <=> product#841591) AND ((plant#840744 <=> plant#841592) AND ((qty#840770 <=> qty#841595) OR isnull(qty#841595))))
(141) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, qty#840770, demandChannel#840750, demandStream#840751, kpis#840779]
(142) Deduplicate
Arguments: [demandChannel#840750, shardId#841588, qty#840770, worklistShardItemId#841589L, demandStream#840751]
(143) Project
Arguments: [shardId#841588, worklistShardItemId#841589L, qty#840770, demandChannel#840750, demandStream#840751, kpis#840779]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682, product#841683, plant#841684, periodStart#841685, periodEnd#841686, qty#841687], false
(146) RepartitionByExpression
Arguments: [product#841683, plant#841684], 37
(147) Project
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682, product#841683, plant#841684, qty#841687]
(148) LogicalRDD
Arguments: [shardId#841688, worklistShardItemId#841689L, version#841690, product#841691, plant#841692, periodStart#841693, periodEnd#841694, qty#841695], false
(149) RepartitionByExpression
Arguments: [product#841691, plant#841692], 37
(150) Project
Arguments: [shardId#841688, worklistShardItemId#841689L, version#841690, product#841691, plant#841692, qty#841695]
(151) LogicalRDD
Arguments: [shardId#841696, worklistShardItemId#841697L, qty#841698, demandChannel#841699, demandStream#841700, kpis#841701], false
(152) Project
Arguments: [shardId#841696 AS cachedShardId#841702, worklistShardItemId#841697L AS cachedWorklistShardItemId#841703L, qty#841698 AS cachedQty#841704, demandChannel#841699, demandStream#841700, kpis#841701 AS cachedKpis#841705]
(153) Join
Arguments: Inner, (((worklistShardItemId#841689L = cachedWorklistShardItemId#841703L) AND (shardId#841688 = cachedShardId#841702)) AND ((qty#841695 = cachedQty#841704) OR isnull(qty#841695)))
(154) Project
Arguments: [shardId#841688, worklistShardItemId#841689L, version#841690, product#841691, plant#841692]
(155) Deduplicate
Arguments: [plant#841692, shardId#841688, version#841690, worklistShardItemId#841689L, product#841691]
(156) LogicalRDD
Arguments: [shardId#841706, worklistShardItemId#841707L, qty#841708, demandChannel#841709, demandStream#841710, kpis#841711], false
(157) Project
Arguments: [shardId#841706 AS cachedShardId#841712, worklistShardItemId#841707L AS cachedWorklistShardItemId#841713L, qty#841708 AS cachedQty#841714, demandChannel#841709, demandStream#841710, kpis#841711 AS cachedKpis#841715]
(158) Join
Arguments: Inner, ((worklistShardItemId#841689L = cachedWorklistShardItemId#841713L) AND (shardId#841688 = cachedShardId#841712))
(159) Project
Arguments: [shardId#841688, worklistShardItemId#841689L, version#841690, product#841691, plant#841692, cachedQty#841714 AS qty#841716, demandChannel#841709, demandStream#841710, cachedKpis#841715 AS kpis#841717]
(160) Project
Arguments: [shardId#841688, worklistShardItemId#841689L, version#841690, product#841691, plant#841692, qty#841716]
(161) LogicalRDD
Arguments: [shardId#841718, worklistShardItemId#841719L, version#841720, product#841721, plant#841722, periodStart#841723, periodEnd#841724, qty#841725], false
(162) RepartitionByExpression
Arguments: [product#841721, plant#841722], 37
(163) Project
Arguments: [shardId#841718, worklistShardItemId#841719L, version#841720, product#841721, plant#841722, qty#841725]
(164) LogicalRDD
Arguments: [shardId#841726, worklistShardItemId#841727L, qty#841728, demandChannel#841729, demandStream#841730, kpis#841731], false
(165) Project
Arguments: [shardId#841726 AS cachedShardId#841732, worklistShardItemId#841727L AS cachedWorklistShardItemId#841733L, qty#841728 AS cachedQty#841734, demandChannel#841729, demandStream#841730, kpis#841731 AS cachedKpis#841735]
(166) Join
Arguments: Inner, (((worklistShardItemId#841719L = cachedWorklistShardItemId#841733L) AND (shardId#841718 = cachedShardId#841732)) AND isnull(qty#841725))
(167) Project
Arguments: [shardId#841718, worklistShardItemId#841719L, version#841720, product#841721, plant#841722, qty#841725]
(168) Project
Arguments: [shardId#841718, worklistShardItemId#841719L, version#841720, product#841721, plant#841722, qty#841725]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#841680 <=> shardId#841688) AND (worklistShardItemId#841681L <=> worklistShardItemId#841689L)) AND (version#841682 <=> version#841690)) AND (product#841683 <=> product#841691)) AND (plant#841684 <=> plant#841692)) AND (qty#841687 <=> qty#841716))
(171) Project
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682, product#841683, plant#841684, qty#841687]
(172) Project
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682, product#841683, plant#841684, qty#841687, cast(null as string) AS demandChannel#841736]
(173) Project
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682, product#841683, plant#841684, qty#841687, demandChannel#841736, cast(null as string) AS demandStream#841737]
(174) Project
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682, product#841683, plant#841684, qty#841687, demandChannel#841736, demandStream#841737, array() AS kpis#841738]
(175) Project
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682, product#841683, plant#841684, qty#841687, demandChannel#841736, demandStream#841737, kpis#841738, true AS isNewlyCalculated#841739]
(176) Project
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682, product#841683, plant#841684, qty#841687, demandChannel#841736, demandStream#841737, cast(kpis#841738 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#841740, isNewlyCalculated#841739]
(177) LogicalRDD
Arguments: [shardId#841741, worklistShardItemId#841742L, version#841743, product#841744, plant#841745, periodStart#841746, periodEnd#841747, qty#841748], false
(178) RepartitionByExpression
Arguments: [product#841744, plant#841745], 37
(179) Project
Arguments: [shardId#841741, worklistShardItemId#841742L, version#841743, product#841744, plant#841745, qty#841748]
(180) LogicalRDD
Arguments: [shardId#841749, worklistShardItemId#841750L, qty#841751, demandChannel#841752, demandStream#841753, kpis#841754], false
(181) Project
Arguments: [shardId#841749 AS cachedShardId#841755, worklistShardItemId#841750L AS cachedWorklistShardItemId#841756L, qty#841751 AS cachedQty#841757, demandChannel#841752, demandStream#841753, kpis#841754 AS cachedKpis#841758]
(182) Join
Arguments: Inner, (((worklistShardItemId#841742L = cachedWorklistShardItemId#841756L) AND (shardId#841741 = cachedShardId#841755)) AND ((qty#841748 = cachedQty#841757) OR isnull(qty#841748)))
(183) Project
Arguments: [shardId#841741, worklistShardItemId#841742L, version#841743, product#841744, plant#841745]
(184) Deduplicate
Arguments: [plant#841745, shardId#841741, version#841743, worklistShardItemId#841742L, product#841744]
(185) LogicalRDD
Arguments: [shardId#841759, worklistShardItemId#841760L, qty#841761, demandChannel#841762, demandStream#841763, kpis#841764], false
(186) Project
Arguments: [shardId#841759 AS cachedShardId#841765, worklistShardItemId#841760L AS cachedWorklistShardItemId#841766L, qty#841761 AS cachedQty#841767, demandChannel#841762, demandStream#841763, kpis#841764 AS cachedKpis#841768]
(187) Join
Arguments: Inner, ((worklistShardItemId#841742L = cachedWorklistShardItemId#841766L) AND (shardId#841741 = cachedShardId#841765))
(188) Project
Arguments: [shardId#841741, worklistShardItemId#841742L, version#841743, product#841744, plant#841745, cachedQty#841767 AS qty#841769, demandChannel#841762, demandStream#841763, cachedKpis#841768 AS kpis#841770]
(189) Project
Arguments: [shardId#841741, worklistShardItemId#841742L, version#841743, product#841744, plant#841745, qty#841769, demandChannel#841762, demandStream#841763, kpis#841770, false AS isNewlyCalculated#841771]
(190) Project
Arguments: [shardId#841741, worklistShardItemId#841742L, version#841743, product#841744, plant#841745, qty#841769, demandChannel#841762, demandStream#841763, kpis#841770, isNewlyCalculated#841771]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#841680, worklistShardItemId#841681L, version#841682]
(193) Aggregate
Arguments: [shardId#841680, worklistShardItemId#841681L], [shardId#841680, worklistShardItemId#841681L, (max(version#841682) + 1) AS version#841583]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#841680) AND (worklistShardItemId#815741L = worklistShardItemId#841681L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#838214, demandStream#838215, kpis#838249, version#841583]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#841583, qty#815747, demandChannel#838214, demandStream#838215, kpis#838249]