== 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@51c4b7c7, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000348/stream-10000000348-1], Append
(3) LogicalRDD
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, periodStart#904719, periodEnd#904720, qty#904721], false
(4) RepartitionByExpression
Arguments: [product#904717, plant#904718], 37
(5) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]
(6) LogicalRDD
Arguments: [shardId#921908, worklistShardItemId#921909L, version#921910, product#921911, plant#921912, periodStart#921913, periodEnd#921914, qty#921915], false
(7) RepartitionByExpression
Arguments: [product#921911, plant#921912], 37
(8) Project
Arguments: [shardId#921908, worklistShardItemId#921909L, version#921910, product#921911, plant#921912, qty#921915]
(9) LogicalRDD
Arguments: [shardId#921663, worklistShardItemId#921664L, qty#921665, demandChannel#921666, demandStream#921667, kpis#921668], false
(10) Project
Arguments: [shardId#921663 AS cachedShardId#921669, worklistShardItemId#921664L AS cachedWorklistShardItemId#921670L, qty#921665 AS cachedQty#921671, demandChannel#921666, demandStream#921667, kpis#921668 AS cachedKpis#921672]
(11) Join
Arguments: Inner, (((worklistShardItemId#921909L = cachedWorklistShardItemId#921670L) AND (shardId#921908 = cachedShardId#921669)) AND ((qty#921915 = cachedQty#921671) OR isnull(qty#921915)))
(12) Project
Arguments: [shardId#921908, worklistShardItemId#921909L, version#921910, product#921911, plant#921912]
(13) Deduplicate
Arguments: [plant#921912, shardId#921908, version#921910, worklistShardItemId#921909L, product#921911]
(14) LogicalRDD
Arguments: [shardId#921673, worklistShardItemId#921674L, qty#921675, demandChannel#921676, demandStream#921677, kpis#921678], false
(15) Project
Arguments: [shardId#921673 AS cachedShardId#921679, worklistShardItemId#921674L AS cachedWorklistShardItemId#921680L, qty#921675 AS cachedQty#921681, demandChannel#921676, demandStream#921677, kpis#921678 AS cachedKpis#921682]
(16) Join
Arguments: Inner, ((worklistShardItemId#921909L = cachedWorklistShardItemId#921680L) AND (shardId#921908 = cachedShardId#921679))
(17) Project
Arguments: [shardId#921908, worklistShardItemId#921909L, version#921910, product#921911, plant#921912, cachedQty#921681 AS qty#921683, demandChannel#921676, demandStream#921677, cachedKpis#921682 AS kpis#921684]
(18) Project
Arguments: [shardId#921908, worklistShardItemId#921909L, version#921910, product#921911, plant#921912, qty#921683]
(19) LogicalRDD
Arguments: [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, periodStart#921895, periodEnd#921896, qty#921897], false
(20) RepartitionByExpression
Arguments: [product#921893, plant#921894], 37
(21) Project
Arguments: [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897]
(22) LogicalRDD
Arguments: [shardId#921898, worklistShardItemId#921899L, qty#921900, demandChannel#921901, demandStream#921902, kpis#921903], false
(23) Project
Arguments: [shardId#921898 AS cachedShardId#921904, worklistShardItemId#921899L AS cachedWorklistShardItemId#921905L, qty#921900 AS cachedQty#921906, demandChannel#921901, demandStream#921902, kpis#921903 AS cachedKpis#921907]
(24) Join
Arguments: Inner, (((worklistShardItemId#921891L = cachedWorklistShardItemId#921905L) AND (shardId#921890 = cachedShardId#921904)) AND isnull(qty#921897))
(25) Project
Arguments: [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897]
(26) Project
Arguments: [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#904714 <=> shardId#921908) AND (worklistShardItemId#904715L <=> worklistShardItemId#921909L)) AND (version#904716 <=> version#921910)) AND (product#904717 <=> product#921911)) AND (plant#904718 <=> plant#921912)) AND (qty#904721 <=> qty#921683))
(29) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]
(30) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, cast(null as string) AS demandChannel#921916]
(31) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#921916, cast(null as string) AS demandStream#921917]
(32) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#921916, demandStream#921917, array() AS kpis#921918]
(33) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#921916, demandStream#921917, kpis#921918, true AS isNewlyCalculated#921919]
(34) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#921916, demandStream#921917, cast(kpis#921918 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#921951, isNewlyCalculated#921919]
(35) LogicalRDD
Arguments: [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925, periodStart#921926, periodEnd#921927, qty#921928], false
(36) RepartitionByExpression
Arguments: [product#921924, plant#921925], 37
(37) Project
Arguments: [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925, qty#921928]
(38) LogicalRDD
Arguments: [shardId#921929, worklistShardItemId#921930L, qty#921931, demandChannel#921932, demandStream#921933, kpis#921934], false
(39) Project
Arguments: [shardId#921929 AS cachedShardId#921935, worklistShardItemId#921930L AS cachedWorklistShardItemId#921936L, qty#921931 AS cachedQty#921937, demandChannel#921932, demandStream#921933, kpis#921934 AS cachedKpis#921938]
(40) Join
Arguments: Inner, (((worklistShardItemId#921922L = cachedWorklistShardItemId#921936L) AND (shardId#921921 = cachedShardId#921935)) AND ((qty#921928 = cachedQty#921937) OR isnull(qty#921928)))
(41) Project
Arguments: [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925]
(42) Deduplicate
Arguments: [plant#921925, shardId#921921, version#921923, worklistShardItemId#921922L, product#921924]
(43) LogicalRDD
Arguments: [shardId#921939, worklistShardItemId#921940L, qty#921941, demandChannel#921942, demandStream#921943, kpis#921944], false
(44) Project
Arguments: [shardId#921939 AS cachedShardId#921945, worklistShardItemId#921940L AS cachedWorklistShardItemId#921946L, qty#921941 AS cachedQty#921947, demandChannel#921942, demandStream#921943, kpis#921944 AS cachedKpis#921948]
(45) Join
Arguments: Inner, ((worklistShardItemId#921922L = cachedWorklistShardItemId#921946L) AND (shardId#921921 = cachedShardId#921945))
(46) Project
Arguments: [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925, cachedQty#921947 AS qty#921949, demandChannel#921942, demandStream#921943, cachedKpis#921948 AS kpis#921950]
(47) Project
Arguments: [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925, qty#921949, demandChannel#921942, demandStream#921943, kpis#921950, false AS isNewlyCalculated#921920]
(48) Project
Arguments: [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925, qty#921949, demandChannel#921942, demandStream#921943, kpis#921950, isNewlyCalculated#921920]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#921919 <=> false)
(51) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#921916, demandStream#921917, kpis#921951]
(52) ExternalRDD
Arguments: [obj#924415]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73154), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73154), 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, 73154), 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, 73154), 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, 73154), 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, 73154), 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#924418, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73155), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73155), 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, 73156), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73156), 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, 73156), 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, 73156), 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, 73157), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73157), 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, 73157), 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, 73157), 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, 73157), 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, 73156), 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, 73155), 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, 73158), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73158), 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, 73158), 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, 73158), 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, 73158), 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, 73155), 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, 73155), 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, 73155), 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, 73159), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73159), 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, 73160), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73160), 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, 73160), 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, 73160), 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, 73160), 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, 73159), 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, 73159), 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, 73155), 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#924419]
(54) Generate
Arguments: explode(prodPlantResults#924419), false, [prodPlantResults#924426]
(55) Project
Arguments: [prodPlantResults#924426]
(56) Project
Arguments: [prodPlantResults#924426.productId AS product#924445, prodPlantResults#924426.plantId AS plant#924446, prodPlantResults#924426.kpiResults AS kpis#924447]
(57) Project
Arguments: [product#924445, plant#924446, kpis#924447, null AS qty#924451]
(58) Project
Arguments: [product#924445, plant#924446, kpis#924447, qty#924451, cast(null as string) AS demandChannel#924452]
(59) Project
Arguments: [product#924445, plant#924446, kpis#924447, qty#924451, demandChannel#924452, cast(null as string) AS demandStream#924453]
(60) Project
Arguments: [product#924445, plant#924446, kpis#924447, cast(qty#924451 as double) AS qty#924472, demandChannel#924452, demandStream#924453]
(61) ExternalRDD
Arguments: [obj#924468]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73154), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73154), 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, 73154), 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, 73154), 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, 73154), 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, 73154), 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#924469, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73155), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73155), 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, 73156), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73156), 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, 73156), 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, 73156), 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, 73157), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73157), 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, 73157), 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, 73157), 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, 73157), 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, 73156), 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, 73155), 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, 73158), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73158), 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, 73158), 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, 73158), 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, 73158), 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, 73155), 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, 73155), 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, 73155), 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, 73159), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73159), 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, 73160), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73160), 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, 73160), 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, 73160), 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, 73160), 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, 73159), 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, 73159), 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, 73155), 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#924470]
(63) Generate
Arguments: explode(prodPlantResults#924470), false, [prodPlantResults#924471]
(64) Project
Arguments: [prodPlantResults#924471]
(65) Generate
Arguments: explode(prodPlantResults#924471.quantityKpiResults), false, [quantityKpiResults#924438]
(66) Project
Arguments: [prodPlantResults#924471.productId AS product#924432, prodPlantResults#924471.plantId AS plant#924433, quantityKpiResults#924438]
(67) Project
Arguments: [product#924432, plant#924433, quantityKpiResults#924438, quantityKpiResults#924438.quantity AS qty#924439]
(68) Project
Arguments: [product#924432, plant#924433, quantityKpiResults#924438, qty#924439, cast(null as string) AS demandChannel#924441]
(69) Project
Arguments: [product#924432, plant#924433, quantityKpiResults#924438, qty#924439, demandChannel#924441, cast(null as string) AS demandStream#924442]
(70) Project
Arguments: [product#924432, plant#924433, quantityKpiResults#924438, qty#924439, demandChannel#924441, demandStream#924442, quantityKpiResults#924438.kpiResults AS kpis#924443]
(71) Project
Arguments: [product#924432, plant#924433, qty#924439, demandChannel#924441, demandStream#924442, kpis#924443]
(72) Project
Arguments: [product#924432, plant#924433, kpis#924443, qty#924439, demandChannel#924441, demandStream#924442]
(73) ExternalRDD
Arguments: [obj#924473]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73154), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73154), 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, 73154), 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, 73154), 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, 73154), 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, 73154), 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#924474, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73155), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73155), 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, 73156), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73156), 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, 73156), 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, 73156), 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, 73157), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73157), 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, 73157), 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, 73157), 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, 73157), 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, 73156), 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, 73155), 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, 73158), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73158), 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, 73158), 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, 73158), 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, 73158), 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, 73155), 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, 73155), 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, 73155), 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, 73159), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73159), 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, 73160), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73160), 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, 73160), 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, 73160), 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, 73160), 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, 73159), 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, 73159), 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, 73155), 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#924475]
(75) Generate
Arguments: explode(prodPlantResults#924475), false, [prodPlantResults#924476]
(76) Project
Arguments: [prodPlantResults#924476]
(77) Generate
Arguments: explode(prodPlantResults#924476.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#924460]
(78) Project
Arguments: [prodPlantResults#924476.productId AS product#924454, prodPlantResults#924476.plantId AS plant#924455, demandChannelStreamKpiResults#924460]
(79) Project
Arguments: [product#924454, plant#924455, demandChannelStreamKpiResults#924460, null AS qty#924461]
(80) Project
Arguments: [product#924454, plant#924455, demandChannelStreamKpiResults#924460, qty#924461, demandChannelStreamKpiResults#924460.demandChannel AS demandChannel#924462]
(81) Project
Arguments: [product#924454, plant#924455, demandChannelStreamKpiResults#924460, qty#924461, demandChannel#924462, demandChannelStreamKpiResults#924460.demandStream AS demandStream#924464]
(82) Project
Arguments: [product#924454, plant#924455, demandChannelStreamKpiResults#924460, qty#924461, demandChannel#924462, demandStream#924464, demandChannelStreamKpiResults#924460.kpiResults AS kpis#924466]
(83) Project
Arguments: [product#924454, plant#924455, qty#924461, demandChannel#924462, demandStream#924464, kpis#924466]
(84) Project
Arguments: [product#924454, plant#924455, kpis#924466, qty#924461, demandChannel#924462, demandStream#924464]
(85) Project
Arguments: [product#924454, plant#924455, kpis#924466, cast(qty#924461 as double) AS qty#924477, demandChannel#924462, demandStream#924464]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#924445, plant#924446, transform(kpis#924447, lambdafunction(struct(label, lambda kpi#924482.label, dateTime, lambda kpi#924482.datetime, value, lambda kpi#924482.value), lambda kpi#924482, false)) AS kpis#924481, qty#924472, demandChannel#924452, demandStream#924453]
(88) Project
Arguments: [product#924445, plant#924446, qty#924472, demandChannel#924452, demandStream#924453, kpis#924481]
(89) LogicalRDD
Arguments: [shardId#925290, worklistShardItemId#925291L, version#925292, product#925293, plant#925294, periodStart#925295, periodEnd#925296, qty#925297], false
(90) RepartitionByExpression
Arguments: [product#925293, plant#925294], 37
(91) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, version#925292, product#925293, plant#925294, qty#925297]
(92) LogicalRDD
Arguments: [shardId#925298, worklistShardItemId#925299L, version#925300, product#925301, plant#925302, periodStart#925303, periodEnd#925304, qty#925305], false
(93) RepartitionByExpression
Arguments: [product#925301, plant#925302], 37
(94) Project
Arguments: [shardId#925298, worklistShardItemId#925299L, version#925300, product#925301, plant#925302, qty#925305]
(95) LogicalRDD
Arguments: [shardId#925306, worklistShardItemId#925307L, qty#925308, demandChannel#925309, demandStream#925310, kpis#925311], false
(96) Project
Arguments: [shardId#925306 AS cachedShardId#925312, worklistShardItemId#925307L AS cachedWorklistShardItemId#925313L, qty#925308 AS cachedQty#925314, demandChannel#925309, demandStream#925310, kpis#925311 AS cachedKpis#925315]
(97) Join
Arguments: Inner, (((worklistShardItemId#925299L = cachedWorklistShardItemId#925313L) AND (shardId#925298 = cachedShardId#925312)) AND ((qty#925305 = cachedQty#925314) OR isnull(qty#925305)))
(98) Project
Arguments: [shardId#925298, worklistShardItemId#925299L, version#925300, product#925301, plant#925302]
(99) Deduplicate
Arguments: [plant#925302, shardId#925298, version#925300, worklistShardItemId#925299L, product#925301]
(100) LogicalRDD
Arguments: [shardId#925316, worklistShardItemId#925317L, qty#925318, demandChannel#925319, demandStream#925320, kpis#925321], false
(101) Project
Arguments: [shardId#925316 AS cachedShardId#925322, worklistShardItemId#925317L AS cachedWorklistShardItemId#925323L, qty#925318 AS cachedQty#925324, demandChannel#925319, demandStream#925320, kpis#925321 AS cachedKpis#925325]
(102) Join
Arguments: Inner, ((worklistShardItemId#925299L = cachedWorklistShardItemId#925323L) AND (shardId#925298 = cachedShardId#925322))
(103) Project
Arguments: [shardId#925298, worklistShardItemId#925299L, version#925300, product#925301, plant#925302, cachedQty#925324 AS qty#925326, demandChannel#925319, demandStream#925320, cachedKpis#925325 AS kpis#925327]
(104) Project
Arguments: [shardId#925298, worklistShardItemId#925299L, version#925300, product#925301, plant#925302, qty#925326]
(105) LogicalRDD
Arguments: [shardId#925328, worklistShardItemId#925329L, version#925330, product#925331, plant#925332, periodStart#925333, periodEnd#925334, qty#925335], false
(106) RepartitionByExpression
Arguments: [product#925331, plant#925332], 37
(107) Project
Arguments: [shardId#925328, worklistShardItemId#925329L, version#925330, product#925331, plant#925332, qty#925335]
(108) LogicalRDD
Arguments: [shardId#925336, worklistShardItemId#925337L, qty#925338, demandChannel#925339, demandStream#925340, kpis#925341], false
(109) Project
Arguments: [shardId#925336 AS cachedShardId#925342, worklistShardItemId#925337L AS cachedWorklistShardItemId#925343L, qty#925338 AS cachedQty#925344, demandChannel#925339, demandStream#925340, kpis#925341 AS cachedKpis#925345]
(110) Join
Arguments: Inner, (((worklistShardItemId#925329L = cachedWorklistShardItemId#925343L) AND (shardId#925328 = cachedShardId#925342)) AND isnull(qty#925335))
(111) Project
Arguments: [shardId#925328, worklistShardItemId#925329L, version#925330, product#925331, plant#925332, qty#925335]
(112) Project
Arguments: [shardId#925328, worklistShardItemId#925329L, version#925330, product#925331, plant#925332, qty#925335]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#925290 <=> shardId#925298) AND (worklistShardItemId#925291L <=> worklistShardItemId#925299L)) AND (version#925292 <=> version#925300)) AND (product#925293 <=> product#925301)) AND (plant#925294 <=> plant#925302)) AND (qty#925297 <=> qty#925326))
(115) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, version#925292, product#925293, plant#925294, qty#925297]
(116) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, version#925292, product#925293, plant#925294, qty#925297, cast(null as string) AS demandChannel#925346]
(117) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, version#925292, product#925293, plant#925294, qty#925297, demandChannel#925346, cast(null as string) AS demandStream#925347]
(118) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, version#925292, product#925293, plant#925294, qty#925297, demandChannel#925346, demandStream#925347, array() AS kpis#925348]
(119) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, version#925292, product#925293, plant#925294, qty#925297, demandChannel#925346, demandStream#925347, kpis#925348, true AS isNewlyCalculated#925349]
(120) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, version#925292, product#925293, plant#925294, qty#925297, demandChannel#925346, demandStream#925347, cast(kpis#925348 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#925350, isNewlyCalculated#925349]
(121) LogicalRDD
Arguments: [shardId#925351, worklistShardItemId#925352L, version#925353, product#925354, plant#925355, periodStart#925356, periodEnd#925357, qty#925358], false
(122) RepartitionByExpression
Arguments: [product#925354, plant#925355], 37
(123) Project
Arguments: [shardId#925351, worklistShardItemId#925352L, version#925353, product#925354, plant#925355, qty#925358]
(124) LogicalRDD
Arguments: [shardId#925359, worklistShardItemId#925360L, qty#925361, demandChannel#925362, demandStream#925363, kpis#925364], false
(125) Project
Arguments: [shardId#925359 AS cachedShardId#925365, worklistShardItemId#925360L AS cachedWorklistShardItemId#925366L, qty#925361 AS cachedQty#925367, demandChannel#925362, demandStream#925363, kpis#925364 AS cachedKpis#925368]
(126) Join
Arguments: Inner, (((worklistShardItemId#925352L = cachedWorklistShardItemId#925366L) AND (shardId#925351 = cachedShardId#925365)) AND ((qty#925358 = cachedQty#925367) OR isnull(qty#925358)))
(127) Project
Arguments: [shardId#925351, worklistShardItemId#925352L, version#925353, product#925354, plant#925355]
(128) Deduplicate
Arguments: [plant#925355, shardId#925351, version#925353, worklistShardItemId#925352L, product#925354]
(129) LogicalRDD
Arguments: [shardId#925369, worklistShardItemId#925370L, qty#925371, demandChannel#925372, demandStream#925373, kpis#925374], false
(130) Project
Arguments: [shardId#925369 AS cachedShardId#925375, worklistShardItemId#925370L AS cachedWorklistShardItemId#925376L, qty#925371 AS cachedQty#925377, demandChannel#925372, demandStream#925373, kpis#925374 AS cachedKpis#925378]
(131) Join
Arguments: Inner, ((worklistShardItemId#925352L = cachedWorklistShardItemId#925376L) AND (shardId#925351 = cachedShardId#925375))
(132) Project
Arguments: [shardId#925351, worklistShardItemId#925352L, version#925353, product#925354, plant#925355, cachedQty#925377 AS qty#925379, demandChannel#925372, demandStream#925373, cachedKpis#925378 AS kpis#925380]
(133) Project
Arguments: [shardId#925351, worklistShardItemId#925352L, version#925353, product#925354, plant#925355, qty#925379, demandChannel#925372, demandStream#925373, kpis#925380, false AS isNewlyCalculated#925381]
(134) Project
Arguments: [shardId#925351, worklistShardItemId#925352L, version#925353, product#925354, plant#925355, qty#925379, demandChannel#925372, demandStream#925373, kpis#925380, isNewlyCalculated#925381]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#925349 <=> true)
(137) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, product#925293, plant#925294, qty#925297, kpis#925350]
(138) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, product#925293, plant#925294, qty#925297]
(139) Deduplicate
Arguments: [plant#925294, shardId#925290, qty#925297, worklistShardItemId#925291L, product#925293]
(140) Join
Arguments: Inner, ((product#924445 <=> product#925293) AND ((plant#924446 <=> plant#925294) AND ((qty#924472 <=> qty#925297) OR isnull(qty#925297))))
(141) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, qty#924472, demandChannel#924452, demandStream#924453, kpis#924481]
(142) Deduplicate
Arguments: [demandChannel#924452, shardId#925290, qty#924472, worklistShardItemId#925291L, demandStream#924453]
(143) Project
Arguments: [shardId#925290, worklistShardItemId#925291L, qty#924472, demandChannel#924452, demandStream#924453, kpis#924481]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384, product#925385, plant#925386, periodStart#925387, periodEnd#925388, qty#925389], false
(146) RepartitionByExpression
Arguments: [product#925385, plant#925386], 37
(147) Project
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384, product#925385, plant#925386, qty#925389]
(148) LogicalRDD
Arguments: [shardId#925390, worklistShardItemId#925391L, version#925392, product#925393, plant#925394, periodStart#925395, periodEnd#925396, qty#925397], false
(149) RepartitionByExpression
Arguments: [product#925393, plant#925394], 37
(150) Project
Arguments: [shardId#925390, worklistShardItemId#925391L, version#925392, product#925393, plant#925394, qty#925397]
(151) LogicalRDD
Arguments: [shardId#925398, worklistShardItemId#925399L, qty#925400, demandChannel#925401, demandStream#925402, kpis#925403], false
(152) Project
Arguments: [shardId#925398 AS cachedShardId#925404, worklistShardItemId#925399L AS cachedWorklistShardItemId#925405L, qty#925400 AS cachedQty#925406, demandChannel#925401, demandStream#925402, kpis#925403 AS cachedKpis#925407]
(153) Join
Arguments: Inner, (((worklistShardItemId#925391L = cachedWorklistShardItemId#925405L) AND (shardId#925390 = cachedShardId#925404)) AND ((qty#925397 = cachedQty#925406) OR isnull(qty#925397)))
(154) Project
Arguments: [shardId#925390, worklistShardItemId#925391L, version#925392, product#925393, plant#925394]
(155) Deduplicate
Arguments: [plant#925394, shardId#925390, version#925392, worklistShardItemId#925391L, product#925393]
(156) LogicalRDD
Arguments: [shardId#925408, worklistShardItemId#925409L, qty#925410, demandChannel#925411, demandStream#925412, kpis#925413], false
(157) Project
Arguments: [shardId#925408 AS cachedShardId#925414, worklistShardItemId#925409L AS cachedWorklistShardItemId#925415L, qty#925410 AS cachedQty#925416, demandChannel#925411, demandStream#925412, kpis#925413 AS cachedKpis#925417]
(158) Join
Arguments: Inner, ((worklistShardItemId#925391L = cachedWorklistShardItemId#925415L) AND (shardId#925390 = cachedShardId#925414))
(159) Project
Arguments: [shardId#925390, worklistShardItemId#925391L, version#925392, product#925393, plant#925394, cachedQty#925416 AS qty#925418, demandChannel#925411, demandStream#925412, cachedKpis#925417 AS kpis#925419]
(160) Project
Arguments: [shardId#925390, worklistShardItemId#925391L, version#925392, product#925393, plant#925394, qty#925418]
(161) LogicalRDD
Arguments: [shardId#925420, worklistShardItemId#925421L, version#925422, product#925423, plant#925424, periodStart#925425, periodEnd#925426, qty#925427], false
(162) RepartitionByExpression
Arguments: [product#925423, plant#925424], 37
(163) Project
Arguments: [shardId#925420, worklistShardItemId#925421L, version#925422, product#925423, plant#925424, qty#925427]
(164) LogicalRDD
Arguments: [shardId#925428, worklistShardItemId#925429L, qty#925430, demandChannel#925431, demandStream#925432, kpis#925433], false
(165) Project
Arguments: [shardId#925428 AS cachedShardId#925434, worklistShardItemId#925429L AS cachedWorklistShardItemId#925435L, qty#925430 AS cachedQty#925436, demandChannel#925431, demandStream#925432, kpis#925433 AS cachedKpis#925437]
(166) Join
Arguments: Inner, (((worklistShardItemId#925421L = cachedWorklistShardItemId#925435L) AND (shardId#925420 = cachedShardId#925434)) AND isnull(qty#925427))
(167) Project
Arguments: [shardId#925420, worklistShardItemId#925421L, version#925422, product#925423, plant#925424, qty#925427]
(168) Project
Arguments: [shardId#925420, worklistShardItemId#925421L, version#925422, product#925423, plant#925424, qty#925427]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#925382 <=> shardId#925390) AND (worklistShardItemId#925383L <=> worklistShardItemId#925391L)) AND (version#925384 <=> version#925392)) AND (product#925385 <=> product#925393)) AND (plant#925386 <=> plant#925394)) AND (qty#925389 <=> qty#925418))
(171) Project
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384, product#925385, plant#925386, qty#925389]
(172) Project
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384, product#925385, plant#925386, qty#925389, cast(null as string) AS demandChannel#925438]
(173) Project
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384, product#925385, plant#925386, qty#925389, demandChannel#925438, cast(null as string) AS demandStream#925439]
(174) Project
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384, product#925385, plant#925386, qty#925389, demandChannel#925438, demandStream#925439, array() AS kpis#925440]
(175) Project
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384, product#925385, plant#925386, qty#925389, demandChannel#925438, demandStream#925439, kpis#925440, true AS isNewlyCalculated#925441]
(176) Project
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384, product#925385, plant#925386, qty#925389, demandChannel#925438, demandStream#925439, cast(kpis#925440 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#925442, isNewlyCalculated#925441]
(177) LogicalRDD
Arguments: [shardId#925443, worklistShardItemId#925444L, version#925445, product#925446, plant#925447, periodStart#925448, periodEnd#925449, qty#925450], false
(178) RepartitionByExpression
Arguments: [product#925446, plant#925447], 37
(179) Project
Arguments: [shardId#925443, worklistShardItemId#925444L, version#925445, product#925446, plant#925447, qty#925450]
(180) LogicalRDD
Arguments: [shardId#925451, worklistShardItemId#925452L, qty#925453, demandChannel#925454, demandStream#925455, kpis#925456], false
(181) Project
Arguments: [shardId#925451 AS cachedShardId#925457, worklistShardItemId#925452L AS cachedWorklistShardItemId#925458L, qty#925453 AS cachedQty#925459, demandChannel#925454, demandStream#925455, kpis#925456 AS cachedKpis#925460]
(182) Join
Arguments: Inner, (((worklistShardItemId#925444L = cachedWorklistShardItemId#925458L) AND (shardId#925443 = cachedShardId#925457)) AND ((qty#925450 = cachedQty#925459) OR isnull(qty#925450)))
(183) Project
Arguments: [shardId#925443, worklistShardItemId#925444L, version#925445, product#925446, plant#925447]
(184) Deduplicate
Arguments: [plant#925447, shardId#925443, version#925445, worklistShardItemId#925444L, product#925446]
(185) LogicalRDD
Arguments: [shardId#925461, worklistShardItemId#925462L, qty#925463, demandChannel#925464, demandStream#925465, kpis#925466], false
(186) Project
Arguments: [shardId#925461 AS cachedShardId#925467, worklistShardItemId#925462L AS cachedWorklistShardItemId#925468L, qty#925463 AS cachedQty#925469, demandChannel#925464, demandStream#925465, kpis#925466 AS cachedKpis#925470]
(187) Join
Arguments: Inner, ((worklistShardItemId#925444L = cachedWorklistShardItemId#925468L) AND (shardId#925443 = cachedShardId#925467))
(188) Project
Arguments: [shardId#925443, worklistShardItemId#925444L, version#925445, product#925446, plant#925447, cachedQty#925469 AS qty#925471, demandChannel#925464, demandStream#925465, cachedKpis#925470 AS kpis#925472]
(189) Project
Arguments: [shardId#925443, worklistShardItemId#925444L, version#925445, product#925446, plant#925447, qty#925471, demandChannel#925464, demandStream#925465, kpis#925472, false AS isNewlyCalculated#925473]
(190) Project
Arguments: [shardId#925443, worklistShardItemId#925444L, version#925445, product#925446, plant#925447, qty#925471, demandChannel#925464, demandStream#925465, kpis#925472, isNewlyCalculated#925473]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#925382, worklistShardItemId#925383L, version#925384]
(193) Aggregate
Arguments: [shardId#925382, worklistShardItemId#925383L], [shardId#925382, worklistShardItemId#925383L, (max(version#925384) + 1) AS version#925285]
(194) Join
Arguments: Inner, ((shardId#904714 = shardId#925382) AND (worklistShardItemId#904715L = worklistShardItemId#925383L))
(195) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#921916, demandStream#921917, kpis#921951, version#925285]
(196) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#925285, qty#904721, demandChannel#921916, demandStream#921917, kpis#921951]