== 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@29b2f1fd, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000347/stream-10000000347-1], Append
(3) LogicalRDD
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, periodStart#815745, periodEnd#815746, qty#815747], false
(4) RepartitionByExpression
Arguments: [product#815743, plant#815744], 37
(5) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(6) LogicalRDD
Arguments: [shardId#860438, worklistShardItemId#860439L, version#860440, product#860441, plant#860442, periodStart#860443, periodEnd#860444, qty#860445], false
(7) RepartitionByExpression
Arguments: [product#860441, plant#860442], 37
(8) Project
Arguments: [shardId#860438, worklistShardItemId#860439L, version#860440, product#860441, plant#860442, qty#860445]
(9) LogicalRDD
Arguments: [shardId#860193, worklistShardItemId#860194L, qty#860195, demandChannel#860196, demandStream#860197, kpis#860198], false
(10) Project
Arguments: [shardId#860193 AS cachedShardId#860199, worklistShardItemId#860194L AS cachedWorklistShardItemId#860200L, qty#860195 AS cachedQty#860201, demandChannel#860196, demandStream#860197, kpis#860198 AS cachedKpis#860202]
(11) Join
Arguments: Inner, (((worklistShardItemId#860439L = cachedWorklistShardItemId#860200L) AND (shardId#860438 = cachedShardId#860199)) AND ((qty#860445 = cachedQty#860201) OR isnull(qty#860445)))
(12) Project
Arguments: [shardId#860438, worklistShardItemId#860439L, version#860440, product#860441, plant#860442]
(13) Deduplicate
Arguments: [plant#860442, shardId#860438, version#860440, worklistShardItemId#860439L, product#860441]
(14) LogicalRDD
Arguments: [shardId#860203, worklistShardItemId#860204L, qty#860205, demandChannel#860206, demandStream#860207, kpis#860208], false
(15) Project
Arguments: [shardId#860203 AS cachedShardId#860209, worklistShardItemId#860204L AS cachedWorklistShardItemId#860210L, qty#860205 AS cachedQty#860211, demandChannel#860206, demandStream#860207, kpis#860208 AS cachedKpis#860212]
(16) Join
Arguments: Inner, ((worklistShardItemId#860439L = cachedWorklistShardItemId#860210L) AND (shardId#860438 = cachedShardId#860209))
(17) Project
Arguments: [shardId#860438, worklistShardItemId#860439L, version#860440, product#860441, plant#860442, cachedQty#860211 AS qty#860213, demandChannel#860206, demandStream#860207, cachedKpis#860212 AS kpis#860214]
(18) Project
Arguments: [shardId#860438, worklistShardItemId#860439L, version#860440, product#860441, plant#860442, qty#860213]
(19) LogicalRDD
Arguments: [shardId#860420, worklistShardItemId#860421L, version#860422, product#860423, plant#860424, periodStart#860425, periodEnd#860426, qty#860427], false
(20) RepartitionByExpression
Arguments: [product#860423, plant#860424], 37
(21) Project
Arguments: [shardId#860420, worklistShardItemId#860421L, version#860422, product#860423, plant#860424, qty#860427]
(22) LogicalRDD
Arguments: [shardId#860428, worklistShardItemId#860429L, qty#860430, demandChannel#860431, demandStream#860432, kpis#860433], false
(23) Project
Arguments: [shardId#860428 AS cachedShardId#860434, worklistShardItemId#860429L AS cachedWorklistShardItemId#860435L, qty#860430 AS cachedQty#860436, demandChannel#860431, demandStream#860432, kpis#860433 AS cachedKpis#860437]
(24) Join
Arguments: Inner, (((worklistShardItemId#860421L = cachedWorklistShardItemId#860435L) AND (shardId#860420 = cachedShardId#860434)) AND isnull(qty#860427))
(25) Project
Arguments: [shardId#860420, worklistShardItemId#860421L, version#860422, product#860423, plant#860424, qty#860427]
(26) Project
Arguments: [shardId#860420, worklistShardItemId#860421L, version#860422, product#860423, plant#860424, qty#860427]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#860438) AND (worklistShardItemId#815741L <=> worklistShardItemId#860439L)) AND (version#815742 <=> version#860440)) AND (product#815743 <=> product#860441)) AND (plant#815744 <=> plant#860442)) AND (qty#815747 <=> qty#860213))
(29) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(30) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, cast(null as string) AS demandChannel#860446]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#860446, cast(null as string) AS demandStream#860447]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#860446, demandStream#860447, array() AS kpis#860448]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#860446, demandStream#860447, kpis#860448, true AS isNewlyCalculated#860449]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#860446, demandStream#860447, cast(kpis#860448 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#860481, isNewlyCalculated#860449]
(35) LogicalRDD
Arguments: [shardId#860451, worklistShardItemId#860452L, version#860453, product#860454, plant#860455, periodStart#860456, periodEnd#860457, qty#860458], false
(36) RepartitionByExpression
Arguments: [product#860454, plant#860455], 37
(37) Project
Arguments: [shardId#860451, worklistShardItemId#860452L, version#860453, product#860454, plant#860455, qty#860458]
(38) LogicalRDD
Arguments: [shardId#860459, worklistShardItemId#860460L, qty#860461, demandChannel#860462, demandStream#860463, kpis#860464], false
(39) Project
Arguments: [shardId#860459 AS cachedShardId#860465, worklistShardItemId#860460L AS cachedWorklistShardItemId#860466L, qty#860461 AS cachedQty#860467, demandChannel#860462, demandStream#860463, kpis#860464 AS cachedKpis#860468]
(40) Join
Arguments: Inner, (((worklistShardItemId#860452L = cachedWorklistShardItemId#860466L) AND (shardId#860451 = cachedShardId#860465)) AND ((qty#860458 = cachedQty#860467) OR isnull(qty#860458)))
(41) Project
Arguments: [shardId#860451, worklistShardItemId#860452L, version#860453, product#860454, plant#860455]
(42) Deduplicate
Arguments: [plant#860455, shardId#860451, version#860453, worklistShardItemId#860452L, product#860454]
(43) LogicalRDD
Arguments: [shardId#860469, worklistShardItemId#860470L, qty#860471, demandChannel#860472, demandStream#860473, kpis#860474], false
(44) Project
Arguments: [shardId#860469 AS cachedShardId#860475, worklistShardItemId#860470L AS cachedWorklistShardItemId#860476L, qty#860471 AS cachedQty#860477, demandChannel#860472, demandStream#860473, kpis#860474 AS cachedKpis#860478]
(45) Join
Arguments: Inner, ((worklistShardItemId#860452L = cachedWorklistShardItemId#860476L) AND (shardId#860451 = cachedShardId#860475))
(46) Project
Arguments: [shardId#860451, worklistShardItemId#860452L, version#860453, product#860454, plant#860455, cachedQty#860477 AS qty#860479, demandChannel#860472, demandStream#860473, cachedKpis#860478 AS kpis#860480]
(47) Project
Arguments: [shardId#860451, worklistShardItemId#860452L, version#860453, product#860454, plant#860455, qty#860479, demandChannel#860472, demandStream#860473, kpis#860480, false AS isNewlyCalculated#860450]
(48) Project
Arguments: [shardId#860451, worklistShardItemId#860452L, version#860453, product#860454, plant#860455, qty#860479, demandChannel#860472, demandStream#860473, kpis#860480, isNewlyCalculated#860450]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#860449 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#860446, demandStream#860447, kpis#860481]
(52) ExternalRDD
Arguments: [obj#862945]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68166), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68166), 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, 68166), 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, 68166), 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, 68166), 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, 68166), 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#862948, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68167), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68167), 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, 68168), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68168), 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, 68168), 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, 68168), 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, 68169), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68169), 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, 68169), 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, 68169), 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, 68169), 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, 68168), 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, 68167), 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, 68170), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68170), 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, 68170), 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, 68170), 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, 68170), 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, 68167), 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, 68167), 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, 68167), 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, 68171), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68171), 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, 68172), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68172), 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, 68172), 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, 68172), 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, 68172), 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, 68171), 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, 68171), 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, 68167), 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#862949]
(54) Generate
Arguments: explode(prodPlantResults#862949), false, [prodPlantResults#862956]
(55) Project
Arguments: [prodPlantResults#862956]
(56) Project
Arguments: [prodPlantResults#862956.productId AS product#862975, prodPlantResults#862956.plantId AS plant#862976, prodPlantResults#862956.kpiResults AS kpis#862977]
(57) Project
Arguments: [product#862975, plant#862976, kpis#862977, null AS qty#862981]
(58) Project
Arguments: [product#862975, plant#862976, kpis#862977, qty#862981, cast(null as string) AS demandChannel#862982]
(59) Project
Arguments: [product#862975, plant#862976, kpis#862977, qty#862981, demandChannel#862982, cast(null as string) AS demandStream#862983]
(60) Project
Arguments: [product#862975, plant#862976, kpis#862977, cast(qty#862981 as double) AS qty#863002, demandChannel#862982, demandStream#862983]
(61) ExternalRDD
Arguments: [obj#862998]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68166), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68166), 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, 68166), 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, 68166), 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, 68166), 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, 68166), 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#862999, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68167), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68167), 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, 68168), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68168), 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, 68168), 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, 68168), 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, 68169), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68169), 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, 68169), 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, 68169), 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, 68169), 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, 68168), 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, 68167), 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, 68170), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68170), 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, 68170), 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, 68170), 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, 68170), 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, 68167), 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, 68167), 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, 68167), 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, 68171), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68171), 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, 68172), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68172), 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, 68172), 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, 68172), 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, 68172), 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, 68171), 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, 68171), 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, 68167), 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#863000]
(63) Generate
Arguments: explode(prodPlantResults#863000), false, [prodPlantResults#863001]
(64) Project
Arguments: [prodPlantResults#863001]
(65) Generate
Arguments: explode(prodPlantResults#863001.quantityKpiResults), false, [quantityKpiResults#862968]
(66) Project
Arguments: [prodPlantResults#863001.productId AS product#862962, prodPlantResults#863001.plantId AS plant#862963, quantityKpiResults#862968]
(67) Project
Arguments: [product#862962, plant#862963, quantityKpiResults#862968, quantityKpiResults#862968.quantity AS qty#862969]
(68) Project
Arguments: [product#862962, plant#862963, quantityKpiResults#862968, qty#862969, cast(null as string) AS demandChannel#862971]
(69) Project
Arguments: [product#862962, plant#862963, quantityKpiResults#862968, qty#862969, demandChannel#862971, cast(null as string) AS demandStream#862972]
(70) Project
Arguments: [product#862962, plant#862963, quantityKpiResults#862968, qty#862969, demandChannel#862971, demandStream#862972, quantityKpiResults#862968.kpiResults AS kpis#862973]
(71) Project
Arguments: [product#862962, plant#862963, qty#862969, demandChannel#862971, demandStream#862972, kpis#862973]
(72) Project
Arguments: [product#862962, plant#862963, kpis#862973, qty#862969, demandChannel#862971, demandStream#862972]
(73) ExternalRDD
Arguments: [obj#863003]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68166), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68166), 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, 68166), 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, 68166), 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, 68166), 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, 68166), 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#863004, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68167), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68167), 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, 68168), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68168), 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, 68168), 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, 68168), 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, 68169), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68169), 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, 68169), 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, 68169), 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, 68169), 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, 68168), 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, 68167), 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, 68170), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68170), 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, 68170), 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, 68170), 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, 68170), 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, 68167), 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, 68167), 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, 68167), 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, 68171), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68171), 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, 68172), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68172), 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, 68172), 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, 68172), 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, 68172), 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, 68171), 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, 68171), 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, 68167), 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#863005]
(75) Generate
Arguments: explode(prodPlantResults#863005), false, [prodPlantResults#863006]
(76) Project
Arguments: [prodPlantResults#863006]
(77) Generate
Arguments: explode(prodPlantResults#863006.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#862990]
(78) Project
Arguments: [prodPlantResults#863006.productId AS product#862984, prodPlantResults#863006.plantId AS plant#862985, demandChannelStreamKpiResults#862990]
(79) Project
Arguments: [product#862984, plant#862985, demandChannelStreamKpiResults#862990, null AS qty#862991]
(80) Project
Arguments: [product#862984, plant#862985, demandChannelStreamKpiResults#862990, qty#862991, demandChannelStreamKpiResults#862990.demandChannel AS demandChannel#862992]
(81) Project
Arguments: [product#862984, plant#862985, demandChannelStreamKpiResults#862990, qty#862991, demandChannel#862992, demandChannelStreamKpiResults#862990.demandStream AS demandStream#862994]
(82) Project
Arguments: [product#862984, plant#862985, demandChannelStreamKpiResults#862990, qty#862991, demandChannel#862992, demandStream#862994, demandChannelStreamKpiResults#862990.kpiResults AS kpis#862996]
(83) Project
Arguments: [product#862984, plant#862985, qty#862991, demandChannel#862992, demandStream#862994, kpis#862996]
(84) Project
Arguments: [product#862984, plant#862985, kpis#862996, qty#862991, demandChannel#862992, demandStream#862994]
(85) Project
Arguments: [product#862984, plant#862985, kpis#862996, cast(qty#862991 as double) AS qty#863007, demandChannel#862992, demandStream#862994]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#862975, plant#862976, transform(kpis#862977, lambdafunction(struct(label, lambda kpi#863012.label, dateTime, lambda kpi#863012.datetime, value, lambda kpi#863012.value), lambda kpi#863012, false)) AS kpis#863011, qty#863002, demandChannel#862982, demandStream#862983]
(88) Project
Arguments: [product#862975, plant#862976, qty#863002, demandChannel#862982, demandStream#862983, kpis#863011]
(89) LogicalRDD
Arguments: [shardId#863820, worklistShardItemId#863821L, version#863822, product#863823, plant#863824, periodStart#863825, periodEnd#863826, qty#863827], false
(90) RepartitionByExpression
Arguments: [product#863823, plant#863824], 37
(91) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, version#863822, product#863823, plant#863824, qty#863827]
(92) LogicalRDD
Arguments: [shardId#863828, worklistShardItemId#863829L, version#863830, product#863831, plant#863832, periodStart#863833, periodEnd#863834, qty#863835], false
(93) RepartitionByExpression
Arguments: [product#863831, plant#863832], 37
(94) Project
Arguments: [shardId#863828, worklistShardItemId#863829L, version#863830, product#863831, plant#863832, qty#863835]
(95) LogicalRDD
Arguments: [shardId#863836, worklistShardItemId#863837L, qty#863838, demandChannel#863839, demandStream#863840, kpis#863841], false
(96) Project
Arguments: [shardId#863836 AS cachedShardId#863842, worklistShardItemId#863837L AS cachedWorklistShardItemId#863843L, qty#863838 AS cachedQty#863844, demandChannel#863839, demandStream#863840, kpis#863841 AS cachedKpis#863845]
(97) Join
Arguments: Inner, (((worklistShardItemId#863829L = cachedWorklistShardItemId#863843L) AND (shardId#863828 = cachedShardId#863842)) AND ((qty#863835 = cachedQty#863844) OR isnull(qty#863835)))
(98) Project
Arguments: [shardId#863828, worklistShardItemId#863829L, version#863830, product#863831, plant#863832]
(99) Deduplicate
Arguments: [plant#863832, shardId#863828, version#863830, worklistShardItemId#863829L, product#863831]
(100) LogicalRDD
Arguments: [shardId#863846, worklistShardItemId#863847L, qty#863848, demandChannel#863849, demandStream#863850, kpis#863851], false
(101) Project
Arguments: [shardId#863846 AS cachedShardId#863852, worklistShardItemId#863847L AS cachedWorklistShardItemId#863853L, qty#863848 AS cachedQty#863854, demandChannel#863849, demandStream#863850, kpis#863851 AS cachedKpis#863855]
(102) Join
Arguments: Inner, ((worklistShardItemId#863829L = cachedWorklistShardItemId#863853L) AND (shardId#863828 = cachedShardId#863852))
(103) Project
Arguments: [shardId#863828, worklistShardItemId#863829L, version#863830, product#863831, plant#863832, cachedQty#863854 AS qty#863856, demandChannel#863849, demandStream#863850, cachedKpis#863855 AS kpis#863857]
(104) Project
Arguments: [shardId#863828, worklistShardItemId#863829L, version#863830, product#863831, plant#863832, qty#863856]
(105) LogicalRDD
Arguments: [shardId#863858, worklistShardItemId#863859L, version#863860, product#863861, plant#863862, periodStart#863863, periodEnd#863864, qty#863865], false
(106) RepartitionByExpression
Arguments: [product#863861, plant#863862], 37
(107) Project
Arguments: [shardId#863858, worklistShardItemId#863859L, version#863860, product#863861, plant#863862, qty#863865]
(108) LogicalRDD
Arguments: [shardId#863866, worklistShardItemId#863867L, qty#863868, demandChannel#863869, demandStream#863870, kpis#863871], false
(109) Project
Arguments: [shardId#863866 AS cachedShardId#863872, worklistShardItemId#863867L AS cachedWorklistShardItemId#863873L, qty#863868 AS cachedQty#863874, demandChannel#863869, demandStream#863870, kpis#863871 AS cachedKpis#863875]
(110) Join
Arguments: Inner, (((worklistShardItemId#863859L = cachedWorklistShardItemId#863873L) AND (shardId#863858 = cachedShardId#863872)) AND isnull(qty#863865))
(111) Project
Arguments: [shardId#863858, worklistShardItemId#863859L, version#863860, product#863861, plant#863862, qty#863865]
(112) Project
Arguments: [shardId#863858, worklistShardItemId#863859L, version#863860, product#863861, plant#863862, qty#863865]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#863820 <=> shardId#863828) AND (worklistShardItemId#863821L <=> worklistShardItemId#863829L)) AND (version#863822 <=> version#863830)) AND (product#863823 <=> product#863831)) AND (plant#863824 <=> plant#863832)) AND (qty#863827 <=> qty#863856))
(115) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, version#863822, product#863823, plant#863824, qty#863827]
(116) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, version#863822, product#863823, plant#863824, qty#863827, cast(null as string) AS demandChannel#863876]
(117) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, version#863822, product#863823, plant#863824, qty#863827, demandChannel#863876, cast(null as string) AS demandStream#863877]
(118) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, version#863822, product#863823, plant#863824, qty#863827, demandChannel#863876, demandStream#863877, array() AS kpis#863878]
(119) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, version#863822, product#863823, plant#863824, qty#863827, demandChannel#863876, demandStream#863877, kpis#863878, true AS isNewlyCalculated#863879]
(120) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, version#863822, product#863823, plant#863824, qty#863827, demandChannel#863876, demandStream#863877, cast(kpis#863878 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#863880, isNewlyCalculated#863879]
(121) LogicalRDD
Arguments: [shardId#863881, worklistShardItemId#863882L, version#863883, product#863884, plant#863885, periodStart#863886, periodEnd#863887, qty#863888], false
(122) RepartitionByExpression
Arguments: [product#863884, plant#863885], 37
(123) Project
Arguments: [shardId#863881, worklistShardItemId#863882L, version#863883, product#863884, plant#863885, qty#863888]
(124) LogicalRDD
Arguments: [shardId#863889, worklistShardItemId#863890L, qty#863891, demandChannel#863892, demandStream#863893, kpis#863894], false
(125) Project
Arguments: [shardId#863889 AS cachedShardId#863895, worklistShardItemId#863890L AS cachedWorklistShardItemId#863896L, qty#863891 AS cachedQty#863897, demandChannel#863892, demandStream#863893, kpis#863894 AS cachedKpis#863898]
(126) Join
Arguments: Inner, (((worklistShardItemId#863882L = cachedWorklistShardItemId#863896L) AND (shardId#863881 = cachedShardId#863895)) AND ((qty#863888 = cachedQty#863897) OR isnull(qty#863888)))
(127) Project
Arguments: [shardId#863881, worklistShardItemId#863882L, version#863883, product#863884, plant#863885]
(128) Deduplicate
Arguments: [plant#863885, shardId#863881, version#863883, worklistShardItemId#863882L, product#863884]
(129) LogicalRDD
Arguments: [shardId#863899, worklistShardItemId#863900L, qty#863901, demandChannel#863902, demandStream#863903, kpis#863904], false
(130) Project
Arguments: [shardId#863899 AS cachedShardId#863905, worklistShardItemId#863900L AS cachedWorklistShardItemId#863906L, qty#863901 AS cachedQty#863907, demandChannel#863902, demandStream#863903, kpis#863904 AS cachedKpis#863908]
(131) Join
Arguments: Inner, ((worklistShardItemId#863882L = cachedWorklistShardItemId#863906L) AND (shardId#863881 = cachedShardId#863905))
(132) Project
Arguments: [shardId#863881, worklistShardItemId#863882L, version#863883, product#863884, plant#863885, cachedQty#863907 AS qty#863909, demandChannel#863902, demandStream#863903, cachedKpis#863908 AS kpis#863910]
(133) Project
Arguments: [shardId#863881, worklistShardItemId#863882L, version#863883, product#863884, plant#863885, qty#863909, demandChannel#863902, demandStream#863903, kpis#863910, false AS isNewlyCalculated#863911]
(134) Project
Arguments: [shardId#863881, worklistShardItemId#863882L, version#863883, product#863884, plant#863885, qty#863909, demandChannel#863902, demandStream#863903, kpis#863910, isNewlyCalculated#863911]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#863879 <=> true)
(137) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, product#863823, plant#863824, qty#863827, kpis#863880]
(138) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, product#863823, plant#863824, qty#863827]
(139) Deduplicate
Arguments: [plant#863824, shardId#863820, qty#863827, worklistShardItemId#863821L, product#863823]
(140) Join
Arguments: Inner, ((product#862975 <=> product#863823) AND ((plant#862976 <=> plant#863824) AND ((qty#863002 <=> qty#863827) OR isnull(qty#863827))))
(141) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, qty#863002, demandChannel#862982, demandStream#862983, kpis#863011]
(142) Deduplicate
Arguments: [demandChannel#862982, shardId#863820, qty#863002, worklistShardItemId#863821L, demandStream#862983]
(143) Project
Arguments: [shardId#863820, worklistShardItemId#863821L, qty#863002, demandChannel#862982, demandStream#862983, kpis#863011]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914, product#863915, plant#863916, periodStart#863917, periodEnd#863918, qty#863919], false
(146) RepartitionByExpression
Arguments: [product#863915, plant#863916], 37
(147) Project
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914, product#863915, plant#863916, qty#863919]
(148) LogicalRDD
Arguments: [shardId#863920, worklistShardItemId#863921L, version#863922, product#863923, plant#863924, periodStart#863925, periodEnd#863926, qty#863927], false
(149) RepartitionByExpression
Arguments: [product#863923, plant#863924], 37
(150) Project
Arguments: [shardId#863920, worklistShardItemId#863921L, version#863922, product#863923, plant#863924, qty#863927]
(151) LogicalRDD
Arguments: [shardId#863928, worklistShardItemId#863929L, qty#863930, demandChannel#863931, demandStream#863932, kpis#863933], false
(152) Project
Arguments: [shardId#863928 AS cachedShardId#863934, worklistShardItemId#863929L AS cachedWorklistShardItemId#863935L, qty#863930 AS cachedQty#863936, demandChannel#863931, demandStream#863932, kpis#863933 AS cachedKpis#863937]
(153) Join
Arguments: Inner, (((worklistShardItemId#863921L = cachedWorklistShardItemId#863935L) AND (shardId#863920 = cachedShardId#863934)) AND ((qty#863927 = cachedQty#863936) OR isnull(qty#863927)))
(154) Project
Arguments: [shardId#863920, worklistShardItemId#863921L, version#863922, product#863923, plant#863924]
(155) Deduplicate
Arguments: [plant#863924, shardId#863920, version#863922, worklistShardItemId#863921L, product#863923]
(156) LogicalRDD
Arguments: [shardId#863938, worklistShardItemId#863939L, qty#863940, demandChannel#863941, demandStream#863942, kpis#863943], false
(157) Project
Arguments: [shardId#863938 AS cachedShardId#863944, worklistShardItemId#863939L AS cachedWorklistShardItemId#863945L, qty#863940 AS cachedQty#863946, demandChannel#863941, demandStream#863942, kpis#863943 AS cachedKpis#863947]
(158) Join
Arguments: Inner, ((worklistShardItemId#863921L = cachedWorklistShardItemId#863945L) AND (shardId#863920 = cachedShardId#863944))
(159) Project
Arguments: [shardId#863920, worklistShardItemId#863921L, version#863922, product#863923, plant#863924, cachedQty#863946 AS qty#863948, demandChannel#863941, demandStream#863942, cachedKpis#863947 AS kpis#863949]
(160) Project
Arguments: [shardId#863920, worklistShardItemId#863921L, version#863922, product#863923, plant#863924, qty#863948]
(161) LogicalRDD
Arguments: [shardId#863950, worklistShardItemId#863951L, version#863952, product#863953, plant#863954, periodStart#863955, periodEnd#863956, qty#863957], false
(162) RepartitionByExpression
Arguments: [product#863953, plant#863954], 37
(163) Project
Arguments: [shardId#863950, worklistShardItemId#863951L, version#863952, product#863953, plant#863954, qty#863957]
(164) LogicalRDD
Arguments: [shardId#863958, worklistShardItemId#863959L, qty#863960, demandChannel#863961, demandStream#863962, kpis#863963], false
(165) Project
Arguments: [shardId#863958 AS cachedShardId#863964, worklistShardItemId#863959L AS cachedWorklistShardItemId#863965L, qty#863960 AS cachedQty#863966, demandChannel#863961, demandStream#863962, kpis#863963 AS cachedKpis#863967]
(166) Join
Arguments: Inner, (((worklistShardItemId#863951L = cachedWorklistShardItemId#863965L) AND (shardId#863950 = cachedShardId#863964)) AND isnull(qty#863957))
(167) Project
Arguments: [shardId#863950, worklistShardItemId#863951L, version#863952, product#863953, plant#863954, qty#863957]
(168) Project
Arguments: [shardId#863950, worklistShardItemId#863951L, version#863952, product#863953, plant#863954, qty#863957]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#863912 <=> shardId#863920) AND (worklistShardItemId#863913L <=> worklistShardItemId#863921L)) AND (version#863914 <=> version#863922)) AND (product#863915 <=> product#863923)) AND (plant#863916 <=> plant#863924)) AND (qty#863919 <=> qty#863948))
(171) Project
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914, product#863915, plant#863916, qty#863919]
(172) Project
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914, product#863915, plant#863916, qty#863919, cast(null as string) AS demandChannel#863968]
(173) Project
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914, product#863915, plant#863916, qty#863919, demandChannel#863968, cast(null as string) AS demandStream#863969]
(174) Project
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914, product#863915, plant#863916, qty#863919, demandChannel#863968, demandStream#863969, array() AS kpis#863970]
(175) Project
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914, product#863915, plant#863916, qty#863919, demandChannel#863968, demandStream#863969, kpis#863970, true AS isNewlyCalculated#863971]
(176) Project
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914, product#863915, plant#863916, qty#863919, demandChannel#863968, demandStream#863969, cast(kpis#863970 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#863972, isNewlyCalculated#863971]
(177) LogicalRDD
Arguments: [shardId#863973, worklistShardItemId#863974L, version#863975, product#863976, plant#863977, periodStart#863978, periodEnd#863979, qty#863980], false
(178) RepartitionByExpression
Arguments: [product#863976, plant#863977], 37
(179) Project
Arguments: [shardId#863973, worklistShardItemId#863974L, version#863975, product#863976, plant#863977, qty#863980]
(180) LogicalRDD
Arguments: [shardId#863981, worklistShardItemId#863982L, qty#863983, demandChannel#863984, demandStream#863985, kpis#863986], false
(181) Project
Arguments: [shardId#863981 AS cachedShardId#863987, worklistShardItemId#863982L AS cachedWorklistShardItemId#863988L, qty#863983 AS cachedQty#863989, demandChannel#863984, demandStream#863985, kpis#863986 AS cachedKpis#863990]
(182) Join
Arguments: Inner, (((worklistShardItemId#863974L = cachedWorklistShardItemId#863988L) AND (shardId#863973 = cachedShardId#863987)) AND ((qty#863980 = cachedQty#863989) OR isnull(qty#863980)))
(183) Project
Arguments: [shardId#863973, worklistShardItemId#863974L, version#863975, product#863976, plant#863977]
(184) Deduplicate
Arguments: [plant#863977, shardId#863973, version#863975, worklistShardItemId#863974L, product#863976]
(185) LogicalRDD
Arguments: [shardId#863991, worklistShardItemId#863992L, qty#863993, demandChannel#863994, demandStream#863995, kpis#863996], false
(186) Project
Arguments: [shardId#863991 AS cachedShardId#863997, worklistShardItemId#863992L AS cachedWorklistShardItemId#863998L, qty#863993 AS cachedQty#863999, demandChannel#863994, demandStream#863995, kpis#863996 AS cachedKpis#864000]
(187) Join
Arguments: Inner, ((worklistShardItemId#863974L = cachedWorklistShardItemId#863998L) AND (shardId#863973 = cachedShardId#863997))
(188) Project
Arguments: [shardId#863973, worklistShardItemId#863974L, version#863975, product#863976, plant#863977, cachedQty#863999 AS qty#864001, demandChannel#863994, demandStream#863995, cachedKpis#864000 AS kpis#864002]
(189) Project
Arguments: [shardId#863973, worklistShardItemId#863974L, version#863975, product#863976, plant#863977, qty#864001, demandChannel#863994, demandStream#863995, kpis#864002, false AS isNewlyCalculated#864003]
(190) Project
Arguments: [shardId#863973, worklistShardItemId#863974L, version#863975, product#863976, plant#863977, qty#864001, demandChannel#863994, demandStream#863995, kpis#864002, isNewlyCalculated#864003]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#863912, worklistShardItemId#863913L, version#863914]
(193) Aggregate
Arguments: [shardId#863912, worklistShardItemId#863913L], [shardId#863912, worklistShardItemId#863913L, (max(version#863914) + 1) AS version#863815]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#863912) AND (worklistShardItemId#815741L = worklistShardItemId#863913L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#860446, demandStream#860447, kpis#860481, version#863815]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#863815, qty#815747, demandChannel#860446, demandStream#860447, kpis#860481]