== 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@36893f64, [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#938582, worklistShardItemId#938583L, version#938584, product#938585, plant#938586, periodStart#938587, periodEnd#938588, qty#938589], false
(7) RepartitionByExpression
Arguments: [product#938585, plant#938586], 37
(8) Project
Arguments: [shardId#938582, worklistShardItemId#938583L, version#938584, product#938585, plant#938586, qty#938589]
(9) LogicalRDD
Arguments: [shardId#938337, worklistShardItemId#938338L, qty#938339, demandChannel#938340, demandStream#938341, kpis#938342], false
(10) Project
Arguments: [shardId#938337 AS cachedShardId#938343, worklistShardItemId#938338L AS cachedWorklistShardItemId#938344L, qty#938339 AS cachedQty#938345, demandChannel#938340, demandStream#938341, kpis#938342 AS cachedKpis#938346]
(11) Join
Arguments: Inner, (((worklistShardItemId#938583L = cachedWorklistShardItemId#938344L) AND (shardId#938582 = cachedShardId#938343)) AND ((qty#938589 = cachedQty#938345) OR isnull(qty#938589)))
(12) Project
Arguments: [shardId#938582, worklistShardItemId#938583L, version#938584, product#938585, plant#938586]
(13) Deduplicate
Arguments: [plant#938586, shardId#938582, version#938584, worklistShardItemId#938583L, product#938585]
(14) LogicalRDD
Arguments: [shardId#938347, worklistShardItemId#938348L, qty#938349, demandChannel#938350, demandStream#938351, kpis#938352], false
(15) Project
Arguments: [shardId#938347 AS cachedShardId#938353, worklistShardItemId#938348L AS cachedWorklistShardItemId#938354L, qty#938349 AS cachedQty#938355, demandChannel#938350, demandStream#938351, kpis#938352 AS cachedKpis#938356]
(16) Join
Arguments: Inner, ((worklistShardItemId#938583L = cachedWorklistShardItemId#938354L) AND (shardId#938582 = cachedShardId#938353))
(17) Project
Arguments: [shardId#938582, worklistShardItemId#938583L, version#938584, product#938585, plant#938586, cachedQty#938355 AS qty#938357, demandChannel#938350, demandStream#938351, cachedKpis#938356 AS kpis#938358]
(18) Project
Arguments: [shardId#938582, worklistShardItemId#938583L, version#938584, product#938585, plant#938586, qty#938357]
(19) LogicalRDD
Arguments: [shardId#938564, worklistShardItemId#938565L, version#938566, product#938567, plant#938568, periodStart#938569, periodEnd#938570, qty#938571], false
(20) RepartitionByExpression
Arguments: [product#938567, plant#938568], 37
(21) Project
Arguments: [shardId#938564, worklistShardItemId#938565L, version#938566, product#938567, plant#938568, qty#938571]
(22) LogicalRDD
Arguments: [shardId#938572, worklistShardItemId#938573L, qty#938574, demandChannel#938575, demandStream#938576, kpis#938577], false
(23) Project
Arguments: [shardId#938572 AS cachedShardId#938578, worklistShardItemId#938573L AS cachedWorklistShardItemId#938579L, qty#938574 AS cachedQty#938580, demandChannel#938575, demandStream#938576, kpis#938577 AS cachedKpis#938581]
(24) Join
Arguments: Inner, (((worklistShardItemId#938565L = cachedWorklistShardItemId#938579L) AND (shardId#938564 = cachedShardId#938578)) AND isnull(qty#938571))
(25) Project
Arguments: [shardId#938564, worklistShardItemId#938565L, version#938566, product#938567, plant#938568, qty#938571]
(26) Project
Arguments: [shardId#938564, worklistShardItemId#938565L, version#938566, product#938567, plant#938568, qty#938571]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#904714 <=> shardId#938582) AND (worklistShardItemId#904715L <=> worklistShardItemId#938583L)) AND (version#904716 <=> version#938584)) AND (product#904717 <=> product#938585)) AND (plant#904718 <=> plant#938586)) AND (qty#904721 <=> qty#938357))
(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#938590]
(31) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#938590, cast(null as string) AS demandStream#938591]
(32) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#938590, demandStream#938591, array() AS kpis#938592]
(33) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#938590, demandStream#938591, kpis#938592, true AS isNewlyCalculated#938593]
(34) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#938590, demandStream#938591, cast(kpis#938592 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#938625, isNewlyCalculated#938593]
(35) LogicalRDD
Arguments: [shardId#938595, worklistShardItemId#938596L, version#938597, product#938598, plant#938599, periodStart#938600, periodEnd#938601, qty#938602], false
(36) RepartitionByExpression
Arguments: [product#938598, plant#938599], 37
(37) Project
Arguments: [shardId#938595, worklistShardItemId#938596L, version#938597, product#938598, plant#938599, qty#938602]
(38) LogicalRDD
Arguments: [shardId#938603, worklistShardItemId#938604L, qty#938605, demandChannel#938606, demandStream#938607, kpis#938608], false
(39) Project
Arguments: [shardId#938603 AS cachedShardId#938609, worklistShardItemId#938604L AS cachedWorklistShardItemId#938610L, qty#938605 AS cachedQty#938611, demandChannel#938606, demandStream#938607, kpis#938608 AS cachedKpis#938612]
(40) Join
Arguments: Inner, (((worklistShardItemId#938596L = cachedWorklistShardItemId#938610L) AND (shardId#938595 = cachedShardId#938609)) AND ((qty#938602 = cachedQty#938611) OR isnull(qty#938602)))
(41) Project
Arguments: [shardId#938595, worklistShardItemId#938596L, version#938597, product#938598, plant#938599]
(42) Deduplicate
Arguments: [plant#938599, shardId#938595, version#938597, worklistShardItemId#938596L, product#938598]
(43) LogicalRDD
Arguments: [shardId#938613, worklistShardItemId#938614L, qty#938615, demandChannel#938616, demandStream#938617, kpis#938618], false
(44) Project
Arguments: [shardId#938613 AS cachedShardId#938619, worklistShardItemId#938614L AS cachedWorklistShardItemId#938620L, qty#938615 AS cachedQty#938621, demandChannel#938616, demandStream#938617, kpis#938618 AS cachedKpis#938622]
(45) Join
Arguments: Inner, ((worklistShardItemId#938596L = cachedWorklistShardItemId#938620L) AND (shardId#938595 = cachedShardId#938619))
(46) Project
Arguments: [shardId#938595, worklistShardItemId#938596L, version#938597, product#938598, plant#938599, cachedQty#938621 AS qty#938623, demandChannel#938616, demandStream#938617, cachedKpis#938622 AS kpis#938624]
(47) Project
Arguments: [shardId#938595, worklistShardItemId#938596L, version#938597, product#938598, plant#938599, qty#938623, demandChannel#938616, demandStream#938617, kpis#938624, false AS isNewlyCalculated#938594]
(48) Project
Arguments: [shardId#938595, worklistShardItemId#938596L, version#938597, product#938598, plant#938599, qty#938623, demandChannel#938616, demandStream#938617, kpis#938624, isNewlyCalculated#938594]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#938593 <=> false)
(51) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#938590, demandStream#938591, kpis#938625]
(52) ExternalRDD
Arguments: [obj#941089]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74159), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74159), 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, 74159), 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, 74159), 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, 74159), 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, 74159), 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#941092, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74160), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74160), 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, 74161), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74161), 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, 74161), 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, 74161), 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, 74162), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74162), 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, 74162), 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, 74162), 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, 74162), 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, 74161), 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, 74160), 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, 74163), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74163), 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, 74163), 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, 74163), 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, 74163), 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, 74160), 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, 74160), 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, 74160), 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, 74164), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74164), 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, 74165), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74165), 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, 74165), 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, 74165), 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, 74165), 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, 74164), 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, 74164), 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, 74160), 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#941093]
(54) Generate
Arguments: explode(prodPlantResults#941093), false, [prodPlantResults#941100]
(55) Project
Arguments: [prodPlantResults#941100]
(56) Project
Arguments: [prodPlantResults#941100.productId AS product#941119, prodPlantResults#941100.plantId AS plant#941120, prodPlantResults#941100.kpiResults AS kpis#941121]
(57) Project
Arguments: [product#941119, plant#941120, kpis#941121, null AS qty#941125]
(58) Project
Arguments: [product#941119, plant#941120, kpis#941121, qty#941125, cast(null as string) AS demandChannel#941126]
(59) Project
Arguments: [product#941119, plant#941120, kpis#941121, qty#941125, demandChannel#941126, cast(null as string) AS demandStream#941127]
(60) Project
Arguments: [product#941119, plant#941120, kpis#941121, cast(qty#941125 as double) AS qty#941146, demandChannel#941126, demandStream#941127]
(61) ExternalRDD
Arguments: [obj#941142]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74159), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74159), 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, 74159), 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, 74159), 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, 74159), 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, 74159), 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#941143, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74160), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74160), 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, 74161), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74161), 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, 74161), 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, 74161), 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, 74162), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74162), 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, 74162), 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, 74162), 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, 74162), 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, 74161), 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, 74160), 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, 74163), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74163), 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, 74163), 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, 74163), 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, 74163), 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, 74160), 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, 74160), 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, 74160), 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, 74164), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74164), 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, 74165), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74165), 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, 74165), 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, 74165), 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, 74165), 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, 74164), 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, 74164), 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, 74160), 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#941144]
(63) Generate
Arguments: explode(prodPlantResults#941144), false, [prodPlantResults#941145]
(64) Project
Arguments: [prodPlantResults#941145]
(65) Generate
Arguments: explode(prodPlantResults#941145.quantityKpiResults), false, [quantityKpiResults#941112]
(66) Project
Arguments: [prodPlantResults#941145.productId AS product#941106, prodPlantResults#941145.plantId AS plant#941107, quantityKpiResults#941112]
(67) Project
Arguments: [product#941106, plant#941107, quantityKpiResults#941112, quantityKpiResults#941112.quantity AS qty#941113]
(68) Project
Arguments: [product#941106, plant#941107, quantityKpiResults#941112, qty#941113, cast(null as string) AS demandChannel#941115]
(69) Project
Arguments: [product#941106, plant#941107, quantityKpiResults#941112, qty#941113, demandChannel#941115, cast(null as string) AS demandStream#941116]
(70) Project
Arguments: [product#941106, plant#941107, quantityKpiResults#941112, qty#941113, demandChannel#941115, demandStream#941116, quantityKpiResults#941112.kpiResults AS kpis#941117]
(71) Project
Arguments: [product#941106, plant#941107, qty#941113, demandChannel#941115, demandStream#941116, kpis#941117]
(72) Project
Arguments: [product#941106, plant#941107, kpis#941117, qty#941113, demandChannel#941115, demandStream#941116]
(73) ExternalRDD
Arguments: [obj#941147]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74159), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74159), 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, 74159), 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, 74159), 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, 74159), 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, 74159), 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#941148, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74160), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74160), 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, 74161), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74161), 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, 74161), 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, 74161), 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, 74162), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74162), 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, 74162), 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, 74162), 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, 74162), 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, 74161), 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, 74160), 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, 74163), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74163), 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, 74163), 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, 74163), 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, 74163), 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, 74160), 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, 74160), 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, 74160), 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, 74164), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74164), 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, 74165), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 74165), 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, 74165), 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, 74165), 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, 74165), 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, 74164), 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, 74164), 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, 74160), 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#941149]
(75) Generate
Arguments: explode(prodPlantResults#941149), false, [prodPlantResults#941150]
(76) Project
Arguments: [prodPlantResults#941150]
(77) Generate
Arguments: explode(prodPlantResults#941150.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#941134]
(78) Project
Arguments: [prodPlantResults#941150.productId AS product#941128, prodPlantResults#941150.plantId AS plant#941129, demandChannelStreamKpiResults#941134]
(79) Project
Arguments: [product#941128, plant#941129, demandChannelStreamKpiResults#941134, null AS qty#941135]
(80) Project
Arguments: [product#941128, plant#941129, demandChannelStreamKpiResults#941134, qty#941135, demandChannelStreamKpiResults#941134.demandChannel AS demandChannel#941136]
(81) Project
Arguments: [product#941128, plant#941129, demandChannelStreamKpiResults#941134, qty#941135, demandChannel#941136, demandChannelStreamKpiResults#941134.demandStream AS demandStream#941138]
(82) Project
Arguments: [product#941128, plant#941129, demandChannelStreamKpiResults#941134, qty#941135, demandChannel#941136, demandStream#941138, demandChannelStreamKpiResults#941134.kpiResults AS kpis#941140]
(83) Project
Arguments: [product#941128, plant#941129, qty#941135, demandChannel#941136, demandStream#941138, kpis#941140]
(84) Project
Arguments: [product#941128, plant#941129, kpis#941140, qty#941135, demandChannel#941136, demandStream#941138]
(85) Project
Arguments: [product#941128, plant#941129, kpis#941140, cast(qty#941135 as double) AS qty#941151, demandChannel#941136, demandStream#941138]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#941119, plant#941120, transform(kpis#941121, lambdafunction(struct(label, lambda kpi#941156.label, dateTime, lambda kpi#941156.datetime, value, lambda kpi#941156.value), lambda kpi#941156, false)) AS kpis#941155, qty#941146, demandChannel#941126, demandStream#941127]
(88) Project
Arguments: [product#941119, plant#941120, qty#941146, demandChannel#941126, demandStream#941127, kpis#941155]
(89) LogicalRDD
Arguments: [shardId#941964, worklistShardItemId#941965L, version#941966, product#941967, plant#941968, periodStart#941969, periodEnd#941970, qty#941971], false
(90) RepartitionByExpression
Arguments: [product#941967, plant#941968], 37
(91) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, version#941966, product#941967, plant#941968, qty#941971]
(92) LogicalRDD
Arguments: [shardId#941972, worklistShardItemId#941973L, version#941974, product#941975, plant#941976, periodStart#941977, periodEnd#941978, qty#941979], false
(93) RepartitionByExpression
Arguments: [product#941975, plant#941976], 37
(94) Project
Arguments: [shardId#941972, worklistShardItemId#941973L, version#941974, product#941975, plant#941976, qty#941979]
(95) LogicalRDD
Arguments: [shardId#941980, worklistShardItemId#941981L, qty#941982, demandChannel#941983, demandStream#941984, kpis#941985], false
(96) Project
Arguments: [shardId#941980 AS cachedShardId#941986, worklistShardItemId#941981L AS cachedWorklistShardItemId#941987L, qty#941982 AS cachedQty#941988, demandChannel#941983, demandStream#941984, kpis#941985 AS cachedKpis#941989]
(97) Join
Arguments: Inner, (((worklistShardItemId#941973L = cachedWorklistShardItemId#941987L) AND (shardId#941972 = cachedShardId#941986)) AND ((qty#941979 = cachedQty#941988) OR isnull(qty#941979)))
(98) Project
Arguments: [shardId#941972, worklistShardItemId#941973L, version#941974, product#941975, plant#941976]
(99) Deduplicate
Arguments: [plant#941976, shardId#941972, version#941974, worklistShardItemId#941973L, product#941975]
(100) LogicalRDD
Arguments: [shardId#941990, worklistShardItemId#941991L, qty#941992, demandChannel#941993, demandStream#941994, kpis#941995], false
(101) Project
Arguments: [shardId#941990 AS cachedShardId#941996, worklistShardItemId#941991L AS cachedWorklistShardItemId#941997L, qty#941992 AS cachedQty#941998, demandChannel#941993, demandStream#941994, kpis#941995 AS cachedKpis#941999]
(102) Join
Arguments: Inner, ((worklistShardItemId#941973L = cachedWorklistShardItemId#941997L) AND (shardId#941972 = cachedShardId#941996))
(103) Project
Arguments: [shardId#941972, worklistShardItemId#941973L, version#941974, product#941975, plant#941976, cachedQty#941998 AS qty#942000, demandChannel#941993, demandStream#941994, cachedKpis#941999 AS kpis#942001]
(104) Project
Arguments: [shardId#941972, worklistShardItemId#941973L, version#941974, product#941975, plant#941976, qty#942000]
(105) LogicalRDD
Arguments: [shardId#942002, worklistShardItemId#942003L, version#942004, product#942005, plant#942006, periodStart#942007, periodEnd#942008, qty#942009], false
(106) RepartitionByExpression
Arguments: [product#942005, plant#942006], 37
(107) Project
Arguments: [shardId#942002, worklistShardItemId#942003L, version#942004, product#942005, plant#942006, qty#942009]
(108) LogicalRDD
Arguments: [shardId#942010, worklistShardItemId#942011L, qty#942012, demandChannel#942013, demandStream#942014, kpis#942015], false
(109) Project
Arguments: [shardId#942010 AS cachedShardId#942016, worklistShardItemId#942011L AS cachedWorklistShardItemId#942017L, qty#942012 AS cachedQty#942018, demandChannel#942013, demandStream#942014, kpis#942015 AS cachedKpis#942019]
(110) Join
Arguments: Inner, (((worklistShardItemId#942003L = cachedWorklistShardItemId#942017L) AND (shardId#942002 = cachedShardId#942016)) AND isnull(qty#942009))
(111) Project
Arguments: [shardId#942002, worklistShardItemId#942003L, version#942004, product#942005, plant#942006, qty#942009]
(112) Project
Arguments: [shardId#942002, worklistShardItemId#942003L, version#942004, product#942005, plant#942006, qty#942009]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#941964 <=> shardId#941972) AND (worklistShardItemId#941965L <=> worklistShardItemId#941973L)) AND (version#941966 <=> version#941974)) AND (product#941967 <=> product#941975)) AND (plant#941968 <=> plant#941976)) AND (qty#941971 <=> qty#942000))
(115) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, version#941966, product#941967, plant#941968, qty#941971]
(116) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, version#941966, product#941967, plant#941968, qty#941971, cast(null as string) AS demandChannel#942020]
(117) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, version#941966, product#941967, plant#941968, qty#941971, demandChannel#942020, cast(null as string) AS demandStream#942021]
(118) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, version#941966, product#941967, plant#941968, qty#941971, demandChannel#942020, demandStream#942021, array() AS kpis#942022]
(119) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, version#941966, product#941967, plant#941968, qty#941971, demandChannel#942020, demandStream#942021, kpis#942022, true AS isNewlyCalculated#942023]
(120) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, version#941966, product#941967, plant#941968, qty#941971, demandChannel#942020, demandStream#942021, cast(kpis#942022 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#942024, isNewlyCalculated#942023]
(121) LogicalRDD
Arguments: [shardId#942025, worklistShardItemId#942026L, version#942027, product#942028, plant#942029, periodStart#942030, periodEnd#942031, qty#942032], false
(122) RepartitionByExpression
Arguments: [product#942028, plant#942029], 37
(123) Project
Arguments: [shardId#942025, worklistShardItemId#942026L, version#942027, product#942028, plant#942029, qty#942032]
(124) LogicalRDD
Arguments: [shardId#942033, worklistShardItemId#942034L, qty#942035, demandChannel#942036, demandStream#942037, kpis#942038], false
(125) Project
Arguments: [shardId#942033 AS cachedShardId#942039, worklistShardItemId#942034L AS cachedWorklistShardItemId#942040L, qty#942035 AS cachedQty#942041, demandChannel#942036, demandStream#942037, kpis#942038 AS cachedKpis#942042]
(126) Join
Arguments: Inner, (((worklistShardItemId#942026L = cachedWorklistShardItemId#942040L) AND (shardId#942025 = cachedShardId#942039)) AND ((qty#942032 = cachedQty#942041) OR isnull(qty#942032)))
(127) Project
Arguments: [shardId#942025, worklistShardItemId#942026L, version#942027, product#942028, plant#942029]
(128) Deduplicate
Arguments: [plant#942029, shardId#942025, version#942027, worklistShardItemId#942026L, product#942028]
(129) LogicalRDD
Arguments: [shardId#942043, worklistShardItemId#942044L, qty#942045, demandChannel#942046, demandStream#942047, kpis#942048], false
(130) Project
Arguments: [shardId#942043 AS cachedShardId#942049, worklistShardItemId#942044L AS cachedWorklistShardItemId#942050L, qty#942045 AS cachedQty#942051, demandChannel#942046, demandStream#942047, kpis#942048 AS cachedKpis#942052]
(131) Join
Arguments: Inner, ((worklistShardItemId#942026L = cachedWorklistShardItemId#942050L) AND (shardId#942025 = cachedShardId#942049))
(132) Project
Arguments: [shardId#942025, worklistShardItemId#942026L, version#942027, product#942028, plant#942029, cachedQty#942051 AS qty#942053, demandChannel#942046, demandStream#942047, cachedKpis#942052 AS kpis#942054]
(133) Project
Arguments: [shardId#942025, worklistShardItemId#942026L, version#942027, product#942028, plant#942029, qty#942053, demandChannel#942046, demandStream#942047, kpis#942054, false AS isNewlyCalculated#942055]
(134) Project
Arguments: [shardId#942025, worklistShardItemId#942026L, version#942027, product#942028, plant#942029, qty#942053, demandChannel#942046, demandStream#942047, kpis#942054, isNewlyCalculated#942055]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#942023 <=> true)
(137) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, product#941967, plant#941968, qty#941971, kpis#942024]
(138) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, product#941967, plant#941968, qty#941971]
(139) Deduplicate
Arguments: [plant#941968, shardId#941964, qty#941971, worklistShardItemId#941965L, product#941967]
(140) Join
Arguments: Inner, ((product#941119 <=> product#941967) AND ((plant#941120 <=> plant#941968) AND ((qty#941146 <=> qty#941971) OR isnull(qty#941971))))
(141) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, qty#941146, demandChannel#941126, demandStream#941127, kpis#941155]
(142) Deduplicate
Arguments: [demandChannel#941126, shardId#941964, qty#941146, worklistShardItemId#941965L, demandStream#941127]
(143) Project
Arguments: [shardId#941964, worklistShardItemId#941965L, qty#941146, demandChannel#941126, demandStream#941127, kpis#941155]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058, product#942059, plant#942060, periodStart#942061, periodEnd#942062, qty#942063], false
(146) RepartitionByExpression
Arguments: [product#942059, plant#942060], 37
(147) Project
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058, product#942059, plant#942060, qty#942063]
(148) LogicalRDD
Arguments: [shardId#942064, worklistShardItemId#942065L, version#942066, product#942067, plant#942068, periodStart#942069, periodEnd#942070, qty#942071], false
(149) RepartitionByExpression
Arguments: [product#942067, plant#942068], 37
(150) Project
Arguments: [shardId#942064, worklistShardItemId#942065L, version#942066, product#942067, plant#942068, qty#942071]
(151) LogicalRDD
Arguments: [shardId#942072, worklistShardItemId#942073L, qty#942074, demandChannel#942075, demandStream#942076, kpis#942077], false
(152) Project
Arguments: [shardId#942072 AS cachedShardId#942078, worklistShardItemId#942073L AS cachedWorklistShardItemId#942079L, qty#942074 AS cachedQty#942080, demandChannel#942075, demandStream#942076, kpis#942077 AS cachedKpis#942081]
(153) Join
Arguments: Inner, (((worklistShardItemId#942065L = cachedWorklistShardItemId#942079L) AND (shardId#942064 = cachedShardId#942078)) AND ((qty#942071 = cachedQty#942080) OR isnull(qty#942071)))
(154) Project
Arguments: [shardId#942064, worklistShardItemId#942065L, version#942066, product#942067, plant#942068]
(155) Deduplicate
Arguments: [plant#942068, shardId#942064, version#942066, worklistShardItemId#942065L, product#942067]
(156) LogicalRDD
Arguments: [shardId#942082, worklistShardItemId#942083L, qty#942084, demandChannel#942085, demandStream#942086, kpis#942087], false
(157) Project
Arguments: [shardId#942082 AS cachedShardId#942088, worklistShardItemId#942083L AS cachedWorklistShardItemId#942089L, qty#942084 AS cachedQty#942090, demandChannel#942085, demandStream#942086, kpis#942087 AS cachedKpis#942091]
(158) Join
Arguments: Inner, ((worklistShardItemId#942065L = cachedWorklistShardItemId#942089L) AND (shardId#942064 = cachedShardId#942088))
(159) Project
Arguments: [shardId#942064, worklistShardItemId#942065L, version#942066, product#942067, plant#942068, cachedQty#942090 AS qty#942092, demandChannel#942085, demandStream#942086, cachedKpis#942091 AS kpis#942093]
(160) Project
Arguments: [shardId#942064, worklistShardItemId#942065L, version#942066, product#942067, plant#942068, qty#942092]
(161) LogicalRDD
Arguments: [shardId#942094, worklistShardItemId#942095L, version#942096, product#942097, plant#942098, periodStart#942099, periodEnd#942100, qty#942101], false
(162) RepartitionByExpression
Arguments: [product#942097, plant#942098], 37
(163) Project
Arguments: [shardId#942094, worklistShardItemId#942095L, version#942096, product#942097, plant#942098, qty#942101]
(164) LogicalRDD
Arguments: [shardId#942102, worklistShardItemId#942103L, qty#942104, demandChannel#942105, demandStream#942106, kpis#942107], false
(165) Project
Arguments: [shardId#942102 AS cachedShardId#942108, worklistShardItemId#942103L AS cachedWorklistShardItemId#942109L, qty#942104 AS cachedQty#942110, demandChannel#942105, demandStream#942106, kpis#942107 AS cachedKpis#942111]
(166) Join
Arguments: Inner, (((worklistShardItemId#942095L = cachedWorklistShardItemId#942109L) AND (shardId#942094 = cachedShardId#942108)) AND isnull(qty#942101))
(167) Project
Arguments: [shardId#942094, worklistShardItemId#942095L, version#942096, product#942097, plant#942098, qty#942101]
(168) Project
Arguments: [shardId#942094, worklistShardItemId#942095L, version#942096, product#942097, plant#942098, qty#942101]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#942056 <=> shardId#942064) AND (worklistShardItemId#942057L <=> worklistShardItemId#942065L)) AND (version#942058 <=> version#942066)) AND (product#942059 <=> product#942067)) AND (plant#942060 <=> plant#942068)) AND (qty#942063 <=> qty#942092))
(171) Project
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058, product#942059, plant#942060, qty#942063]
(172) Project
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058, product#942059, plant#942060, qty#942063, cast(null as string) AS demandChannel#942112]
(173) Project
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058, product#942059, plant#942060, qty#942063, demandChannel#942112, cast(null as string) AS demandStream#942113]
(174) Project
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058, product#942059, plant#942060, qty#942063, demandChannel#942112, demandStream#942113, array() AS kpis#942114]
(175) Project
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058, product#942059, plant#942060, qty#942063, demandChannel#942112, demandStream#942113, kpis#942114, true AS isNewlyCalculated#942115]
(176) Project
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058, product#942059, plant#942060, qty#942063, demandChannel#942112, demandStream#942113, cast(kpis#942114 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#942116, isNewlyCalculated#942115]
(177) LogicalRDD
Arguments: [shardId#942117, worklistShardItemId#942118L, version#942119, product#942120, plant#942121, periodStart#942122, periodEnd#942123, qty#942124], false
(178) RepartitionByExpression
Arguments: [product#942120, plant#942121], 37
(179) Project
Arguments: [shardId#942117, worklistShardItemId#942118L, version#942119, product#942120, plant#942121, qty#942124]
(180) LogicalRDD
Arguments: [shardId#942125, worklistShardItemId#942126L, qty#942127, demandChannel#942128, demandStream#942129, kpis#942130], false
(181) Project
Arguments: [shardId#942125 AS cachedShardId#942131, worklistShardItemId#942126L AS cachedWorklistShardItemId#942132L, qty#942127 AS cachedQty#942133, demandChannel#942128, demandStream#942129, kpis#942130 AS cachedKpis#942134]
(182) Join
Arguments: Inner, (((worklistShardItemId#942118L = cachedWorklistShardItemId#942132L) AND (shardId#942117 = cachedShardId#942131)) AND ((qty#942124 = cachedQty#942133) OR isnull(qty#942124)))
(183) Project
Arguments: [shardId#942117, worklistShardItemId#942118L, version#942119, product#942120, plant#942121]
(184) Deduplicate
Arguments: [plant#942121, shardId#942117, version#942119, worklistShardItemId#942118L, product#942120]
(185) LogicalRDD
Arguments: [shardId#942135, worklistShardItemId#942136L, qty#942137, demandChannel#942138, demandStream#942139, kpis#942140], false
(186) Project
Arguments: [shardId#942135 AS cachedShardId#942141, worklistShardItemId#942136L AS cachedWorklistShardItemId#942142L, qty#942137 AS cachedQty#942143, demandChannel#942138, demandStream#942139, kpis#942140 AS cachedKpis#942144]
(187) Join
Arguments: Inner, ((worklistShardItemId#942118L = cachedWorklistShardItemId#942142L) AND (shardId#942117 = cachedShardId#942141))
(188) Project
Arguments: [shardId#942117, worklistShardItemId#942118L, version#942119, product#942120, plant#942121, cachedQty#942143 AS qty#942145, demandChannel#942138, demandStream#942139, cachedKpis#942144 AS kpis#942146]
(189) Project
Arguments: [shardId#942117, worklistShardItemId#942118L, version#942119, product#942120, plant#942121, qty#942145, demandChannel#942138, demandStream#942139, kpis#942146, false AS isNewlyCalculated#942147]
(190) Project
Arguments: [shardId#942117, worklistShardItemId#942118L, version#942119, product#942120, plant#942121, qty#942145, demandChannel#942138, demandStream#942139, kpis#942146, isNewlyCalculated#942147]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#942056, worklistShardItemId#942057L, version#942058]
(193) Aggregate
Arguments: [shardId#942056, worklistShardItemId#942057L], [shardId#942056, worklistShardItemId#942057L, (max(version#942058) + 1) AS version#941959]
(194) Join
Arguments: Inner, ((shardId#904714 = shardId#942056) AND (worklistShardItemId#904715L = worklistShardItemId#942057L))
(195) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#938590, demandStream#938591, kpis#938625, version#941959]
(196) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#941959, qty#904721, demandChannel#938590, demandStream#938591, kpis#938625]