== 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@3b84bd05, [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#927466, worklistShardItemId#927467L, version#927468, product#927469, plant#927470, periodStart#927471, periodEnd#927472, qty#927473], false
(7) RepartitionByExpression
Arguments: [product#927469, plant#927470], 37
(8) Project
Arguments: [shardId#927466, worklistShardItemId#927467L, version#927468, product#927469, plant#927470, qty#927473]
(9) LogicalRDD
Arguments: [shardId#927221, worklistShardItemId#927222L, qty#927223, demandChannel#927224, demandStream#927225, kpis#927226], false
(10) Project
Arguments: [shardId#927221 AS cachedShardId#927227, worklistShardItemId#927222L AS cachedWorklistShardItemId#927228L, qty#927223 AS cachedQty#927229, demandChannel#927224, demandStream#927225, kpis#927226 AS cachedKpis#927230]
(11) Join
Arguments: Inner, (((worklistShardItemId#927467L = cachedWorklistShardItemId#927228L) AND (shardId#927466 = cachedShardId#927227)) AND ((qty#927473 = cachedQty#927229) OR isnull(qty#927473)))
(12) Project
Arguments: [shardId#927466, worklistShardItemId#927467L, version#927468, product#927469, plant#927470]
(13) Deduplicate
Arguments: [plant#927470, shardId#927466, version#927468, worklistShardItemId#927467L, product#927469]
(14) LogicalRDD
Arguments: [shardId#927231, worklistShardItemId#927232L, qty#927233, demandChannel#927234, demandStream#927235, kpis#927236], false
(15) Project
Arguments: [shardId#927231 AS cachedShardId#927237, worklistShardItemId#927232L AS cachedWorklistShardItemId#927238L, qty#927233 AS cachedQty#927239, demandChannel#927234, demandStream#927235, kpis#927236 AS cachedKpis#927240]
(16) Join
Arguments: Inner, ((worklistShardItemId#927467L = cachedWorklistShardItemId#927238L) AND (shardId#927466 = cachedShardId#927237))
(17) Project
Arguments: [shardId#927466, worklistShardItemId#927467L, version#927468, product#927469, plant#927470, cachedQty#927239 AS qty#927241, demandChannel#927234, demandStream#927235, cachedKpis#927240 AS kpis#927242]
(18) Project
Arguments: [shardId#927466, worklistShardItemId#927467L, version#927468, product#927469, plant#927470, qty#927241]
(19) LogicalRDD
Arguments: [shardId#927448, worklistShardItemId#927449L, version#927450, product#927451, plant#927452, periodStart#927453, periodEnd#927454, qty#927455], false
(20) RepartitionByExpression
Arguments: [product#927451, plant#927452], 37
(21) Project
Arguments: [shardId#927448, worklistShardItemId#927449L, version#927450, product#927451, plant#927452, qty#927455]
(22) LogicalRDD
Arguments: [shardId#927456, worklistShardItemId#927457L, qty#927458, demandChannel#927459, demandStream#927460, kpis#927461], false
(23) Project
Arguments: [shardId#927456 AS cachedShardId#927462, worklistShardItemId#927457L AS cachedWorklistShardItemId#927463L, qty#927458 AS cachedQty#927464, demandChannel#927459, demandStream#927460, kpis#927461 AS cachedKpis#927465]
(24) Join
Arguments: Inner, (((worklistShardItemId#927449L = cachedWorklistShardItemId#927463L) AND (shardId#927448 = cachedShardId#927462)) AND isnull(qty#927455))
(25) Project
Arguments: [shardId#927448, worklistShardItemId#927449L, version#927450, product#927451, plant#927452, qty#927455]
(26) Project
Arguments: [shardId#927448, worklistShardItemId#927449L, version#927450, product#927451, plant#927452, qty#927455]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#904714 <=> shardId#927466) AND (worklistShardItemId#904715L <=> worklistShardItemId#927467L)) AND (version#904716 <=> version#927468)) AND (product#904717 <=> product#927469)) AND (plant#904718 <=> plant#927470)) AND (qty#904721 <=> qty#927241))
(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#927474]
(31) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#927474, cast(null as string) AS demandStream#927475]
(32) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#927474, demandStream#927475, array() AS kpis#927476]
(33) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#927474, demandStream#927475, kpis#927476, true AS isNewlyCalculated#927477]
(34) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#927474, demandStream#927475, cast(kpis#927476 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#927509, isNewlyCalculated#927477]
(35) LogicalRDD
Arguments: [shardId#927479, worklistShardItemId#927480L, version#927481, product#927482, plant#927483, periodStart#927484, periodEnd#927485, qty#927486], false
(36) RepartitionByExpression
Arguments: [product#927482, plant#927483], 37
(37) Project
Arguments: [shardId#927479, worklistShardItemId#927480L, version#927481, product#927482, plant#927483, qty#927486]
(38) LogicalRDD
Arguments: [shardId#927487, worklistShardItemId#927488L, qty#927489, demandChannel#927490, demandStream#927491, kpis#927492], false
(39) Project
Arguments: [shardId#927487 AS cachedShardId#927493, worklistShardItemId#927488L AS cachedWorklistShardItemId#927494L, qty#927489 AS cachedQty#927495, demandChannel#927490, demandStream#927491, kpis#927492 AS cachedKpis#927496]
(40) Join
Arguments: Inner, (((worklistShardItemId#927480L = cachedWorklistShardItemId#927494L) AND (shardId#927479 = cachedShardId#927493)) AND ((qty#927486 = cachedQty#927495) OR isnull(qty#927486)))
(41) Project
Arguments: [shardId#927479, worklistShardItemId#927480L, version#927481, product#927482, plant#927483]
(42) Deduplicate
Arguments: [plant#927483, shardId#927479, version#927481, worklistShardItemId#927480L, product#927482]
(43) LogicalRDD
Arguments: [shardId#927497, worklistShardItemId#927498L, qty#927499, demandChannel#927500, demandStream#927501, kpis#927502], false
(44) Project
Arguments: [shardId#927497 AS cachedShardId#927503, worklistShardItemId#927498L AS cachedWorklistShardItemId#927504L, qty#927499 AS cachedQty#927505, demandChannel#927500, demandStream#927501, kpis#927502 AS cachedKpis#927506]
(45) Join
Arguments: Inner, ((worklistShardItemId#927480L = cachedWorklistShardItemId#927504L) AND (shardId#927479 = cachedShardId#927503))
(46) Project
Arguments: [shardId#927479, worklistShardItemId#927480L, version#927481, product#927482, plant#927483, cachedQty#927505 AS qty#927507, demandChannel#927500, demandStream#927501, cachedKpis#927506 AS kpis#927508]
(47) Project
Arguments: [shardId#927479, worklistShardItemId#927480L, version#927481, product#927482, plant#927483, qty#927507, demandChannel#927500, demandStream#927501, kpis#927508, false AS isNewlyCalculated#927478]
(48) Project
Arguments: [shardId#927479, worklistShardItemId#927480L, version#927481, product#927482, plant#927483, qty#927507, demandChannel#927500, demandStream#927501, kpis#927508, isNewlyCalculated#927478]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#927477 <=> false)
(51) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#927474, demandStream#927475, kpis#927509]
(52) ExternalRDD
Arguments: [obj#929973]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73489), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73489), 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, 73489), 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, 73489), 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, 73489), 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, 73489), 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#929976, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73490), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73490), 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, 73491), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73491), 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, 73491), 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, 73491), 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, 73492), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73492), 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, 73492), 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, 73492), 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, 73492), 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, 73491), 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, 73490), 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, 73493), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73493), 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, 73493), 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, 73493), 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, 73493), 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, 73490), 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, 73490), 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, 73490), 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, 73494), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73494), 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, 73495), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73495), 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, 73495), 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, 73495), 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, 73495), 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, 73494), 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, 73494), 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, 73490), 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#929977]
(54) Generate
Arguments: explode(prodPlantResults#929977), false, [prodPlantResults#929984]
(55) Project
Arguments: [prodPlantResults#929984]
(56) Project
Arguments: [prodPlantResults#929984.productId AS product#930003, prodPlantResults#929984.plantId AS plant#930004, prodPlantResults#929984.kpiResults AS kpis#930005]
(57) Project
Arguments: [product#930003, plant#930004, kpis#930005, null AS qty#930009]
(58) Project
Arguments: [product#930003, plant#930004, kpis#930005, qty#930009, cast(null as string) AS demandChannel#930010]
(59) Project
Arguments: [product#930003, plant#930004, kpis#930005, qty#930009, demandChannel#930010, cast(null as string) AS demandStream#930011]
(60) Project
Arguments: [product#930003, plant#930004, kpis#930005, cast(qty#930009 as double) AS qty#930030, demandChannel#930010, demandStream#930011]
(61) ExternalRDD
Arguments: [obj#930026]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73489), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73489), 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, 73489), 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, 73489), 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, 73489), 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, 73489), 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#930027, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73490), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73490), 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, 73491), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73491), 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, 73491), 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, 73491), 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, 73492), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73492), 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, 73492), 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, 73492), 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, 73492), 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, 73491), 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, 73490), 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, 73493), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73493), 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, 73493), 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, 73493), 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, 73493), 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, 73490), 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, 73490), 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, 73490), 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, 73494), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73494), 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, 73495), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73495), 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, 73495), 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, 73495), 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, 73495), 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, 73494), 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, 73494), 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, 73490), 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#930028]
(63) Generate
Arguments: explode(prodPlantResults#930028), false, [prodPlantResults#930029]
(64) Project
Arguments: [prodPlantResults#930029]
(65) Generate
Arguments: explode(prodPlantResults#930029.quantityKpiResults), false, [quantityKpiResults#929996]
(66) Project
Arguments: [prodPlantResults#930029.productId AS product#929990, prodPlantResults#930029.plantId AS plant#929991, quantityKpiResults#929996]
(67) Project
Arguments: [product#929990, plant#929991, quantityKpiResults#929996, quantityKpiResults#929996.quantity AS qty#929997]
(68) Project
Arguments: [product#929990, plant#929991, quantityKpiResults#929996, qty#929997, cast(null as string) AS demandChannel#929999]
(69) Project
Arguments: [product#929990, plant#929991, quantityKpiResults#929996, qty#929997, demandChannel#929999, cast(null as string) AS demandStream#930000]
(70) Project
Arguments: [product#929990, plant#929991, quantityKpiResults#929996, qty#929997, demandChannel#929999, demandStream#930000, quantityKpiResults#929996.kpiResults AS kpis#930001]
(71) Project
Arguments: [product#929990, plant#929991, qty#929997, demandChannel#929999, demandStream#930000, kpis#930001]
(72) Project
Arguments: [product#929990, plant#929991, kpis#930001, qty#929997, demandChannel#929999, demandStream#930000]
(73) ExternalRDD
Arguments: [obj#930031]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73489), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73489), 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, 73489), 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, 73489), 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, 73489), 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, 73489), 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#930032, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73490), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73490), 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, 73491), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73491), 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, 73491), 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, 73491), 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, 73492), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73492), 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, 73492), 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, 73492), 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, 73492), 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, 73491), 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, 73490), 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, 73493), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73493), 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, 73493), 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, 73493), 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, 73493), 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, 73490), 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, 73490), 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, 73490), 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, 73494), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73494), 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, 73495), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73495), 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, 73495), 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, 73495), 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, 73495), 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, 73494), 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, 73494), 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, 73490), 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#930033]
(75) Generate
Arguments: explode(prodPlantResults#930033), false, [prodPlantResults#930034]
(76) Project
Arguments: [prodPlantResults#930034]
(77) Generate
Arguments: explode(prodPlantResults#930034.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#930018]
(78) Project
Arguments: [prodPlantResults#930034.productId AS product#930012, prodPlantResults#930034.plantId AS plant#930013, demandChannelStreamKpiResults#930018]
(79) Project
Arguments: [product#930012, plant#930013, demandChannelStreamKpiResults#930018, null AS qty#930019]
(80) Project
Arguments: [product#930012, plant#930013, demandChannelStreamKpiResults#930018, qty#930019, demandChannelStreamKpiResults#930018.demandChannel AS demandChannel#930020]
(81) Project
Arguments: [product#930012, plant#930013, demandChannelStreamKpiResults#930018, qty#930019, demandChannel#930020, demandChannelStreamKpiResults#930018.demandStream AS demandStream#930022]
(82) Project
Arguments: [product#930012, plant#930013, demandChannelStreamKpiResults#930018, qty#930019, demandChannel#930020, demandStream#930022, demandChannelStreamKpiResults#930018.kpiResults AS kpis#930024]
(83) Project
Arguments: [product#930012, plant#930013, qty#930019, demandChannel#930020, demandStream#930022, kpis#930024]
(84) Project
Arguments: [product#930012, plant#930013, kpis#930024, qty#930019, demandChannel#930020, demandStream#930022]
(85) Project
Arguments: [product#930012, plant#930013, kpis#930024, cast(qty#930019 as double) AS qty#930035, demandChannel#930020, demandStream#930022]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#930003, plant#930004, transform(kpis#930005, lambdafunction(struct(label, lambda kpi#930040.label, dateTime, lambda kpi#930040.datetime, value, lambda kpi#930040.value), lambda kpi#930040, false)) AS kpis#930039, qty#930030, demandChannel#930010, demandStream#930011]
(88) Project
Arguments: [product#930003, plant#930004, qty#930030, demandChannel#930010, demandStream#930011, kpis#930039]
(89) LogicalRDD
Arguments: [shardId#930848, worklistShardItemId#930849L, version#930850, product#930851, plant#930852, periodStart#930853, periodEnd#930854, qty#930855], false
(90) RepartitionByExpression
Arguments: [product#930851, plant#930852], 37
(91) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, version#930850, product#930851, plant#930852, qty#930855]
(92) LogicalRDD
Arguments: [shardId#930856, worklistShardItemId#930857L, version#930858, product#930859, plant#930860, periodStart#930861, periodEnd#930862, qty#930863], false
(93) RepartitionByExpression
Arguments: [product#930859, plant#930860], 37
(94) Project
Arguments: [shardId#930856, worklistShardItemId#930857L, version#930858, product#930859, plant#930860, qty#930863]
(95) LogicalRDD
Arguments: [shardId#930864, worklistShardItemId#930865L, qty#930866, demandChannel#930867, demandStream#930868, kpis#930869], false
(96) Project
Arguments: [shardId#930864 AS cachedShardId#930870, worklistShardItemId#930865L AS cachedWorklistShardItemId#930871L, qty#930866 AS cachedQty#930872, demandChannel#930867, demandStream#930868, kpis#930869 AS cachedKpis#930873]
(97) Join
Arguments: Inner, (((worklistShardItemId#930857L = cachedWorklistShardItemId#930871L) AND (shardId#930856 = cachedShardId#930870)) AND ((qty#930863 = cachedQty#930872) OR isnull(qty#930863)))
(98) Project
Arguments: [shardId#930856, worklistShardItemId#930857L, version#930858, product#930859, plant#930860]
(99) Deduplicate
Arguments: [plant#930860, shardId#930856, version#930858, worklistShardItemId#930857L, product#930859]
(100) LogicalRDD
Arguments: [shardId#930874, worklistShardItemId#930875L, qty#930876, demandChannel#930877, demandStream#930878, kpis#930879], false
(101) Project
Arguments: [shardId#930874 AS cachedShardId#930880, worklistShardItemId#930875L AS cachedWorklistShardItemId#930881L, qty#930876 AS cachedQty#930882, demandChannel#930877, demandStream#930878, kpis#930879 AS cachedKpis#930883]
(102) Join
Arguments: Inner, ((worklistShardItemId#930857L = cachedWorklistShardItemId#930881L) AND (shardId#930856 = cachedShardId#930880))
(103) Project
Arguments: [shardId#930856, worklistShardItemId#930857L, version#930858, product#930859, plant#930860, cachedQty#930882 AS qty#930884, demandChannel#930877, demandStream#930878, cachedKpis#930883 AS kpis#930885]
(104) Project
Arguments: [shardId#930856, worklistShardItemId#930857L, version#930858, product#930859, plant#930860, qty#930884]
(105) LogicalRDD
Arguments: [shardId#930886, worklistShardItemId#930887L, version#930888, product#930889, plant#930890, periodStart#930891, periodEnd#930892, qty#930893], false
(106) RepartitionByExpression
Arguments: [product#930889, plant#930890], 37
(107) Project
Arguments: [shardId#930886, worklistShardItemId#930887L, version#930888, product#930889, plant#930890, qty#930893]
(108) LogicalRDD
Arguments: [shardId#930894, worklistShardItemId#930895L, qty#930896, demandChannel#930897, demandStream#930898, kpis#930899], false
(109) Project
Arguments: [shardId#930894 AS cachedShardId#930900, worklistShardItemId#930895L AS cachedWorklistShardItemId#930901L, qty#930896 AS cachedQty#930902, demandChannel#930897, demandStream#930898, kpis#930899 AS cachedKpis#930903]
(110) Join
Arguments: Inner, (((worklistShardItemId#930887L = cachedWorklistShardItemId#930901L) AND (shardId#930886 = cachedShardId#930900)) AND isnull(qty#930893))
(111) Project
Arguments: [shardId#930886, worklistShardItemId#930887L, version#930888, product#930889, plant#930890, qty#930893]
(112) Project
Arguments: [shardId#930886, worklistShardItemId#930887L, version#930888, product#930889, plant#930890, qty#930893]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#930848 <=> shardId#930856) AND (worklistShardItemId#930849L <=> worklistShardItemId#930857L)) AND (version#930850 <=> version#930858)) AND (product#930851 <=> product#930859)) AND (plant#930852 <=> plant#930860)) AND (qty#930855 <=> qty#930884))
(115) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, version#930850, product#930851, plant#930852, qty#930855]
(116) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, version#930850, product#930851, plant#930852, qty#930855, cast(null as string) AS demandChannel#930904]
(117) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, version#930850, product#930851, plant#930852, qty#930855, demandChannel#930904, cast(null as string) AS demandStream#930905]
(118) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, version#930850, product#930851, plant#930852, qty#930855, demandChannel#930904, demandStream#930905, array() AS kpis#930906]
(119) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, version#930850, product#930851, plant#930852, qty#930855, demandChannel#930904, demandStream#930905, kpis#930906, true AS isNewlyCalculated#930907]
(120) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, version#930850, product#930851, plant#930852, qty#930855, demandChannel#930904, demandStream#930905, cast(kpis#930906 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#930908, isNewlyCalculated#930907]
(121) LogicalRDD
Arguments: [shardId#930909, worklistShardItemId#930910L, version#930911, product#930912, plant#930913, periodStart#930914, periodEnd#930915, qty#930916], false
(122) RepartitionByExpression
Arguments: [product#930912, plant#930913], 37
(123) Project
Arguments: [shardId#930909, worklistShardItemId#930910L, version#930911, product#930912, plant#930913, qty#930916]
(124) LogicalRDD
Arguments: [shardId#930917, worklistShardItemId#930918L, qty#930919, demandChannel#930920, demandStream#930921, kpis#930922], false
(125) Project
Arguments: [shardId#930917 AS cachedShardId#930923, worklistShardItemId#930918L AS cachedWorklistShardItemId#930924L, qty#930919 AS cachedQty#930925, demandChannel#930920, demandStream#930921, kpis#930922 AS cachedKpis#930926]
(126) Join
Arguments: Inner, (((worklistShardItemId#930910L = cachedWorklistShardItemId#930924L) AND (shardId#930909 = cachedShardId#930923)) AND ((qty#930916 = cachedQty#930925) OR isnull(qty#930916)))
(127) Project
Arguments: [shardId#930909, worklistShardItemId#930910L, version#930911, product#930912, plant#930913]
(128) Deduplicate
Arguments: [plant#930913, shardId#930909, version#930911, worklistShardItemId#930910L, product#930912]
(129) LogicalRDD
Arguments: [shardId#930927, worklistShardItemId#930928L, qty#930929, demandChannel#930930, demandStream#930931, kpis#930932], false
(130) Project
Arguments: [shardId#930927 AS cachedShardId#930933, worklistShardItemId#930928L AS cachedWorklistShardItemId#930934L, qty#930929 AS cachedQty#930935, demandChannel#930930, demandStream#930931, kpis#930932 AS cachedKpis#930936]
(131) Join
Arguments: Inner, ((worklistShardItemId#930910L = cachedWorklistShardItemId#930934L) AND (shardId#930909 = cachedShardId#930933))
(132) Project
Arguments: [shardId#930909, worklistShardItemId#930910L, version#930911, product#930912, plant#930913, cachedQty#930935 AS qty#930937, demandChannel#930930, demandStream#930931, cachedKpis#930936 AS kpis#930938]
(133) Project
Arguments: [shardId#930909, worklistShardItemId#930910L, version#930911, product#930912, plant#930913, qty#930937, demandChannel#930930, demandStream#930931, kpis#930938, false AS isNewlyCalculated#930939]
(134) Project
Arguments: [shardId#930909, worklistShardItemId#930910L, version#930911, product#930912, plant#930913, qty#930937, demandChannel#930930, demandStream#930931, kpis#930938, isNewlyCalculated#930939]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#930907 <=> true)
(137) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, product#930851, plant#930852, qty#930855, kpis#930908]
(138) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, product#930851, plant#930852, qty#930855]
(139) Deduplicate
Arguments: [plant#930852, shardId#930848, qty#930855, worklistShardItemId#930849L, product#930851]
(140) Join
Arguments: Inner, ((product#930003 <=> product#930851) AND ((plant#930004 <=> plant#930852) AND ((qty#930030 <=> qty#930855) OR isnull(qty#930855))))
(141) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, qty#930030, demandChannel#930010, demandStream#930011, kpis#930039]
(142) Deduplicate
Arguments: [demandChannel#930010, shardId#930848, qty#930030, worklistShardItemId#930849L, demandStream#930011]
(143) Project
Arguments: [shardId#930848, worklistShardItemId#930849L, qty#930030, demandChannel#930010, demandStream#930011, kpis#930039]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942, product#930943, plant#930944, periodStart#930945, periodEnd#930946, qty#930947], false
(146) RepartitionByExpression
Arguments: [product#930943, plant#930944], 37
(147) Project
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942, product#930943, plant#930944, qty#930947]
(148) LogicalRDD
Arguments: [shardId#930948, worklistShardItemId#930949L, version#930950, product#930951, plant#930952, periodStart#930953, periodEnd#930954, qty#930955], false
(149) RepartitionByExpression
Arguments: [product#930951, plant#930952], 37
(150) Project
Arguments: [shardId#930948, worklistShardItemId#930949L, version#930950, product#930951, plant#930952, qty#930955]
(151) LogicalRDD
Arguments: [shardId#930956, worklistShardItemId#930957L, qty#930958, demandChannel#930959, demandStream#930960, kpis#930961], false
(152) Project
Arguments: [shardId#930956 AS cachedShardId#930962, worklistShardItemId#930957L AS cachedWorklistShardItemId#930963L, qty#930958 AS cachedQty#930964, demandChannel#930959, demandStream#930960, kpis#930961 AS cachedKpis#930965]
(153) Join
Arguments: Inner, (((worklistShardItemId#930949L = cachedWorklistShardItemId#930963L) AND (shardId#930948 = cachedShardId#930962)) AND ((qty#930955 = cachedQty#930964) OR isnull(qty#930955)))
(154) Project
Arguments: [shardId#930948, worklistShardItemId#930949L, version#930950, product#930951, plant#930952]
(155) Deduplicate
Arguments: [plant#930952, shardId#930948, version#930950, worklistShardItemId#930949L, product#930951]
(156) LogicalRDD
Arguments: [shardId#930966, worklistShardItemId#930967L, qty#930968, demandChannel#930969, demandStream#930970, kpis#930971], false
(157) Project
Arguments: [shardId#930966 AS cachedShardId#930972, worklistShardItemId#930967L AS cachedWorklistShardItemId#930973L, qty#930968 AS cachedQty#930974, demandChannel#930969, demandStream#930970, kpis#930971 AS cachedKpis#930975]
(158) Join
Arguments: Inner, ((worklistShardItemId#930949L = cachedWorklistShardItemId#930973L) AND (shardId#930948 = cachedShardId#930972))
(159) Project
Arguments: [shardId#930948, worklistShardItemId#930949L, version#930950, product#930951, plant#930952, cachedQty#930974 AS qty#930976, demandChannel#930969, demandStream#930970, cachedKpis#930975 AS kpis#930977]
(160) Project
Arguments: [shardId#930948, worklistShardItemId#930949L, version#930950, product#930951, plant#930952, qty#930976]
(161) LogicalRDD
Arguments: [shardId#930978, worklistShardItemId#930979L, version#930980, product#930981, plant#930982, periodStart#930983, periodEnd#930984, qty#930985], false
(162) RepartitionByExpression
Arguments: [product#930981, plant#930982], 37
(163) Project
Arguments: [shardId#930978, worklistShardItemId#930979L, version#930980, product#930981, plant#930982, qty#930985]
(164) LogicalRDD
Arguments: [shardId#930986, worklistShardItemId#930987L, qty#930988, demandChannel#930989, demandStream#930990, kpis#930991], false
(165) Project
Arguments: [shardId#930986 AS cachedShardId#930992, worklistShardItemId#930987L AS cachedWorklistShardItemId#930993L, qty#930988 AS cachedQty#930994, demandChannel#930989, demandStream#930990, kpis#930991 AS cachedKpis#930995]
(166) Join
Arguments: Inner, (((worklistShardItemId#930979L = cachedWorklistShardItemId#930993L) AND (shardId#930978 = cachedShardId#930992)) AND isnull(qty#930985))
(167) Project
Arguments: [shardId#930978, worklistShardItemId#930979L, version#930980, product#930981, plant#930982, qty#930985]
(168) Project
Arguments: [shardId#930978, worklistShardItemId#930979L, version#930980, product#930981, plant#930982, qty#930985]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#930940 <=> shardId#930948) AND (worklistShardItemId#930941L <=> worklistShardItemId#930949L)) AND (version#930942 <=> version#930950)) AND (product#930943 <=> product#930951)) AND (plant#930944 <=> plant#930952)) AND (qty#930947 <=> qty#930976))
(171) Project
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942, product#930943, plant#930944, qty#930947]
(172) Project
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942, product#930943, plant#930944, qty#930947, cast(null as string) AS demandChannel#930996]
(173) Project
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942, product#930943, plant#930944, qty#930947, demandChannel#930996, cast(null as string) AS demandStream#930997]
(174) Project
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942, product#930943, plant#930944, qty#930947, demandChannel#930996, demandStream#930997, array() AS kpis#930998]
(175) Project
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942, product#930943, plant#930944, qty#930947, demandChannel#930996, demandStream#930997, kpis#930998, true AS isNewlyCalculated#930999]
(176) Project
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942, product#930943, plant#930944, qty#930947, demandChannel#930996, demandStream#930997, cast(kpis#930998 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#931000, isNewlyCalculated#930999]
(177) LogicalRDD
Arguments: [shardId#931001, worklistShardItemId#931002L, version#931003, product#931004, plant#931005, periodStart#931006, periodEnd#931007, qty#931008], false
(178) RepartitionByExpression
Arguments: [product#931004, plant#931005], 37
(179) Project
Arguments: [shardId#931001, worklistShardItemId#931002L, version#931003, product#931004, plant#931005, qty#931008]
(180) LogicalRDD
Arguments: [shardId#931009, worklistShardItemId#931010L, qty#931011, demandChannel#931012, demandStream#931013, kpis#931014], false
(181) Project
Arguments: [shardId#931009 AS cachedShardId#931015, worklistShardItemId#931010L AS cachedWorklistShardItemId#931016L, qty#931011 AS cachedQty#931017, demandChannel#931012, demandStream#931013, kpis#931014 AS cachedKpis#931018]
(182) Join
Arguments: Inner, (((worklistShardItemId#931002L = cachedWorklistShardItemId#931016L) AND (shardId#931001 = cachedShardId#931015)) AND ((qty#931008 = cachedQty#931017) OR isnull(qty#931008)))
(183) Project
Arguments: [shardId#931001, worklistShardItemId#931002L, version#931003, product#931004, plant#931005]
(184) Deduplicate
Arguments: [plant#931005, shardId#931001, version#931003, worklistShardItemId#931002L, product#931004]
(185) LogicalRDD
Arguments: [shardId#931019, worklistShardItemId#931020L, qty#931021, demandChannel#931022, demandStream#931023, kpis#931024], false
(186) Project
Arguments: [shardId#931019 AS cachedShardId#931025, worklistShardItemId#931020L AS cachedWorklistShardItemId#931026L, qty#931021 AS cachedQty#931027, demandChannel#931022, demandStream#931023, kpis#931024 AS cachedKpis#931028]
(187) Join
Arguments: Inner, ((worklistShardItemId#931002L = cachedWorklistShardItemId#931026L) AND (shardId#931001 = cachedShardId#931025))
(188) Project
Arguments: [shardId#931001, worklistShardItemId#931002L, version#931003, product#931004, plant#931005, cachedQty#931027 AS qty#931029, demandChannel#931022, demandStream#931023, cachedKpis#931028 AS kpis#931030]
(189) Project
Arguments: [shardId#931001, worklistShardItemId#931002L, version#931003, product#931004, plant#931005, qty#931029, demandChannel#931022, demandStream#931023, kpis#931030, false AS isNewlyCalculated#931031]
(190) Project
Arguments: [shardId#931001, worklistShardItemId#931002L, version#931003, product#931004, plant#931005, qty#931029, demandChannel#931022, demandStream#931023, kpis#931030, isNewlyCalculated#931031]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#930940, worklistShardItemId#930941L, version#930942]
(193) Aggregate
Arguments: [shardId#930940, worklistShardItemId#930941L], [shardId#930940, worklistShardItemId#930941L, (max(version#930942) + 1) AS version#930843]
(194) Join
Arguments: Inner, ((shardId#904714 = shardId#930940) AND (worklistShardItemId#904715L = worklistShardItemId#930941L))
(195) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#927474, demandStream#927475, kpis#927509, version#930843]
(196) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#930843, qty#904721, demandChannel#927474, demandStream#927475, kpis#927509]