== 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@37c788ae, [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#984534, worklistShardItemId#984535L, version#984536, product#984537, plant#984538, periodStart#984539, periodEnd#984540, qty#984541], false
(7) RepartitionByExpression
Arguments: [product#984537, plant#984538], 37
(8) Project
Arguments: [shardId#984534, worklistShardItemId#984535L, version#984536, product#984537, plant#984538, qty#984541]
(9) LogicalRDD
Arguments: [shardId#984289, worklistShardItemId#984290L, qty#984291, demandChannel#984292, demandStream#984293, kpis#984294], false
(10) Project
Arguments: [shardId#984289 AS cachedShardId#984295, worklistShardItemId#984290L AS cachedWorklistShardItemId#984296L, qty#984291 AS cachedQty#984297, demandChannel#984292, demandStream#984293, kpis#984294 AS cachedKpis#984298]
(11) Join
Arguments: Inner, (((worklistShardItemId#984535L = cachedWorklistShardItemId#984296L) AND (shardId#984534 = cachedShardId#984295)) AND ((qty#984541 = cachedQty#984297) OR isnull(qty#984541)))
(12) Project
Arguments: [shardId#984534, worklistShardItemId#984535L, version#984536, product#984537, plant#984538]
(13) Deduplicate
Arguments: [plant#984538, shardId#984534, version#984536, worklistShardItemId#984535L, product#984537]
(14) LogicalRDD
Arguments: [shardId#984299, worklistShardItemId#984300L, qty#984301, demandChannel#984302, demandStream#984303, kpis#984304], false
(15) Project
Arguments: [shardId#984299 AS cachedShardId#984305, worklistShardItemId#984300L AS cachedWorklistShardItemId#984306L, qty#984301 AS cachedQty#984307, demandChannel#984302, demandStream#984303, kpis#984304 AS cachedKpis#984308]
(16) Join
Arguments: Inner, ((worklistShardItemId#984535L = cachedWorklistShardItemId#984306L) AND (shardId#984534 = cachedShardId#984305))
(17) Project
Arguments: [shardId#984534, worklistShardItemId#984535L, version#984536, product#984537, plant#984538, cachedQty#984307 AS qty#984309, demandChannel#984302, demandStream#984303, cachedKpis#984308 AS kpis#984310]
(18) Project
Arguments: [shardId#984534, worklistShardItemId#984535L, version#984536, product#984537, plant#984538, qty#984309]
(19) LogicalRDD
Arguments: [shardId#984516, worklistShardItemId#984517L, version#984518, product#984519, plant#984520, periodStart#984521, periodEnd#984522, qty#984523], false
(20) RepartitionByExpression
Arguments: [product#984519, plant#984520], 37
(21) Project
Arguments: [shardId#984516, worklistShardItemId#984517L, version#984518, product#984519, plant#984520, qty#984523]
(22) LogicalRDD
Arguments: [shardId#984524, worklistShardItemId#984525L, qty#984526, demandChannel#984527, demandStream#984528, kpis#984529], false
(23) Project
Arguments: [shardId#984524 AS cachedShardId#984530, worklistShardItemId#984525L AS cachedWorklistShardItemId#984531L, qty#984526 AS cachedQty#984532, demandChannel#984527, demandStream#984528, kpis#984529 AS cachedKpis#984533]
(24) Join
Arguments: Inner, (((worklistShardItemId#984517L = cachedWorklistShardItemId#984531L) AND (shardId#984516 = cachedShardId#984530)) AND isnull(qty#984523))
(25) Project
Arguments: [shardId#984516, worklistShardItemId#984517L, version#984518, product#984519, plant#984520, qty#984523]
(26) Project
Arguments: [shardId#984516, worklistShardItemId#984517L, version#984518, product#984519, plant#984520, qty#984523]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#943631 <=> shardId#984534) AND (worklistShardItemId#943632L <=> worklistShardItemId#984535L)) AND (version#943633 <=> version#984536)) AND (product#943634 <=> product#984537)) AND (plant#943635 <=> plant#984538)) AND (qty#943638 <=> qty#984309))
(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#984542]
(31) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#984542, cast(null as string) AS demandStream#984543]
(32) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#984542, demandStream#984543, array() AS kpis#984544]
(33) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#984542, demandStream#984543, kpis#984544, true AS isNewlyCalculated#984545]
(34) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#984542, demandStream#984543, cast(kpis#984544 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#984577, isNewlyCalculated#984545]
(35) LogicalRDD
Arguments: [shardId#984547, worklistShardItemId#984548L, version#984549, product#984550, plant#984551, periodStart#984552, periodEnd#984553, qty#984554], false
(36) RepartitionByExpression
Arguments: [product#984550, plant#984551], 37
(37) Project
Arguments: [shardId#984547, worklistShardItemId#984548L, version#984549, product#984550, plant#984551, qty#984554]
(38) LogicalRDD
Arguments: [shardId#984555, worklistShardItemId#984556L, qty#984557, demandChannel#984558, demandStream#984559, kpis#984560], false
(39) Project
Arguments: [shardId#984555 AS cachedShardId#984561, worklistShardItemId#984556L AS cachedWorklistShardItemId#984562L, qty#984557 AS cachedQty#984563, demandChannel#984558, demandStream#984559, kpis#984560 AS cachedKpis#984564]
(40) Join
Arguments: Inner, (((worklistShardItemId#984548L = cachedWorklistShardItemId#984562L) AND (shardId#984547 = cachedShardId#984561)) AND ((qty#984554 = cachedQty#984563) OR isnull(qty#984554)))
(41) Project
Arguments: [shardId#984547, worklistShardItemId#984548L, version#984549, product#984550, plant#984551]
(42) Deduplicate
Arguments: [plant#984551, shardId#984547, version#984549, worklistShardItemId#984548L, product#984550]
(43) LogicalRDD
Arguments: [shardId#984565, worklistShardItemId#984566L, qty#984567, demandChannel#984568, demandStream#984569, kpis#984570], false
(44) Project
Arguments: [shardId#984565 AS cachedShardId#984571, worklistShardItemId#984566L AS cachedWorklistShardItemId#984572L, qty#984567 AS cachedQty#984573, demandChannel#984568, demandStream#984569, kpis#984570 AS cachedKpis#984574]
(45) Join
Arguments: Inner, ((worklistShardItemId#984548L = cachedWorklistShardItemId#984572L) AND (shardId#984547 = cachedShardId#984571))
(46) Project
Arguments: [shardId#984547, worklistShardItemId#984548L, version#984549, product#984550, plant#984551, cachedQty#984573 AS qty#984575, demandChannel#984568, demandStream#984569, cachedKpis#984574 AS kpis#984576]
(47) Project
Arguments: [shardId#984547, worklistShardItemId#984548L, version#984549, product#984550, plant#984551, qty#984575, demandChannel#984568, demandStream#984569, kpis#984576, false AS isNewlyCalculated#984546]
(48) Project
Arguments: [shardId#984547, worklistShardItemId#984548L, version#984549, product#984550, plant#984551, qty#984575, demandChannel#984568, demandStream#984569, kpis#984576, isNewlyCalculated#984546]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#984545 <=> false)
(51) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#984542, demandStream#984543, kpis#984577]
(52) ExternalRDD
Arguments: [obj#987041]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78341), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78341), 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, 78341), 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, 78341), 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, 78341), 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, 78341), 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#987044, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78342), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78342), 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, 78343), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78343), 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, 78343), 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, 78343), 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, 78344), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78344), 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, 78344), 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, 78344), 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, 78344), 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, 78343), 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, 78342), 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, 78345), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78345), 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, 78345), 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, 78345), 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, 78345), 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, 78342), 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, 78342), 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, 78342), 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, 78346), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78346), 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, 78347), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78347), 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, 78347), 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, 78347), 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, 78347), 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, 78346), 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, 78346), 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, 78342), 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#987045]
(54) Generate
Arguments: explode(prodPlantResults#987045), false, [prodPlantResults#987052]
(55) Project
Arguments: [prodPlantResults#987052]
(56) Project
Arguments: [prodPlantResults#987052.productId AS product#987071, prodPlantResults#987052.plantId AS plant#987072, prodPlantResults#987052.kpiResults AS kpis#987073]
(57) Project
Arguments: [product#987071, plant#987072, kpis#987073, null AS qty#987077]
(58) Project
Arguments: [product#987071, plant#987072, kpis#987073, qty#987077, cast(null as string) AS demandChannel#987078]
(59) Project
Arguments: [product#987071, plant#987072, kpis#987073, qty#987077, demandChannel#987078, cast(null as string) AS demandStream#987079]
(60) Project
Arguments: [product#987071, plant#987072, kpis#987073, cast(qty#987077 as double) AS qty#987098, demandChannel#987078, demandStream#987079]
(61) ExternalRDD
Arguments: [obj#987094]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78341), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78341), 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, 78341), 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, 78341), 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, 78341), 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, 78341), 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#987095, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78342), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78342), 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, 78343), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78343), 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, 78343), 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, 78343), 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, 78344), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78344), 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, 78344), 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, 78344), 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, 78344), 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, 78343), 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, 78342), 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, 78345), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78345), 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, 78345), 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, 78345), 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, 78345), 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, 78342), 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, 78342), 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, 78342), 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, 78346), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78346), 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, 78347), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78347), 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, 78347), 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, 78347), 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, 78347), 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, 78346), 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, 78346), 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, 78342), 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#987096]
(63) Generate
Arguments: explode(prodPlantResults#987096), false, [prodPlantResults#987097]
(64) Project
Arguments: [prodPlantResults#987097]
(65) Generate
Arguments: explode(prodPlantResults#987097.quantityKpiResults), false, [quantityKpiResults#987064]
(66) Project
Arguments: [prodPlantResults#987097.productId AS product#987058, prodPlantResults#987097.plantId AS plant#987059, quantityKpiResults#987064]
(67) Project
Arguments: [product#987058, plant#987059, quantityKpiResults#987064, quantityKpiResults#987064.quantity AS qty#987065]
(68) Project
Arguments: [product#987058, plant#987059, quantityKpiResults#987064, qty#987065, cast(null as string) AS demandChannel#987067]
(69) Project
Arguments: [product#987058, plant#987059, quantityKpiResults#987064, qty#987065, demandChannel#987067, cast(null as string) AS demandStream#987068]
(70) Project
Arguments: [product#987058, plant#987059, quantityKpiResults#987064, qty#987065, demandChannel#987067, demandStream#987068, quantityKpiResults#987064.kpiResults AS kpis#987069]
(71) Project
Arguments: [product#987058, plant#987059, qty#987065, demandChannel#987067, demandStream#987068, kpis#987069]
(72) Project
Arguments: [product#987058, plant#987059, kpis#987069, qty#987065, demandChannel#987067, demandStream#987068]
(73) ExternalRDD
Arguments: [obj#987099]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78341), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78341), 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, 78341), 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, 78341), 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, 78341), 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, 78341), 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#987100, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78342), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78342), 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, 78343), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78343), 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, 78343), 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, 78343), 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, 78344), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78344), 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, 78344), 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, 78344), 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, 78344), 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, 78343), 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, 78342), 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, 78345), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78345), 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, 78345), 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, 78345), 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, 78345), 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, 78342), 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, 78342), 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, 78342), 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, 78346), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78346), 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, 78347), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78347), 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, 78347), 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, 78347), 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, 78347), 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, 78346), 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, 78346), 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, 78342), 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#987101]
(75) Generate
Arguments: explode(prodPlantResults#987101), false, [prodPlantResults#987102]
(76) Project
Arguments: [prodPlantResults#987102]
(77) Generate
Arguments: explode(prodPlantResults#987102.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#987086]
(78) Project
Arguments: [prodPlantResults#987102.productId AS product#987080, prodPlantResults#987102.plantId AS plant#987081, demandChannelStreamKpiResults#987086]
(79) Project
Arguments: [product#987080, plant#987081, demandChannelStreamKpiResults#987086, null AS qty#987087]
(80) Project
Arguments: [product#987080, plant#987081, demandChannelStreamKpiResults#987086, qty#987087, demandChannelStreamKpiResults#987086.demandChannel AS demandChannel#987088]
(81) Project
Arguments: [product#987080, plant#987081, demandChannelStreamKpiResults#987086, qty#987087, demandChannel#987088, demandChannelStreamKpiResults#987086.demandStream AS demandStream#987090]
(82) Project
Arguments: [product#987080, plant#987081, demandChannelStreamKpiResults#987086, qty#987087, demandChannel#987088, demandStream#987090, demandChannelStreamKpiResults#987086.kpiResults AS kpis#987092]
(83) Project
Arguments: [product#987080, plant#987081, qty#987087, demandChannel#987088, demandStream#987090, kpis#987092]
(84) Project
Arguments: [product#987080, plant#987081, kpis#987092, qty#987087, demandChannel#987088, demandStream#987090]
(85) Project
Arguments: [product#987080, plant#987081, kpis#987092, cast(qty#987087 as double) AS qty#987103, demandChannel#987088, demandStream#987090]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#987071, plant#987072, transform(kpis#987073, lambdafunction(struct(label, lambda kpi#987108.label, dateTime, lambda kpi#987108.datetime, value, lambda kpi#987108.value), lambda kpi#987108, false)) AS kpis#987107, qty#987098, demandChannel#987078, demandStream#987079]
(88) Project
Arguments: [product#987071, plant#987072, qty#987098, demandChannel#987078, demandStream#987079, kpis#987107]
(89) LogicalRDD
Arguments: [shardId#987916, worklistShardItemId#987917L, version#987918, product#987919, plant#987920, periodStart#987921, periodEnd#987922, qty#987923], false
(90) RepartitionByExpression
Arguments: [product#987919, plant#987920], 37
(91) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, version#987918, product#987919, plant#987920, qty#987923]
(92) LogicalRDD
Arguments: [shardId#987924, worklistShardItemId#987925L, version#987926, product#987927, plant#987928, periodStart#987929, periodEnd#987930, qty#987931], false
(93) RepartitionByExpression
Arguments: [product#987927, plant#987928], 37
(94) Project
Arguments: [shardId#987924, worklistShardItemId#987925L, version#987926, product#987927, plant#987928, qty#987931]
(95) LogicalRDD
Arguments: [shardId#987932, worklistShardItemId#987933L, qty#987934, demandChannel#987935, demandStream#987936, kpis#987937], false
(96) Project
Arguments: [shardId#987932 AS cachedShardId#987938, worklistShardItemId#987933L AS cachedWorklistShardItemId#987939L, qty#987934 AS cachedQty#987940, demandChannel#987935, demandStream#987936, kpis#987937 AS cachedKpis#987941]
(97) Join
Arguments: Inner, (((worklistShardItemId#987925L = cachedWorklistShardItemId#987939L) AND (shardId#987924 = cachedShardId#987938)) AND ((qty#987931 = cachedQty#987940) OR isnull(qty#987931)))
(98) Project
Arguments: [shardId#987924, worklistShardItemId#987925L, version#987926, product#987927, plant#987928]
(99) Deduplicate
Arguments: [plant#987928, shardId#987924, version#987926, worklistShardItemId#987925L, product#987927]
(100) LogicalRDD
Arguments: [shardId#987942, worklistShardItemId#987943L, qty#987944, demandChannel#987945, demandStream#987946, kpis#987947], false
(101) Project
Arguments: [shardId#987942 AS cachedShardId#987948, worklistShardItemId#987943L AS cachedWorklistShardItemId#987949L, qty#987944 AS cachedQty#987950, demandChannel#987945, demandStream#987946, kpis#987947 AS cachedKpis#987951]
(102) Join
Arguments: Inner, ((worklistShardItemId#987925L = cachedWorklistShardItemId#987949L) AND (shardId#987924 = cachedShardId#987948))
(103) Project
Arguments: [shardId#987924, worklistShardItemId#987925L, version#987926, product#987927, plant#987928, cachedQty#987950 AS qty#987952, demandChannel#987945, demandStream#987946, cachedKpis#987951 AS kpis#987953]
(104) Project
Arguments: [shardId#987924, worklistShardItemId#987925L, version#987926, product#987927, plant#987928, qty#987952]
(105) LogicalRDD
Arguments: [shardId#987954, worklistShardItemId#987955L, version#987956, product#987957, plant#987958, periodStart#987959, periodEnd#987960, qty#987961], false
(106) RepartitionByExpression
Arguments: [product#987957, plant#987958], 37
(107) Project
Arguments: [shardId#987954, worklistShardItemId#987955L, version#987956, product#987957, plant#987958, qty#987961]
(108) LogicalRDD
Arguments: [shardId#987962, worklistShardItemId#987963L, qty#987964, demandChannel#987965, demandStream#987966, kpis#987967], false
(109) Project
Arguments: [shardId#987962 AS cachedShardId#987968, worklistShardItemId#987963L AS cachedWorklistShardItemId#987969L, qty#987964 AS cachedQty#987970, demandChannel#987965, demandStream#987966, kpis#987967 AS cachedKpis#987971]
(110) Join
Arguments: Inner, (((worklistShardItemId#987955L = cachedWorklistShardItemId#987969L) AND (shardId#987954 = cachedShardId#987968)) AND isnull(qty#987961))
(111) Project
Arguments: [shardId#987954, worklistShardItemId#987955L, version#987956, product#987957, plant#987958, qty#987961]
(112) Project
Arguments: [shardId#987954, worklistShardItemId#987955L, version#987956, product#987957, plant#987958, qty#987961]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#987916 <=> shardId#987924) AND (worklistShardItemId#987917L <=> worklistShardItemId#987925L)) AND (version#987918 <=> version#987926)) AND (product#987919 <=> product#987927)) AND (plant#987920 <=> plant#987928)) AND (qty#987923 <=> qty#987952))
(115) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, version#987918, product#987919, plant#987920, qty#987923]
(116) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, version#987918, product#987919, plant#987920, qty#987923, cast(null as string) AS demandChannel#987972]
(117) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, version#987918, product#987919, plant#987920, qty#987923, demandChannel#987972, cast(null as string) AS demandStream#987973]
(118) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, version#987918, product#987919, plant#987920, qty#987923, demandChannel#987972, demandStream#987973, array() AS kpis#987974]
(119) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, version#987918, product#987919, plant#987920, qty#987923, demandChannel#987972, demandStream#987973, kpis#987974, true AS isNewlyCalculated#987975]
(120) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, version#987918, product#987919, plant#987920, qty#987923, demandChannel#987972, demandStream#987973, cast(kpis#987974 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#987976, isNewlyCalculated#987975]
(121) LogicalRDD
Arguments: [shardId#987977, worklistShardItemId#987978L, version#987979, product#987980, plant#987981, periodStart#987982, periodEnd#987983, qty#987984], false
(122) RepartitionByExpression
Arguments: [product#987980, plant#987981], 37
(123) Project
Arguments: [shardId#987977, worklistShardItemId#987978L, version#987979, product#987980, plant#987981, qty#987984]
(124) LogicalRDD
Arguments: [shardId#987985, worklistShardItemId#987986L, qty#987987, demandChannel#987988, demandStream#987989, kpis#987990], false
(125) Project
Arguments: [shardId#987985 AS cachedShardId#987991, worklistShardItemId#987986L AS cachedWorklistShardItemId#987992L, qty#987987 AS cachedQty#987993, demandChannel#987988, demandStream#987989, kpis#987990 AS cachedKpis#987994]
(126) Join
Arguments: Inner, (((worklistShardItemId#987978L = cachedWorklistShardItemId#987992L) AND (shardId#987977 = cachedShardId#987991)) AND ((qty#987984 = cachedQty#987993) OR isnull(qty#987984)))
(127) Project
Arguments: [shardId#987977, worklistShardItemId#987978L, version#987979, product#987980, plant#987981]
(128) Deduplicate
Arguments: [plant#987981, shardId#987977, version#987979, worklistShardItemId#987978L, product#987980]
(129) LogicalRDD
Arguments: [shardId#987995, worklistShardItemId#987996L, qty#987997, demandChannel#987998, demandStream#987999, kpis#988000], false
(130) Project
Arguments: [shardId#987995 AS cachedShardId#988001, worklistShardItemId#987996L AS cachedWorklistShardItemId#988002L, qty#987997 AS cachedQty#988003, demandChannel#987998, demandStream#987999, kpis#988000 AS cachedKpis#988004]
(131) Join
Arguments: Inner, ((worklistShardItemId#987978L = cachedWorklistShardItemId#988002L) AND (shardId#987977 = cachedShardId#988001))
(132) Project
Arguments: [shardId#987977, worklistShardItemId#987978L, version#987979, product#987980, plant#987981, cachedQty#988003 AS qty#988005, demandChannel#987998, demandStream#987999, cachedKpis#988004 AS kpis#988006]
(133) Project
Arguments: [shardId#987977, worklistShardItemId#987978L, version#987979, product#987980, plant#987981, qty#988005, demandChannel#987998, demandStream#987999, kpis#988006, false AS isNewlyCalculated#988007]
(134) Project
Arguments: [shardId#987977, worklistShardItemId#987978L, version#987979, product#987980, plant#987981, qty#988005, demandChannel#987998, demandStream#987999, kpis#988006, isNewlyCalculated#988007]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#987975 <=> true)
(137) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, product#987919, plant#987920, qty#987923, kpis#987976]
(138) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, product#987919, plant#987920, qty#987923]
(139) Deduplicate
Arguments: [plant#987920, shardId#987916, qty#987923, worklistShardItemId#987917L, product#987919]
(140) Join
Arguments: Inner, ((product#987071 <=> product#987919) AND ((plant#987072 <=> plant#987920) AND ((qty#987098 <=> qty#987923) OR isnull(qty#987923))))
(141) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, qty#987098, demandChannel#987078, demandStream#987079, kpis#987107]
(142) Deduplicate
Arguments: [demandChannel#987078, shardId#987916, qty#987098, worklistShardItemId#987917L, demandStream#987079]
(143) Project
Arguments: [shardId#987916, worklistShardItemId#987917L, qty#987098, demandChannel#987078, demandStream#987079, kpis#987107]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010, product#988011, plant#988012, periodStart#988013, periodEnd#988014, qty#988015], false
(146) RepartitionByExpression
Arguments: [product#988011, plant#988012], 37
(147) Project
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010, product#988011, plant#988012, qty#988015]
(148) LogicalRDD
Arguments: [shardId#988016, worklistShardItemId#988017L, version#988018, product#988019, plant#988020, periodStart#988021, periodEnd#988022, qty#988023], false
(149) RepartitionByExpression
Arguments: [product#988019, plant#988020], 37
(150) Project
Arguments: [shardId#988016, worklistShardItemId#988017L, version#988018, product#988019, plant#988020, qty#988023]
(151) LogicalRDD
Arguments: [shardId#988024, worklistShardItemId#988025L, qty#988026, demandChannel#988027, demandStream#988028, kpis#988029], false
(152) Project
Arguments: [shardId#988024 AS cachedShardId#988030, worklistShardItemId#988025L AS cachedWorklistShardItemId#988031L, qty#988026 AS cachedQty#988032, demandChannel#988027, demandStream#988028, kpis#988029 AS cachedKpis#988033]
(153) Join
Arguments: Inner, (((worklistShardItemId#988017L = cachedWorklistShardItemId#988031L) AND (shardId#988016 = cachedShardId#988030)) AND ((qty#988023 = cachedQty#988032) OR isnull(qty#988023)))
(154) Project
Arguments: [shardId#988016, worklistShardItemId#988017L, version#988018, product#988019, plant#988020]
(155) Deduplicate
Arguments: [plant#988020, shardId#988016, version#988018, worklistShardItemId#988017L, product#988019]
(156) LogicalRDD
Arguments: [shardId#988034, worklistShardItemId#988035L, qty#988036, demandChannel#988037, demandStream#988038, kpis#988039], false
(157) Project
Arguments: [shardId#988034 AS cachedShardId#988040, worklistShardItemId#988035L AS cachedWorklistShardItemId#988041L, qty#988036 AS cachedQty#988042, demandChannel#988037, demandStream#988038, kpis#988039 AS cachedKpis#988043]
(158) Join
Arguments: Inner, ((worklistShardItemId#988017L = cachedWorklistShardItemId#988041L) AND (shardId#988016 = cachedShardId#988040))
(159) Project
Arguments: [shardId#988016, worklistShardItemId#988017L, version#988018, product#988019, plant#988020, cachedQty#988042 AS qty#988044, demandChannel#988037, demandStream#988038, cachedKpis#988043 AS kpis#988045]
(160) Project
Arguments: [shardId#988016, worklistShardItemId#988017L, version#988018, product#988019, plant#988020, qty#988044]
(161) LogicalRDD
Arguments: [shardId#988046, worklistShardItemId#988047L, version#988048, product#988049, plant#988050, periodStart#988051, periodEnd#988052, qty#988053], false
(162) RepartitionByExpression
Arguments: [product#988049, plant#988050], 37
(163) Project
Arguments: [shardId#988046, worklistShardItemId#988047L, version#988048, product#988049, plant#988050, qty#988053]
(164) LogicalRDD
Arguments: [shardId#988054, worklistShardItemId#988055L, qty#988056, demandChannel#988057, demandStream#988058, kpis#988059], false
(165) Project
Arguments: [shardId#988054 AS cachedShardId#988060, worklistShardItemId#988055L AS cachedWorklistShardItemId#988061L, qty#988056 AS cachedQty#988062, demandChannel#988057, demandStream#988058, kpis#988059 AS cachedKpis#988063]
(166) Join
Arguments: Inner, (((worklistShardItemId#988047L = cachedWorklistShardItemId#988061L) AND (shardId#988046 = cachedShardId#988060)) AND isnull(qty#988053))
(167) Project
Arguments: [shardId#988046, worklistShardItemId#988047L, version#988048, product#988049, plant#988050, qty#988053]
(168) Project
Arguments: [shardId#988046, worklistShardItemId#988047L, version#988048, product#988049, plant#988050, qty#988053]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#988008 <=> shardId#988016) AND (worklistShardItemId#988009L <=> worklistShardItemId#988017L)) AND (version#988010 <=> version#988018)) AND (product#988011 <=> product#988019)) AND (plant#988012 <=> plant#988020)) AND (qty#988015 <=> qty#988044))
(171) Project
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010, product#988011, plant#988012, qty#988015]
(172) Project
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010, product#988011, plant#988012, qty#988015, cast(null as string) AS demandChannel#988064]
(173) Project
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010, product#988011, plant#988012, qty#988015, demandChannel#988064, cast(null as string) AS demandStream#988065]
(174) Project
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010, product#988011, plant#988012, qty#988015, demandChannel#988064, demandStream#988065, array() AS kpis#988066]
(175) Project
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010, product#988011, plant#988012, qty#988015, demandChannel#988064, demandStream#988065, kpis#988066, true AS isNewlyCalculated#988067]
(176) Project
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010, product#988011, plant#988012, qty#988015, demandChannel#988064, demandStream#988065, cast(kpis#988066 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#988068, isNewlyCalculated#988067]
(177) LogicalRDD
Arguments: [shardId#988069, worklistShardItemId#988070L, version#988071, product#988072, plant#988073, periodStart#988074, periodEnd#988075, qty#988076], false
(178) RepartitionByExpression
Arguments: [product#988072, plant#988073], 37
(179) Project
Arguments: [shardId#988069, worklistShardItemId#988070L, version#988071, product#988072, plant#988073, qty#988076]
(180) LogicalRDD
Arguments: [shardId#988077, worklistShardItemId#988078L, qty#988079, demandChannel#988080, demandStream#988081, kpis#988082], false
(181) Project
Arguments: [shardId#988077 AS cachedShardId#988083, worklistShardItemId#988078L AS cachedWorklistShardItemId#988084L, qty#988079 AS cachedQty#988085, demandChannel#988080, demandStream#988081, kpis#988082 AS cachedKpis#988086]
(182) Join
Arguments: Inner, (((worklistShardItemId#988070L = cachedWorklistShardItemId#988084L) AND (shardId#988069 = cachedShardId#988083)) AND ((qty#988076 = cachedQty#988085) OR isnull(qty#988076)))
(183) Project
Arguments: [shardId#988069, worklistShardItemId#988070L, version#988071, product#988072, plant#988073]
(184) Deduplicate
Arguments: [plant#988073, shardId#988069, version#988071, worklistShardItemId#988070L, product#988072]
(185) LogicalRDD
Arguments: [shardId#988087, worklistShardItemId#988088L, qty#988089, demandChannel#988090, demandStream#988091, kpis#988092], false
(186) Project
Arguments: [shardId#988087 AS cachedShardId#988093, worklistShardItemId#988088L AS cachedWorklistShardItemId#988094L, qty#988089 AS cachedQty#988095, demandChannel#988090, demandStream#988091, kpis#988092 AS cachedKpis#988096]
(187) Join
Arguments: Inner, ((worklistShardItemId#988070L = cachedWorklistShardItemId#988094L) AND (shardId#988069 = cachedShardId#988093))
(188) Project
Arguments: [shardId#988069, worklistShardItemId#988070L, version#988071, product#988072, plant#988073, cachedQty#988095 AS qty#988097, demandChannel#988090, demandStream#988091, cachedKpis#988096 AS kpis#988098]
(189) Project
Arguments: [shardId#988069, worklistShardItemId#988070L, version#988071, product#988072, plant#988073, qty#988097, demandChannel#988090, demandStream#988091, kpis#988098, false AS isNewlyCalculated#988099]
(190) Project
Arguments: [shardId#988069, worklistShardItemId#988070L, version#988071, product#988072, plant#988073, qty#988097, demandChannel#988090, demandStream#988091, kpis#988098, isNewlyCalculated#988099]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#988008, worklistShardItemId#988009L, version#988010]
(193) Aggregate
Arguments: [shardId#988008, worklistShardItemId#988009L], [shardId#988008, worklistShardItemId#988009L, (max(version#988010) + 1) AS version#987911]
(194) Join
Arguments: Inner, ((shardId#943631 = shardId#988008) AND (worklistShardItemId#943632L = worklistShardItemId#988009L))
(195) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#984542, demandStream#984543, kpis#984577, version#987911]
(196) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#987911, qty#943638, demandChannel#984542, demandStream#984543, kpis#984577]