== 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@2d427a91, [path=hdlfs://770f0770-bd0c-456f-b83b-9649926e0857.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000678/stream-10000000678-1], Append
(3) LogicalRDD
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, periodStart#943636, periodEnd#943637, qty#943638], false
(4) RepartitionByExpression
Arguments: [product#943634, plant#943635], 37
(5) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(6) LogicalRDD
Arguments: [shardId#973418, worklistShardItemId#973419L, version#973420, product#973421, plant#973422, periodStart#973423, periodEnd#973424, qty#973425], false
(7) RepartitionByExpression
Arguments: [product#973421, plant#973422], 37
(8) Project
Arguments: [shardId#973418, worklistShardItemId#973419L, version#973420, product#973421, plant#973422, qty#973425]
(9) LogicalRDD
Arguments: [shardId#973173, worklistShardItemId#973174L, qty#973175, demandChannel#973176, demandStream#973177, kpis#973178], false
(10) Project
Arguments: [shardId#973173 AS cachedShardId#973179, worklistShardItemId#973174L AS cachedWorklistShardItemId#973180L, qty#973175 AS cachedQty#973181, demandChannel#973176, demandStream#973177, kpis#973178 AS cachedKpis#973182]
(11) Join
Arguments: Inner, (((worklistShardItemId#973419L = cachedWorklistShardItemId#973180L) AND (shardId#973418 = cachedShardId#973179)) AND ((qty#973425 = cachedQty#973181) OR isnull(qty#973425)))
(12) Project
Arguments: [shardId#973418, worklistShardItemId#973419L, version#973420, product#973421, plant#973422]
(13) Deduplicate
Arguments: [plant#973422, shardId#973418, version#973420, worklistShardItemId#973419L, product#973421]
(14) LogicalRDD
Arguments: [shardId#973183, worklistShardItemId#973184L, qty#973185, demandChannel#973186, demandStream#973187, kpis#973188], false
(15) Project
Arguments: [shardId#973183 AS cachedShardId#973189, worklistShardItemId#973184L AS cachedWorklistShardItemId#973190L, qty#973185 AS cachedQty#973191, demandChannel#973186, demandStream#973187, kpis#973188 AS cachedKpis#973192]
(16) Join
Arguments: Inner, ((worklistShardItemId#973419L = cachedWorklistShardItemId#973190L) AND (shardId#973418 = cachedShardId#973189))
(17) Project
Arguments: [shardId#973418, worklistShardItemId#973419L, version#973420, product#973421, plant#973422, cachedQty#973191 AS qty#973193, demandChannel#973186, demandStream#973187, cachedKpis#973192 AS kpis#973194]
(18) Project
Arguments: [shardId#973418, worklistShardItemId#973419L, version#973420, product#973421, plant#973422, qty#973193]
(19) LogicalRDD
Arguments: [shardId#973400, worklistShardItemId#973401L, version#973402, product#973403, plant#973404, periodStart#973405, periodEnd#973406, qty#973407], false
(20) RepartitionByExpression
Arguments: [product#973403, plant#973404], 37
(21) Project
Arguments: [shardId#973400, worklistShardItemId#973401L, version#973402, product#973403, plant#973404, qty#973407]
(22) LogicalRDD
Arguments: [shardId#973408, worklistShardItemId#973409L, qty#973410, demandChannel#973411, demandStream#973412, kpis#973413], false
(23) Project
Arguments: [shardId#973408 AS cachedShardId#973414, worklistShardItemId#973409L AS cachedWorklistShardItemId#973415L, qty#973410 AS cachedQty#973416, demandChannel#973411, demandStream#973412, kpis#973413 AS cachedKpis#973417]
(24) Join
Arguments: Inner, (((worklistShardItemId#973401L = cachedWorklistShardItemId#973415L) AND (shardId#973400 = cachedShardId#973414)) AND isnull(qty#973407))
(25) Project
Arguments: [shardId#973400, worklistShardItemId#973401L, version#973402, product#973403, plant#973404, qty#973407]
(26) Project
Arguments: [shardId#973400, worklistShardItemId#973401L, version#973402, product#973403, plant#973404, qty#973407]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#943631 <=> shardId#973418) AND (worklistShardItemId#943632L <=> worklistShardItemId#973419L)) AND (version#943633 <=> version#973420)) AND (product#943634 <=> product#973421)) AND (plant#943635 <=> plant#973422)) AND (qty#943638 <=> qty#973193))
(29) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(30) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, cast(null as string) AS demandChannel#973426]
(31) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#973426, cast(null as string) AS demandStream#973427]
(32) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#973426, demandStream#973427, array() AS kpis#973428]
(33) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#973426, demandStream#973427, kpis#973428, true AS isNewlyCalculated#973429]
(34) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#973426, demandStream#973427, cast(kpis#973428 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#973461, isNewlyCalculated#973429]
(35) LogicalRDD
Arguments: [shardId#973431, worklistShardItemId#973432L, version#973433, product#973434, plant#973435, periodStart#973436, periodEnd#973437, qty#973438], false
(36) RepartitionByExpression
Arguments: [product#973434, plant#973435], 37
(37) Project
Arguments: [shardId#973431, worklistShardItemId#973432L, version#973433, product#973434, plant#973435, qty#973438]
(38) LogicalRDD
Arguments: [shardId#973439, worklistShardItemId#973440L, qty#973441, demandChannel#973442, demandStream#973443, kpis#973444], false
(39) Project
Arguments: [shardId#973439 AS cachedShardId#973445, worklistShardItemId#973440L AS cachedWorklistShardItemId#973446L, qty#973441 AS cachedQty#973447, demandChannel#973442, demandStream#973443, kpis#973444 AS cachedKpis#973448]
(40) Join
Arguments: Inner, (((worklistShardItemId#973432L = cachedWorklistShardItemId#973446L) AND (shardId#973431 = cachedShardId#973445)) AND ((qty#973438 = cachedQty#973447) OR isnull(qty#973438)))
(41) Project
Arguments: [shardId#973431, worklistShardItemId#973432L, version#973433, product#973434, plant#973435]
(42) Deduplicate
Arguments: [plant#973435, shardId#973431, version#973433, worklistShardItemId#973432L, product#973434]
(43) LogicalRDD
Arguments: [shardId#973449, worklistShardItemId#973450L, qty#973451, demandChannel#973452, demandStream#973453, kpis#973454], false
(44) Project
Arguments: [shardId#973449 AS cachedShardId#973455, worklistShardItemId#973450L AS cachedWorklistShardItemId#973456L, qty#973451 AS cachedQty#973457, demandChannel#973452, demandStream#973453, kpis#973454 AS cachedKpis#973458]
(45) Join
Arguments: Inner, ((worklistShardItemId#973432L = cachedWorklistShardItemId#973456L) AND (shardId#973431 = cachedShardId#973455))
(46) Project
Arguments: [shardId#973431, worklistShardItemId#973432L, version#973433, product#973434, plant#973435, cachedQty#973457 AS qty#973459, demandChannel#973452, demandStream#973453, cachedKpis#973458 AS kpis#973460]
(47) Project
Arguments: [shardId#973431, worklistShardItemId#973432L, version#973433, product#973434, plant#973435, qty#973459, demandChannel#973452, demandStream#973453, kpis#973460, false AS isNewlyCalculated#973430]
(48) Project
Arguments: [shardId#973431, worklistShardItemId#973432L, version#973433, product#973434, plant#973435, qty#973459, demandChannel#973452, demandStream#973453, kpis#973460, isNewlyCalculated#973430]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#973429 <=> false)
(51) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#973426, demandStream#973427, kpis#973461]
(52) ExternalRDD
Arguments: [obj#975925]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77671), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77671), 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, 77671), 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, 77671), 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, 77671), 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, 77671), 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#975928, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77672), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77672), 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, 77673), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77673), 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, 77673), 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, 77673), 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, 77674), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77674), 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, 77674), 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, 77674), 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, 77674), 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, 77673), 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, 77672), 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, 77675), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77675), 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, 77675), 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, 77675), 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, 77675), 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, 77672), 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, 77672), 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, 77672), 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, 77676), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77676), 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, 77677), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77677), 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, 77677), 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, 77677), 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, 77677), 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, 77676), 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, 77676), 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, 77672), 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#975929]
(54) Generate
Arguments: explode(prodPlantResults#975929), false, [prodPlantResults#975936]
(55) Project
Arguments: [prodPlantResults#975936]
(56) Project
Arguments: [prodPlantResults#975936.productId AS product#975955, prodPlantResults#975936.plantId AS plant#975956, prodPlantResults#975936.kpiResults AS kpis#975957]
(57) Project
Arguments: [product#975955, plant#975956, kpis#975957, null AS qty#975961]
(58) Project
Arguments: [product#975955, plant#975956, kpis#975957, qty#975961, cast(null as string) AS demandChannel#975962]
(59) Project
Arguments: [product#975955, plant#975956, kpis#975957, qty#975961, demandChannel#975962, cast(null as string) AS demandStream#975963]
(60) Project
Arguments: [product#975955, plant#975956, kpis#975957, cast(qty#975961 as double) AS qty#975982, demandChannel#975962, demandStream#975963]
(61) ExternalRDD
Arguments: [obj#975978]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77671), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77671), 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, 77671), 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, 77671), 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, 77671), 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, 77671), 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#975979, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77672), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77672), 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, 77673), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77673), 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, 77673), 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, 77673), 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, 77674), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77674), 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, 77674), 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, 77674), 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, 77674), 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, 77673), 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, 77672), 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, 77675), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77675), 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, 77675), 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, 77675), 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, 77675), 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, 77672), 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, 77672), 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, 77672), 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, 77676), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77676), 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, 77677), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77677), 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, 77677), 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, 77677), 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, 77677), 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, 77676), 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, 77676), 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, 77672), 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#975980]
(63) Generate
Arguments: explode(prodPlantResults#975980), false, [prodPlantResults#975981]
(64) Project
Arguments: [prodPlantResults#975981]
(65) Generate
Arguments: explode(prodPlantResults#975981.quantityKpiResults), false, [quantityKpiResults#975948]
(66) Project
Arguments: [prodPlantResults#975981.productId AS product#975942, prodPlantResults#975981.plantId AS plant#975943, quantityKpiResults#975948]
(67) Project
Arguments: [product#975942, plant#975943, quantityKpiResults#975948, quantityKpiResults#975948.quantity AS qty#975949]
(68) Project
Arguments: [product#975942, plant#975943, quantityKpiResults#975948, qty#975949, cast(null as string) AS demandChannel#975951]
(69) Project
Arguments: [product#975942, plant#975943, quantityKpiResults#975948, qty#975949, demandChannel#975951, cast(null as string) AS demandStream#975952]
(70) Project
Arguments: [product#975942, plant#975943, quantityKpiResults#975948, qty#975949, demandChannel#975951, demandStream#975952, quantityKpiResults#975948.kpiResults AS kpis#975953]
(71) Project
Arguments: [product#975942, plant#975943, qty#975949, demandChannel#975951, demandStream#975952, kpis#975953]
(72) Project
Arguments: [product#975942, plant#975943, kpis#975953, qty#975949, demandChannel#975951, demandStream#975952]
(73) ExternalRDD
Arguments: [obj#975983]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77671), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77671), 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, 77671), 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, 77671), 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, 77671), 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, 77671), 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#975984, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77672), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77672), 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, 77673), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77673), 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, 77673), 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, 77673), 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, 77674), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77674), 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, 77674), 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, 77674), 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, 77674), 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, 77673), 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, 77672), 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, 77675), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77675), 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, 77675), 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, 77675), 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, 77675), 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, 77672), 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, 77672), 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, 77672), 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, 77676), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77676), 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, 77677), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77677), 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, 77677), 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, 77677), 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, 77677), 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, 77676), 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, 77676), 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, 77672), 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#975985]
(75) Generate
Arguments: explode(prodPlantResults#975985), false, [prodPlantResults#975986]
(76) Project
Arguments: [prodPlantResults#975986]
(77) Generate
Arguments: explode(prodPlantResults#975986.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#975970]
(78) Project
Arguments: [prodPlantResults#975986.productId AS product#975964, prodPlantResults#975986.plantId AS plant#975965, demandChannelStreamKpiResults#975970]
(79) Project
Arguments: [product#975964, plant#975965, demandChannelStreamKpiResults#975970, null AS qty#975971]
(80) Project
Arguments: [product#975964, plant#975965, demandChannelStreamKpiResults#975970, qty#975971, demandChannelStreamKpiResults#975970.demandChannel AS demandChannel#975972]
(81) Project
Arguments: [product#975964, plant#975965, demandChannelStreamKpiResults#975970, qty#975971, demandChannel#975972, demandChannelStreamKpiResults#975970.demandStream AS demandStream#975974]
(82) Project
Arguments: [product#975964, plant#975965, demandChannelStreamKpiResults#975970, qty#975971, demandChannel#975972, demandStream#975974, demandChannelStreamKpiResults#975970.kpiResults AS kpis#975976]
(83) Project
Arguments: [product#975964, plant#975965, qty#975971, demandChannel#975972, demandStream#975974, kpis#975976]
(84) Project
Arguments: [product#975964, plant#975965, kpis#975976, qty#975971, demandChannel#975972, demandStream#975974]
(85) Project
Arguments: [product#975964, plant#975965, kpis#975976, cast(qty#975971 as double) AS qty#975987, demandChannel#975972, demandStream#975974]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#975955, plant#975956, transform(kpis#975957, lambdafunction(struct(label, lambda kpi#975992.label, dateTime, lambda kpi#975992.datetime, value, lambda kpi#975992.value), lambda kpi#975992, false)) AS kpis#975991, qty#975982, demandChannel#975962, demandStream#975963]
(88) Project
Arguments: [product#975955, plant#975956, qty#975982, demandChannel#975962, demandStream#975963, kpis#975991]
(89) LogicalRDD
Arguments: [shardId#976800, worklistShardItemId#976801L, version#976802, product#976803, plant#976804, periodStart#976805, periodEnd#976806, qty#976807], false
(90) RepartitionByExpression
Arguments: [product#976803, plant#976804], 37
(91) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, version#976802, product#976803, plant#976804, qty#976807]
(92) LogicalRDD
Arguments: [shardId#976808, worklistShardItemId#976809L, version#976810, product#976811, plant#976812, periodStart#976813, periodEnd#976814, qty#976815], false
(93) RepartitionByExpression
Arguments: [product#976811, plant#976812], 37
(94) Project
Arguments: [shardId#976808, worklistShardItemId#976809L, version#976810, product#976811, plant#976812, qty#976815]
(95) LogicalRDD
Arguments: [shardId#976816, worklistShardItemId#976817L, qty#976818, demandChannel#976819, demandStream#976820, kpis#976821], false
(96) Project
Arguments: [shardId#976816 AS cachedShardId#976822, worklistShardItemId#976817L AS cachedWorklistShardItemId#976823L, qty#976818 AS cachedQty#976824, demandChannel#976819, demandStream#976820, kpis#976821 AS cachedKpis#976825]
(97) Join
Arguments: Inner, (((worklistShardItemId#976809L = cachedWorklistShardItemId#976823L) AND (shardId#976808 = cachedShardId#976822)) AND ((qty#976815 = cachedQty#976824) OR isnull(qty#976815)))
(98) Project
Arguments: [shardId#976808, worklistShardItemId#976809L, version#976810, product#976811, plant#976812]
(99) Deduplicate
Arguments: [plant#976812, shardId#976808, version#976810, worklistShardItemId#976809L, product#976811]
(100) LogicalRDD
Arguments: [shardId#976826, worklistShardItemId#976827L, qty#976828, demandChannel#976829, demandStream#976830, kpis#976831], false
(101) Project
Arguments: [shardId#976826 AS cachedShardId#976832, worklistShardItemId#976827L AS cachedWorklistShardItemId#976833L, qty#976828 AS cachedQty#976834, demandChannel#976829, demandStream#976830, kpis#976831 AS cachedKpis#976835]
(102) Join
Arguments: Inner, ((worklistShardItemId#976809L = cachedWorklistShardItemId#976833L) AND (shardId#976808 = cachedShardId#976832))
(103) Project
Arguments: [shardId#976808, worklistShardItemId#976809L, version#976810, product#976811, plant#976812, cachedQty#976834 AS qty#976836, demandChannel#976829, demandStream#976830, cachedKpis#976835 AS kpis#976837]
(104) Project
Arguments: [shardId#976808, worklistShardItemId#976809L, version#976810, product#976811, plant#976812, qty#976836]
(105) LogicalRDD
Arguments: [shardId#976838, worklistShardItemId#976839L, version#976840, product#976841, plant#976842, periodStart#976843, periodEnd#976844, qty#976845], false
(106) RepartitionByExpression
Arguments: [product#976841, plant#976842], 37
(107) Project
Arguments: [shardId#976838, worklistShardItemId#976839L, version#976840, product#976841, plant#976842, qty#976845]
(108) LogicalRDD
Arguments: [shardId#976846, worklistShardItemId#976847L, qty#976848, demandChannel#976849, demandStream#976850, kpis#976851], false
(109) Project
Arguments: [shardId#976846 AS cachedShardId#976852, worklistShardItemId#976847L AS cachedWorklistShardItemId#976853L, qty#976848 AS cachedQty#976854, demandChannel#976849, demandStream#976850, kpis#976851 AS cachedKpis#976855]
(110) Join
Arguments: Inner, (((worklistShardItemId#976839L = cachedWorklistShardItemId#976853L) AND (shardId#976838 = cachedShardId#976852)) AND isnull(qty#976845))
(111) Project
Arguments: [shardId#976838, worklistShardItemId#976839L, version#976840, product#976841, plant#976842, qty#976845]
(112) Project
Arguments: [shardId#976838, worklistShardItemId#976839L, version#976840, product#976841, plant#976842, qty#976845]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#976800 <=> shardId#976808) AND (worklistShardItemId#976801L <=> worklistShardItemId#976809L)) AND (version#976802 <=> version#976810)) AND (product#976803 <=> product#976811)) AND (plant#976804 <=> plant#976812)) AND (qty#976807 <=> qty#976836))
(115) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, version#976802, product#976803, plant#976804, qty#976807]
(116) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, version#976802, product#976803, plant#976804, qty#976807, cast(null as string) AS demandChannel#976856]
(117) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, version#976802, product#976803, plant#976804, qty#976807, demandChannel#976856, cast(null as string) AS demandStream#976857]
(118) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, version#976802, product#976803, plant#976804, qty#976807, demandChannel#976856, demandStream#976857, array() AS kpis#976858]
(119) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, version#976802, product#976803, plant#976804, qty#976807, demandChannel#976856, demandStream#976857, kpis#976858, true AS isNewlyCalculated#976859]
(120) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, version#976802, product#976803, plant#976804, qty#976807, demandChannel#976856, demandStream#976857, cast(kpis#976858 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#976860, isNewlyCalculated#976859]
(121) LogicalRDD
Arguments: [shardId#976861, worklistShardItemId#976862L, version#976863, product#976864, plant#976865, periodStart#976866, periodEnd#976867, qty#976868], false
(122) RepartitionByExpression
Arguments: [product#976864, plant#976865], 37
(123) Project
Arguments: [shardId#976861, worklistShardItemId#976862L, version#976863, product#976864, plant#976865, qty#976868]
(124) LogicalRDD
Arguments: [shardId#976869, worklistShardItemId#976870L, qty#976871, demandChannel#976872, demandStream#976873, kpis#976874], false
(125) Project
Arguments: [shardId#976869 AS cachedShardId#976875, worklistShardItemId#976870L AS cachedWorklistShardItemId#976876L, qty#976871 AS cachedQty#976877, demandChannel#976872, demandStream#976873, kpis#976874 AS cachedKpis#976878]
(126) Join
Arguments: Inner, (((worklistShardItemId#976862L = cachedWorklistShardItemId#976876L) AND (shardId#976861 = cachedShardId#976875)) AND ((qty#976868 = cachedQty#976877) OR isnull(qty#976868)))
(127) Project
Arguments: [shardId#976861, worklistShardItemId#976862L, version#976863, product#976864, plant#976865]
(128) Deduplicate
Arguments: [plant#976865, shardId#976861, version#976863, worklistShardItemId#976862L, product#976864]
(129) LogicalRDD
Arguments: [shardId#976879, worklistShardItemId#976880L, qty#976881, demandChannel#976882, demandStream#976883, kpis#976884], false
(130) Project
Arguments: [shardId#976879 AS cachedShardId#976885, worklistShardItemId#976880L AS cachedWorklistShardItemId#976886L, qty#976881 AS cachedQty#976887, demandChannel#976882, demandStream#976883, kpis#976884 AS cachedKpis#976888]
(131) Join
Arguments: Inner, ((worklistShardItemId#976862L = cachedWorklistShardItemId#976886L) AND (shardId#976861 = cachedShardId#976885))
(132) Project
Arguments: [shardId#976861, worklistShardItemId#976862L, version#976863, product#976864, plant#976865, cachedQty#976887 AS qty#976889, demandChannel#976882, demandStream#976883, cachedKpis#976888 AS kpis#976890]
(133) Project
Arguments: [shardId#976861, worklistShardItemId#976862L, version#976863, product#976864, plant#976865, qty#976889, demandChannel#976882, demandStream#976883, kpis#976890, false AS isNewlyCalculated#976891]
(134) Project
Arguments: [shardId#976861, worklistShardItemId#976862L, version#976863, product#976864, plant#976865, qty#976889, demandChannel#976882, demandStream#976883, kpis#976890, isNewlyCalculated#976891]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#976859 <=> true)
(137) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, product#976803, plant#976804, qty#976807, kpis#976860]
(138) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, product#976803, plant#976804, qty#976807]
(139) Deduplicate
Arguments: [plant#976804, shardId#976800, qty#976807, worklistShardItemId#976801L, product#976803]
(140) Join
Arguments: Inner, ((product#975955 <=> product#976803) AND ((plant#975956 <=> plant#976804) AND ((qty#975982 <=> qty#976807) OR isnull(qty#976807))))
(141) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, qty#975982, demandChannel#975962, demandStream#975963, kpis#975991]
(142) Deduplicate
Arguments: [demandChannel#975962, shardId#976800, qty#975982, worklistShardItemId#976801L, demandStream#975963]
(143) Project
Arguments: [shardId#976800, worklistShardItemId#976801L, qty#975982, demandChannel#975962, demandStream#975963, kpis#975991]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894, product#976895, plant#976896, periodStart#976897, periodEnd#976898, qty#976899], false
(146) RepartitionByExpression
Arguments: [product#976895, plant#976896], 37
(147) Project
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894, product#976895, plant#976896, qty#976899]
(148) LogicalRDD
Arguments: [shardId#976900, worklistShardItemId#976901L, version#976902, product#976903, plant#976904, periodStart#976905, periodEnd#976906, qty#976907], false
(149) RepartitionByExpression
Arguments: [product#976903, plant#976904], 37
(150) Project
Arguments: [shardId#976900, worklistShardItemId#976901L, version#976902, product#976903, plant#976904, qty#976907]
(151) LogicalRDD
Arguments: [shardId#976908, worklistShardItemId#976909L, qty#976910, demandChannel#976911, demandStream#976912, kpis#976913], false
(152) Project
Arguments: [shardId#976908 AS cachedShardId#976914, worklistShardItemId#976909L AS cachedWorklistShardItemId#976915L, qty#976910 AS cachedQty#976916, demandChannel#976911, demandStream#976912, kpis#976913 AS cachedKpis#976917]
(153) Join
Arguments: Inner, (((worklistShardItemId#976901L = cachedWorklistShardItemId#976915L) AND (shardId#976900 = cachedShardId#976914)) AND ((qty#976907 = cachedQty#976916) OR isnull(qty#976907)))
(154) Project
Arguments: [shardId#976900, worklistShardItemId#976901L, version#976902, product#976903, plant#976904]
(155) Deduplicate
Arguments: [plant#976904, shardId#976900, version#976902, worklistShardItemId#976901L, product#976903]
(156) LogicalRDD
Arguments: [shardId#976918, worklistShardItemId#976919L, qty#976920, demandChannel#976921, demandStream#976922, kpis#976923], false
(157) Project
Arguments: [shardId#976918 AS cachedShardId#976924, worklistShardItemId#976919L AS cachedWorklistShardItemId#976925L, qty#976920 AS cachedQty#976926, demandChannel#976921, demandStream#976922, kpis#976923 AS cachedKpis#976927]
(158) Join
Arguments: Inner, ((worklistShardItemId#976901L = cachedWorklistShardItemId#976925L) AND (shardId#976900 = cachedShardId#976924))
(159) Project
Arguments: [shardId#976900, worklistShardItemId#976901L, version#976902, product#976903, plant#976904, cachedQty#976926 AS qty#976928, demandChannel#976921, demandStream#976922, cachedKpis#976927 AS kpis#976929]
(160) Project
Arguments: [shardId#976900, worklistShardItemId#976901L, version#976902, product#976903, plant#976904, qty#976928]
(161) LogicalRDD
Arguments: [shardId#976930, worklistShardItemId#976931L, version#976932, product#976933, plant#976934, periodStart#976935, periodEnd#976936, qty#976937], false
(162) RepartitionByExpression
Arguments: [product#976933, plant#976934], 37
(163) Project
Arguments: [shardId#976930, worklistShardItemId#976931L, version#976932, product#976933, plant#976934, qty#976937]
(164) LogicalRDD
Arguments: [shardId#976938, worklistShardItemId#976939L, qty#976940, demandChannel#976941, demandStream#976942, kpis#976943], false
(165) Project
Arguments: [shardId#976938 AS cachedShardId#976944, worklistShardItemId#976939L AS cachedWorklistShardItemId#976945L, qty#976940 AS cachedQty#976946, demandChannel#976941, demandStream#976942, kpis#976943 AS cachedKpis#976947]
(166) Join
Arguments: Inner, (((worklistShardItemId#976931L = cachedWorklistShardItemId#976945L) AND (shardId#976930 = cachedShardId#976944)) AND isnull(qty#976937))
(167) Project
Arguments: [shardId#976930, worklistShardItemId#976931L, version#976932, product#976933, plant#976934, qty#976937]
(168) Project
Arguments: [shardId#976930, worklistShardItemId#976931L, version#976932, product#976933, plant#976934, qty#976937]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#976892 <=> shardId#976900) AND (worklistShardItemId#976893L <=> worklistShardItemId#976901L)) AND (version#976894 <=> version#976902)) AND (product#976895 <=> product#976903)) AND (plant#976896 <=> plant#976904)) AND (qty#976899 <=> qty#976928))
(171) Project
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894, product#976895, plant#976896, qty#976899]
(172) Project
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894, product#976895, plant#976896, qty#976899, cast(null as string) AS demandChannel#976948]
(173) Project
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894, product#976895, plant#976896, qty#976899, demandChannel#976948, cast(null as string) AS demandStream#976949]
(174) Project
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894, product#976895, plant#976896, qty#976899, demandChannel#976948, demandStream#976949, array() AS kpis#976950]
(175) Project
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894, product#976895, plant#976896, qty#976899, demandChannel#976948, demandStream#976949, kpis#976950, true AS isNewlyCalculated#976951]
(176) Project
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894, product#976895, plant#976896, qty#976899, demandChannel#976948, demandStream#976949, cast(kpis#976950 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#976952, isNewlyCalculated#976951]
(177) LogicalRDD
Arguments: [shardId#976953, worklistShardItemId#976954L, version#976955, product#976956, plant#976957, periodStart#976958, periodEnd#976959, qty#976960], false
(178) RepartitionByExpression
Arguments: [product#976956, plant#976957], 37
(179) Project
Arguments: [shardId#976953, worklistShardItemId#976954L, version#976955, product#976956, plant#976957, qty#976960]
(180) LogicalRDD
Arguments: [shardId#976961, worklistShardItemId#976962L, qty#976963, demandChannel#976964, demandStream#976965, kpis#976966], false
(181) Project
Arguments: [shardId#976961 AS cachedShardId#976967, worklistShardItemId#976962L AS cachedWorklistShardItemId#976968L, qty#976963 AS cachedQty#976969, demandChannel#976964, demandStream#976965, kpis#976966 AS cachedKpis#976970]
(182) Join
Arguments: Inner, (((worklistShardItemId#976954L = cachedWorklistShardItemId#976968L) AND (shardId#976953 = cachedShardId#976967)) AND ((qty#976960 = cachedQty#976969) OR isnull(qty#976960)))
(183) Project
Arguments: [shardId#976953, worklistShardItemId#976954L, version#976955, product#976956, plant#976957]
(184) Deduplicate
Arguments: [plant#976957, shardId#976953, version#976955, worklistShardItemId#976954L, product#976956]
(185) LogicalRDD
Arguments: [shardId#976971, worklistShardItemId#976972L, qty#976973, demandChannel#976974, demandStream#976975, kpis#976976], false
(186) Project
Arguments: [shardId#976971 AS cachedShardId#976977, worklistShardItemId#976972L AS cachedWorklistShardItemId#976978L, qty#976973 AS cachedQty#976979, demandChannel#976974, demandStream#976975, kpis#976976 AS cachedKpis#976980]
(187) Join
Arguments: Inner, ((worklistShardItemId#976954L = cachedWorklistShardItemId#976978L) AND (shardId#976953 = cachedShardId#976977))
(188) Project
Arguments: [shardId#976953, worklistShardItemId#976954L, version#976955, product#976956, plant#976957, cachedQty#976979 AS qty#976981, demandChannel#976974, demandStream#976975, cachedKpis#976980 AS kpis#976982]
(189) Project
Arguments: [shardId#976953, worklistShardItemId#976954L, version#976955, product#976956, plant#976957, qty#976981, demandChannel#976974, demandStream#976975, kpis#976982, false AS isNewlyCalculated#976983]
(190) Project
Arguments: [shardId#976953, worklistShardItemId#976954L, version#976955, product#976956, plant#976957, qty#976981, demandChannel#976974, demandStream#976975, kpis#976982, isNewlyCalculated#976983]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#976892, worklistShardItemId#976893L, version#976894]
(193) Aggregate
Arguments: [shardId#976892, worklistShardItemId#976893L], [shardId#976892, worklistShardItemId#976893L, (max(version#976894) + 1) AS version#976795]
(194) Join
Arguments: Inner, ((shardId#943631 = shardId#976892) AND (worklistShardItemId#943632L = worklistShardItemId#976893L))
(195) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#973426, demandStream#973427, kpis#973461, version#976795]
(196) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#976795, qty#943638, demandChannel#973426, demandStream#973427, kpis#973461]