== 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@1648d740, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000349/stream-10000000349-1], Append
(3) LogicalRDD
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, periodStart#1011820, periodEnd#1011821, qty#1011822], false
(4) RepartitionByExpression
Arguments: [product#1011818, plant#1011819], 37
(5) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822]
(6) LogicalRDD
Arguments: [shardId#1056203, worklistShardItemId#1056204L, version#1056205, product#1056206, plant#1056207, periodStart#1056208, periodEnd#1056209, qty#1056210], false
(7) RepartitionByExpression
Arguments: [product#1056206, plant#1056207], 37
(8) Project
Arguments: [shardId#1056203, worklistShardItemId#1056204L, version#1056205, product#1056206, plant#1056207, qty#1056210]
(9) LogicalRDD
Arguments: [shardId#1055958, worklistShardItemId#1055959L, qty#1055960, demandChannel#1055961, demandStream#1055962, kpis#1055963], false
(10) Project
Arguments: [shardId#1055958 AS cachedShardId#1055964, worklistShardItemId#1055959L AS cachedWorklistShardItemId#1055965L, qty#1055960 AS cachedQty#1055966, demandChannel#1055961, demandStream#1055962, kpis#1055963 AS cachedKpis#1055967]
(11) Join
Arguments: Inner, (((worklistShardItemId#1056204L = cachedWorklistShardItemId#1055965L) AND (shardId#1056203 = cachedShardId#1055964)) AND ((qty#1056210 = cachedQty#1055966) OR isnull(qty#1056210)))
(12) Project
Arguments: [shardId#1056203, worklistShardItemId#1056204L, version#1056205, product#1056206, plant#1056207]
(13) Deduplicate
Arguments: [plant#1056207, shardId#1056203, version#1056205, worklistShardItemId#1056204L, product#1056206]
(14) LogicalRDD
Arguments: [shardId#1055968, worklistShardItemId#1055969L, qty#1055970, demandChannel#1055971, demandStream#1055972, kpis#1055973], false
(15) Project
Arguments: [shardId#1055968 AS cachedShardId#1055974, worklistShardItemId#1055969L AS cachedWorklistShardItemId#1055975L, qty#1055970 AS cachedQty#1055976, demandChannel#1055971, demandStream#1055972, kpis#1055973 AS cachedKpis#1055977]
(16) Join
Arguments: Inner, ((worklistShardItemId#1056204L = cachedWorklistShardItemId#1055975L) AND (shardId#1056203 = cachedShardId#1055974))
(17) Project
Arguments: [shardId#1056203, worklistShardItemId#1056204L, version#1056205, product#1056206, plant#1056207, cachedQty#1055976 AS qty#1055978, demandChannel#1055971, demandStream#1055972, cachedKpis#1055977 AS kpis#1055979]
(18) Project
Arguments: [shardId#1056203, worklistShardItemId#1056204L, version#1056205, product#1056206, plant#1056207, qty#1055978]
(19) LogicalRDD
Arguments: [shardId#1056185, worklistShardItemId#1056186L, version#1056187, product#1056188, plant#1056189, periodStart#1056190, periodEnd#1056191, qty#1056192], false
(20) RepartitionByExpression
Arguments: [product#1056188, plant#1056189], 37
(21) Project
Arguments: [shardId#1056185, worklistShardItemId#1056186L, version#1056187, product#1056188, plant#1056189, qty#1056192]
(22) LogicalRDD
Arguments: [shardId#1056193, worklistShardItemId#1056194L, qty#1056195, demandChannel#1056196, demandStream#1056197, kpis#1056198], false
(23) Project
Arguments: [shardId#1056193 AS cachedShardId#1056199, worklistShardItemId#1056194L AS cachedWorklistShardItemId#1056200L, qty#1056195 AS cachedQty#1056201, demandChannel#1056196, demandStream#1056197, kpis#1056198 AS cachedKpis#1056202]
(24) Join
Arguments: Inner, (((worklistShardItemId#1056186L = cachedWorklistShardItemId#1056200L) AND (shardId#1056185 = cachedShardId#1056199)) AND isnull(qty#1056192))
(25) Project
Arguments: [shardId#1056185, worklistShardItemId#1056186L, version#1056187, product#1056188, plant#1056189, qty#1056192]
(26) Project
Arguments: [shardId#1056185, worklistShardItemId#1056186L, version#1056187, product#1056188, plant#1056189, qty#1056192]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1011815 <=> shardId#1056203) AND (worklistShardItemId#1011816L <=> worklistShardItemId#1056204L)) AND (version#1011817 <=> version#1056205)) AND (product#1011818 <=> product#1056206)) AND (plant#1011819 <=> plant#1056207)) AND (qty#1011822 <=> qty#1055978))
(29) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822]
(30) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, cast(null as string) AS demandChannel#1056211]
(31) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1056211, cast(null as string) AS demandStream#1056212]
(32) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1056211, demandStream#1056212, array() AS kpis#1056213]
(33) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1056211, demandStream#1056212, kpis#1056213, true AS isNewlyCalculated#1056214]
(34) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1056211, demandStream#1056212, cast(kpis#1056213 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1056246, isNewlyCalculated#1056214]
(35) LogicalRDD
Arguments: [shardId#1056216, worklistShardItemId#1056217L, version#1056218, product#1056219, plant#1056220, periodStart#1056221, periodEnd#1056222, qty#1056223], false
(36) RepartitionByExpression
Arguments: [product#1056219, plant#1056220], 37
(37) Project
Arguments: [shardId#1056216, worklistShardItemId#1056217L, version#1056218, product#1056219, plant#1056220, qty#1056223]
(38) LogicalRDD
Arguments: [shardId#1056224, worklistShardItemId#1056225L, qty#1056226, demandChannel#1056227, demandStream#1056228, kpis#1056229], false
(39) Project
Arguments: [shardId#1056224 AS cachedShardId#1056230, worklistShardItemId#1056225L AS cachedWorklistShardItemId#1056231L, qty#1056226 AS cachedQty#1056232, demandChannel#1056227, demandStream#1056228, kpis#1056229 AS cachedKpis#1056233]
(40) Join
Arguments: Inner, (((worklistShardItemId#1056217L = cachedWorklistShardItemId#1056231L) AND (shardId#1056216 = cachedShardId#1056230)) AND ((qty#1056223 = cachedQty#1056232) OR isnull(qty#1056223)))
(41) Project
Arguments: [shardId#1056216, worklistShardItemId#1056217L, version#1056218, product#1056219, plant#1056220]
(42) Deduplicate
Arguments: [plant#1056220, shardId#1056216, version#1056218, worklistShardItemId#1056217L, product#1056219]
(43) LogicalRDD
Arguments: [shardId#1056234, worklistShardItemId#1056235L, qty#1056236, demandChannel#1056237, demandStream#1056238, kpis#1056239], false
(44) Project
Arguments: [shardId#1056234 AS cachedShardId#1056240, worklistShardItemId#1056235L AS cachedWorklistShardItemId#1056241L, qty#1056236 AS cachedQty#1056242, demandChannel#1056237, demandStream#1056238, kpis#1056239 AS cachedKpis#1056243]
(45) Join
Arguments: Inner, ((worklistShardItemId#1056217L = cachedWorklistShardItemId#1056241L) AND (shardId#1056216 = cachedShardId#1056240))
(46) Project
Arguments: [shardId#1056216, worklistShardItemId#1056217L, version#1056218, product#1056219, plant#1056220, cachedQty#1056242 AS qty#1056244, demandChannel#1056237, demandStream#1056238, cachedKpis#1056243 AS kpis#1056245]
(47) Project
Arguments: [shardId#1056216, worklistShardItemId#1056217L, version#1056218, product#1056219, plant#1056220, qty#1056244, demandChannel#1056237, demandStream#1056238, kpis#1056245, false AS isNewlyCalculated#1056215]
(48) Project
Arguments: [shardId#1056216, worklistShardItemId#1056217L, version#1056218, product#1056219, plant#1056220, qty#1056244, demandChannel#1056237, demandStream#1056238, kpis#1056245, isNewlyCalculated#1056215]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1056214 <=> false)
(51) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1056211, demandStream#1056212, kpis#1056246]
(52) ExternalRDD
Arguments: [obj#1058710]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83792), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83792), 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, 83792), 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, 83792), 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, 83792), 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, 83792), 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#1058713, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83793), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83793), 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, 83794), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83794), 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, 83794), 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, 83794), 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, 83795), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83795), 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, 83795), 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, 83795), 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, 83795), 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, 83794), 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, 83793), 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, 83796), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83796), 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, 83796), 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, 83796), 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, 83796), 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, 83793), 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, 83793), 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, 83793), 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, 83797), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83797), 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, 83798), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83798), 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, 83798), 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, 83798), 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, 83798), 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, 83797), 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, 83797), 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, 83793), 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#1058714]
(54) Generate
Arguments: explode(prodPlantResults#1058714), false, [prodPlantResults#1058721]
(55) Project
Arguments: [prodPlantResults#1058721]
(56) Project
Arguments: [prodPlantResults#1058721.productId AS product#1058740, prodPlantResults#1058721.plantId AS plant#1058741, prodPlantResults#1058721.kpiResults AS kpis#1058742]
(57) Project
Arguments: [product#1058740, plant#1058741, kpis#1058742, null AS qty#1058746]
(58) Project
Arguments: [product#1058740, plant#1058741, kpis#1058742, qty#1058746, cast(null as string) AS demandChannel#1058747]
(59) Project
Arguments: [product#1058740, plant#1058741, kpis#1058742, qty#1058746, demandChannel#1058747, cast(null as string) AS demandStream#1058748]
(60) Project
Arguments: [product#1058740, plant#1058741, kpis#1058742, cast(qty#1058746 as double) AS qty#1058767, demandChannel#1058747, demandStream#1058748]
(61) ExternalRDD
Arguments: [obj#1058763]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83792), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83792), 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, 83792), 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, 83792), 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, 83792), 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, 83792), 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#1058764, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83793), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83793), 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, 83794), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83794), 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, 83794), 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, 83794), 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, 83795), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83795), 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, 83795), 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, 83795), 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, 83795), 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, 83794), 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, 83793), 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, 83796), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83796), 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, 83796), 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, 83796), 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, 83796), 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, 83793), 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, 83793), 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, 83793), 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, 83797), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83797), 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, 83798), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83798), 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, 83798), 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, 83798), 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, 83798), 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, 83797), 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, 83797), 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, 83793), 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#1058765]
(63) Generate
Arguments: explode(prodPlantResults#1058765), false, [prodPlantResults#1058766]
(64) Project
Arguments: [prodPlantResults#1058766]
(65) Generate
Arguments: explode(prodPlantResults#1058766.quantityKpiResults), false, [quantityKpiResults#1058733]
(66) Project
Arguments: [prodPlantResults#1058766.productId AS product#1058727, prodPlantResults#1058766.plantId AS plant#1058728, quantityKpiResults#1058733]
(67) Project
Arguments: [product#1058727, plant#1058728, quantityKpiResults#1058733, quantityKpiResults#1058733.quantity AS qty#1058734]
(68) Project
Arguments: [product#1058727, plant#1058728, quantityKpiResults#1058733, qty#1058734, cast(null as string) AS demandChannel#1058736]
(69) Project
Arguments: [product#1058727, plant#1058728, quantityKpiResults#1058733, qty#1058734, demandChannel#1058736, cast(null as string) AS demandStream#1058737]
(70) Project
Arguments: [product#1058727, plant#1058728, quantityKpiResults#1058733, qty#1058734, demandChannel#1058736, demandStream#1058737, quantityKpiResults#1058733.kpiResults AS kpis#1058738]
(71) Project
Arguments: [product#1058727, plant#1058728, qty#1058734, demandChannel#1058736, demandStream#1058737, kpis#1058738]
(72) Project
Arguments: [product#1058727, plant#1058728, kpis#1058738, qty#1058734, demandChannel#1058736, demandStream#1058737]
(73) ExternalRDD
Arguments: [obj#1058768]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83792), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83792), 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, 83792), 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, 83792), 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, 83792), 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, 83792), 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#1058769, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83793), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83793), 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, 83794), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83794), 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, 83794), 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, 83794), 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, 83795), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83795), 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, 83795), 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, 83795), 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, 83795), 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, 83794), 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, 83793), 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, 83796), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83796), 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, 83796), 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, 83796), 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, 83796), 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, 83793), 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, 83793), 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, 83793), 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, 83797), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83797), 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, 83798), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 83798), 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, 83798), 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, 83798), 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, 83798), 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, 83797), 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, 83797), 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, 83793), 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#1058770]
(75) Generate
Arguments: explode(prodPlantResults#1058770), false, [prodPlantResults#1058771]
(76) Project
Arguments: [prodPlantResults#1058771]
(77) Generate
Arguments: explode(prodPlantResults#1058771.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1058755]
(78) Project
Arguments: [prodPlantResults#1058771.productId AS product#1058749, prodPlantResults#1058771.plantId AS plant#1058750, demandChannelStreamKpiResults#1058755]
(79) Project
Arguments: [product#1058749, plant#1058750, demandChannelStreamKpiResults#1058755, null AS qty#1058756]
(80) Project
Arguments: [product#1058749, plant#1058750, demandChannelStreamKpiResults#1058755, qty#1058756, demandChannelStreamKpiResults#1058755.demandChannel AS demandChannel#1058757]
(81) Project
Arguments: [product#1058749, plant#1058750, demandChannelStreamKpiResults#1058755, qty#1058756, demandChannel#1058757, demandChannelStreamKpiResults#1058755.demandStream AS demandStream#1058759]
(82) Project
Arguments: [product#1058749, plant#1058750, demandChannelStreamKpiResults#1058755, qty#1058756, demandChannel#1058757, demandStream#1058759, demandChannelStreamKpiResults#1058755.kpiResults AS kpis#1058761]
(83) Project
Arguments: [product#1058749, plant#1058750, qty#1058756, demandChannel#1058757, demandStream#1058759, kpis#1058761]
(84) Project
Arguments: [product#1058749, plant#1058750, kpis#1058761, qty#1058756, demandChannel#1058757, demandStream#1058759]
(85) Project
Arguments: [product#1058749, plant#1058750, kpis#1058761, cast(qty#1058756 as double) AS qty#1058772, demandChannel#1058757, demandStream#1058759]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1058740, plant#1058741, transform(kpis#1058742, lambdafunction(struct(label, lambda kpi#1058777.label, dateTime, lambda kpi#1058777.datetime, value, lambda kpi#1058777.value), lambda kpi#1058777, false)) AS kpis#1058776, qty#1058767, demandChannel#1058747, demandStream#1058748]
(88) Project
Arguments: [product#1058740, plant#1058741, qty#1058767, demandChannel#1058747, demandStream#1058748, kpis#1058776]
(89) LogicalRDD
Arguments: [shardId#1059585, worklistShardItemId#1059586L, version#1059587, product#1059588, plant#1059589, periodStart#1059590, periodEnd#1059591, qty#1059592], false
(90) RepartitionByExpression
Arguments: [product#1059588, plant#1059589], 37
(91) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, version#1059587, product#1059588, plant#1059589, qty#1059592]
(92) LogicalRDD
Arguments: [shardId#1059593, worklistShardItemId#1059594L, version#1059595, product#1059596, plant#1059597, periodStart#1059598, periodEnd#1059599, qty#1059600], false
(93) RepartitionByExpression
Arguments: [product#1059596, plant#1059597], 37
(94) Project
Arguments: [shardId#1059593, worklistShardItemId#1059594L, version#1059595, product#1059596, plant#1059597, qty#1059600]
(95) LogicalRDD
Arguments: [shardId#1059601, worklistShardItemId#1059602L, qty#1059603, demandChannel#1059604, demandStream#1059605, kpis#1059606], false
(96) Project
Arguments: [shardId#1059601 AS cachedShardId#1059607, worklistShardItemId#1059602L AS cachedWorklistShardItemId#1059608L, qty#1059603 AS cachedQty#1059609, demandChannel#1059604, demandStream#1059605, kpis#1059606 AS cachedKpis#1059610]
(97) Join
Arguments: Inner, (((worklistShardItemId#1059594L = cachedWorklistShardItemId#1059608L) AND (shardId#1059593 = cachedShardId#1059607)) AND ((qty#1059600 = cachedQty#1059609) OR isnull(qty#1059600)))
(98) Project
Arguments: [shardId#1059593, worklistShardItemId#1059594L, version#1059595, product#1059596, plant#1059597]
(99) Deduplicate
Arguments: [plant#1059597, shardId#1059593, version#1059595, worklistShardItemId#1059594L, product#1059596]
(100) LogicalRDD
Arguments: [shardId#1059611, worklistShardItemId#1059612L, qty#1059613, demandChannel#1059614, demandStream#1059615, kpis#1059616], false
(101) Project
Arguments: [shardId#1059611 AS cachedShardId#1059617, worklistShardItemId#1059612L AS cachedWorklistShardItemId#1059618L, qty#1059613 AS cachedQty#1059619, demandChannel#1059614, demandStream#1059615, kpis#1059616 AS cachedKpis#1059620]
(102) Join
Arguments: Inner, ((worklistShardItemId#1059594L = cachedWorklistShardItemId#1059618L) AND (shardId#1059593 = cachedShardId#1059617))
(103) Project
Arguments: [shardId#1059593, worklistShardItemId#1059594L, version#1059595, product#1059596, plant#1059597, cachedQty#1059619 AS qty#1059621, demandChannel#1059614, demandStream#1059615, cachedKpis#1059620 AS kpis#1059622]
(104) Project
Arguments: [shardId#1059593, worklistShardItemId#1059594L, version#1059595, product#1059596, plant#1059597, qty#1059621]
(105) LogicalRDD
Arguments: [shardId#1059623, worklistShardItemId#1059624L, version#1059625, product#1059626, plant#1059627, periodStart#1059628, periodEnd#1059629, qty#1059630], false
(106) RepartitionByExpression
Arguments: [product#1059626, plant#1059627], 37
(107) Project
Arguments: [shardId#1059623, worklistShardItemId#1059624L, version#1059625, product#1059626, plant#1059627, qty#1059630]
(108) LogicalRDD
Arguments: [shardId#1059631, worklistShardItemId#1059632L, qty#1059633, demandChannel#1059634, demandStream#1059635, kpis#1059636], false
(109) Project
Arguments: [shardId#1059631 AS cachedShardId#1059637, worklistShardItemId#1059632L AS cachedWorklistShardItemId#1059638L, qty#1059633 AS cachedQty#1059639, demandChannel#1059634, demandStream#1059635, kpis#1059636 AS cachedKpis#1059640]
(110) Join
Arguments: Inner, (((worklistShardItemId#1059624L = cachedWorklistShardItemId#1059638L) AND (shardId#1059623 = cachedShardId#1059637)) AND isnull(qty#1059630))
(111) Project
Arguments: [shardId#1059623, worklistShardItemId#1059624L, version#1059625, product#1059626, plant#1059627, qty#1059630]
(112) Project
Arguments: [shardId#1059623, worklistShardItemId#1059624L, version#1059625, product#1059626, plant#1059627, qty#1059630]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1059585 <=> shardId#1059593) AND (worklistShardItemId#1059586L <=> worklistShardItemId#1059594L)) AND (version#1059587 <=> version#1059595)) AND (product#1059588 <=> product#1059596)) AND (plant#1059589 <=> plant#1059597)) AND (qty#1059592 <=> qty#1059621))
(115) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, version#1059587, product#1059588, plant#1059589, qty#1059592]
(116) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, version#1059587, product#1059588, plant#1059589, qty#1059592, cast(null as string) AS demandChannel#1059641]
(117) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, version#1059587, product#1059588, plant#1059589, qty#1059592, demandChannel#1059641, cast(null as string) AS demandStream#1059642]
(118) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, version#1059587, product#1059588, plant#1059589, qty#1059592, demandChannel#1059641, demandStream#1059642, array() AS kpis#1059643]
(119) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, version#1059587, product#1059588, plant#1059589, qty#1059592, demandChannel#1059641, demandStream#1059642, kpis#1059643, true AS isNewlyCalculated#1059644]
(120) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, version#1059587, product#1059588, plant#1059589, qty#1059592, demandChannel#1059641, demandStream#1059642, cast(kpis#1059643 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1059645, isNewlyCalculated#1059644]
(121) LogicalRDD
Arguments: [shardId#1059646, worklistShardItemId#1059647L, version#1059648, product#1059649, plant#1059650, periodStart#1059651, periodEnd#1059652, qty#1059653], false
(122) RepartitionByExpression
Arguments: [product#1059649, plant#1059650], 37
(123) Project
Arguments: [shardId#1059646, worklistShardItemId#1059647L, version#1059648, product#1059649, plant#1059650, qty#1059653]
(124) LogicalRDD
Arguments: [shardId#1059654, worklistShardItemId#1059655L, qty#1059656, demandChannel#1059657, demandStream#1059658, kpis#1059659], false
(125) Project
Arguments: [shardId#1059654 AS cachedShardId#1059660, worklistShardItemId#1059655L AS cachedWorklistShardItemId#1059661L, qty#1059656 AS cachedQty#1059662, demandChannel#1059657, demandStream#1059658, kpis#1059659 AS cachedKpis#1059663]
(126) Join
Arguments: Inner, (((worklistShardItemId#1059647L = cachedWorklistShardItemId#1059661L) AND (shardId#1059646 = cachedShardId#1059660)) AND ((qty#1059653 = cachedQty#1059662) OR isnull(qty#1059653)))
(127) Project
Arguments: [shardId#1059646, worklistShardItemId#1059647L, version#1059648, product#1059649, plant#1059650]
(128) Deduplicate
Arguments: [plant#1059650, shardId#1059646, version#1059648, worklistShardItemId#1059647L, product#1059649]
(129) LogicalRDD
Arguments: [shardId#1059664, worklistShardItemId#1059665L, qty#1059666, demandChannel#1059667, demandStream#1059668, kpis#1059669], false
(130) Project
Arguments: [shardId#1059664 AS cachedShardId#1059670, worklistShardItemId#1059665L AS cachedWorklistShardItemId#1059671L, qty#1059666 AS cachedQty#1059672, demandChannel#1059667, demandStream#1059668, kpis#1059669 AS cachedKpis#1059673]
(131) Join
Arguments: Inner, ((worklistShardItemId#1059647L = cachedWorklistShardItemId#1059671L) AND (shardId#1059646 = cachedShardId#1059670))
(132) Project
Arguments: [shardId#1059646, worklistShardItemId#1059647L, version#1059648, product#1059649, plant#1059650, cachedQty#1059672 AS qty#1059674, demandChannel#1059667, demandStream#1059668, cachedKpis#1059673 AS kpis#1059675]
(133) Project
Arguments: [shardId#1059646, worklistShardItemId#1059647L, version#1059648, product#1059649, plant#1059650, qty#1059674, demandChannel#1059667, demandStream#1059668, kpis#1059675, false AS isNewlyCalculated#1059676]
(134) Project
Arguments: [shardId#1059646, worklistShardItemId#1059647L, version#1059648, product#1059649, plant#1059650, qty#1059674, demandChannel#1059667, demandStream#1059668, kpis#1059675, isNewlyCalculated#1059676]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1059644 <=> true)
(137) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, product#1059588, plant#1059589, qty#1059592, kpis#1059645]
(138) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, product#1059588, plant#1059589, qty#1059592]
(139) Deduplicate
Arguments: [plant#1059589, shardId#1059585, qty#1059592, worklistShardItemId#1059586L, product#1059588]
(140) Join
Arguments: Inner, ((product#1058740 <=> product#1059588) AND ((plant#1058741 <=> plant#1059589) AND ((qty#1058767 <=> qty#1059592) OR isnull(qty#1059592))))
(141) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, qty#1058767, demandChannel#1058747, demandStream#1058748, kpis#1058776]
(142) Deduplicate
Arguments: [demandChannel#1058747, shardId#1059585, qty#1058767, worklistShardItemId#1059586L, demandStream#1058748]
(143) Project
Arguments: [shardId#1059585, worklistShardItemId#1059586L, qty#1058767, demandChannel#1058747, demandStream#1058748, kpis#1058776]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679, product#1059680, plant#1059681, periodStart#1059682, periodEnd#1059683, qty#1059684], false
(146) RepartitionByExpression
Arguments: [product#1059680, plant#1059681], 37
(147) Project
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679, product#1059680, plant#1059681, qty#1059684]
(148) LogicalRDD
Arguments: [shardId#1059685, worklistShardItemId#1059686L, version#1059687, product#1059688, plant#1059689, periodStart#1059690, periodEnd#1059691, qty#1059692], false
(149) RepartitionByExpression
Arguments: [product#1059688, plant#1059689], 37
(150) Project
Arguments: [shardId#1059685, worklistShardItemId#1059686L, version#1059687, product#1059688, plant#1059689, qty#1059692]
(151) LogicalRDD
Arguments: [shardId#1059693, worklistShardItemId#1059694L, qty#1059695, demandChannel#1059696, demandStream#1059697, kpis#1059698], false
(152) Project
Arguments: [shardId#1059693 AS cachedShardId#1059699, worklistShardItemId#1059694L AS cachedWorklistShardItemId#1059700L, qty#1059695 AS cachedQty#1059701, demandChannel#1059696, demandStream#1059697, kpis#1059698 AS cachedKpis#1059702]
(153) Join
Arguments: Inner, (((worklistShardItemId#1059686L = cachedWorklistShardItemId#1059700L) AND (shardId#1059685 = cachedShardId#1059699)) AND ((qty#1059692 = cachedQty#1059701) OR isnull(qty#1059692)))
(154) Project
Arguments: [shardId#1059685, worklistShardItemId#1059686L, version#1059687, product#1059688, plant#1059689]
(155) Deduplicate
Arguments: [plant#1059689, shardId#1059685, version#1059687, worklistShardItemId#1059686L, product#1059688]
(156) LogicalRDD
Arguments: [shardId#1059703, worklistShardItemId#1059704L, qty#1059705, demandChannel#1059706, demandStream#1059707, kpis#1059708], false
(157) Project
Arguments: [shardId#1059703 AS cachedShardId#1059709, worklistShardItemId#1059704L AS cachedWorklistShardItemId#1059710L, qty#1059705 AS cachedQty#1059711, demandChannel#1059706, demandStream#1059707, kpis#1059708 AS cachedKpis#1059712]
(158) Join
Arguments: Inner, ((worklistShardItemId#1059686L = cachedWorklistShardItemId#1059710L) AND (shardId#1059685 = cachedShardId#1059709))
(159) Project
Arguments: [shardId#1059685, worklistShardItemId#1059686L, version#1059687, product#1059688, plant#1059689, cachedQty#1059711 AS qty#1059713, demandChannel#1059706, demandStream#1059707, cachedKpis#1059712 AS kpis#1059714]
(160) Project
Arguments: [shardId#1059685, worklistShardItemId#1059686L, version#1059687, product#1059688, plant#1059689, qty#1059713]
(161) LogicalRDD
Arguments: [shardId#1059715, worklistShardItemId#1059716L, version#1059717, product#1059718, plant#1059719, periodStart#1059720, periodEnd#1059721, qty#1059722], false
(162) RepartitionByExpression
Arguments: [product#1059718, plant#1059719], 37
(163) Project
Arguments: [shardId#1059715, worklistShardItemId#1059716L, version#1059717, product#1059718, plant#1059719, qty#1059722]
(164) LogicalRDD
Arguments: [shardId#1059723, worklistShardItemId#1059724L, qty#1059725, demandChannel#1059726, demandStream#1059727, kpis#1059728], false
(165) Project
Arguments: [shardId#1059723 AS cachedShardId#1059729, worklistShardItemId#1059724L AS cachedWorklistShardItemId#1059730L, qty#1059725 AS cachedQty#1059731, demandChannel#1059726, demandStream#1059727, kpis#1059728 AS cachedKpis#1059732]
(166) Join
Arguments: Inner, (((worklistShardItemId#1059716L = cachedWorklistShardItemId#1059730L) AND (shardId#1059715 = cachedShardId#1059729)) AND isnull(qty#1059722))
(167) Project
Arguments: [shardId#1059715, worklistShardItemId#1059716L, version#1059717, product#1059718, plant#1059719, qty#1059722]
(168) Project
Arguments: [shardId#1059715, worklistShardItemId#1059716L, version#1059717, product#1059718, plant#1059719, qty#1059722]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1059677 <=> shardId#1059685) AND (worklistShardItemId#1059678L <=> worklistShardItemId#1059686L)) AND (version#1059679 <=> version#1059687)) AND (product#1059680 <=> product#1059688)) AND (plant#1059681 <=> plant#1059689)) AND (qty#1059684 <=> qty#1059713))
(171) Project
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679, product#1059680, plant#1059681, qty#1059684]
(172) Project
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679, product#1059680, plant#1059681, qty#1059684, cast(null as string) AS demandChannel#1059733]
(173) Project
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679, product#1059680, plant#1059681, qty#1059684, demandChannel#1059733, cast(null as string) AS demandStream#1059734]
(174) Project
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679, product#1059680, plant#1059681, qty#1059684, demandChannel#1059733, demandStream#1059734, array() AS kpis#1059735]
(175) Project
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679, product#1059680, plant#1059681, qty#1059684, demandChannel#1059733, demandStream#1059734, kpis#1059735, true AS isNewlyCalculated#1059736]
(176) Project
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679, product#1059680, plant#1059681, qty#1059684, demandChannel#1059733, demandStream#1059734, cast(kpis#1059735 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1059737, isNewlyCalculated#1059736]
(177) LogicalRDD
Arguments: [shardId#1059738, worklistShardItemId#1059739L, version#1059740, product#1059741, plant#1059742, periodStart#1059743, periodEnd#1059744, qty#1059745], false
(178) RepartitionByExpression
Arguments: [product#1059741, plant#1059742], 37
(179) Project
Arguments: [shardId#1059738, worklistShardItemId#1059739L, version#1059740, product#1059741, plant#1059742, qty#1059745]
(180) LogicalRDD
Arguments: [shardId#1059746, worklistShardItemId#1059747L, qty#1059748, demandChannel#1059749, demandStream#1059750, kpis#1059751], false
(181) Project
Arguments: [shardId#1059746 AS cachedShardId#1059752, worklistShardItemId#1059747L AS cachedWorklistShardItemId#1059753L, qty#1059748 AS cachedQty#1059754, demandChannel#1059749, demandStream#1059750, kpis#1059751 AS cachedKpis#1059755]
(182) Join
Arguments: Inner, (((worklistShardItemId#1059739L = cachedWorklistShardItemId#1059753L) AND (shardId#1059738 = cachedShardId#1059752)) AND ((qty#1059745 = cachedQty#1059754) OR isnull(qty#1059745)))
(183) Project
Arguments: [shardId#1059738, worklistShardItemId#1059739L, version#1059740, product#1059741, plant#1059742]
(184) Deduplicate
Arguments: [plant#1059742, shardId#1059738, version#1059740, worklistShardItemId#1059739L, product#1059741]
(185) LogicalRDD
Arguments: [shardId#1059756, worklistShardItemId#1059757L, qty#1059758, demandChannel#1059759, demandStream#1059760, kpis#1059761], false
(186) Project
Arguments: [shardId#1059756 AS cachedShardId#1059762, worklistShardItemId#1059757L AS cachedWorklistShardItemId#1059763L, qty#1059758 AS cachedQty#1059764, demandChannel#1059759, demandStream#1059760, kpis#1059761 AS cachedKpis#1059765]
(187) Join
Arguments: Inner, ((worklistShardItemId#1059739L = cachedWorklistShardItemId#1059763L) AND (shardId#1059738 = cachedShardId#1059762))
(188) Project
Arguments: [shardId#1059738, worklistShardItemId#1059739L, version#1059740, product#1059741, plant#1059742, cachedQty#1059764 AS qty#1059766, demandChannel#1059759, demandStream#1059760, cachedKpis#1059765 AS kpis#1059767]
(189) Project
Arguments: [shardId#1059738, worklistShardItemId#1059739L, version#1059740, product#1059741, plant#1059742, qty#1059766, demandChannel#1059759, demandStream#1059760, kpis#1059767, false AS isNewlyCalculated#1059768]
(190) Project
Arguments: [shardId#1059738, worklistShardItemId#1059739L, version#1059740, product#1059741, plant#1059742, qty#1059766, demandChannel#1059759, demandStream#1059760, kpis#1059767, isNewlyCalculated#1059768]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1059677, worklistShardItemId#1059678L, version#1059679]
(193) Aggregate
Arguments: [shardId#1059677, worklistShardItemId#1059678L], [shardId#1059677, worklistShardItemId#1059678L, (max(version#1059679) + 1) AS version#1059580]
(194) Join
Arguments: Inner, ((shardId#1011815 = shardId#1059677) AND (worklistShardItemId#1011816L = worklistShardItemId#1059678L))
(195) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1056211, demandStream#1056212, kpis#1056246, version#1059580]
(196) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1059580, qty#1011822, demandChannel#1056211, demandStream#1056212, kpis#1056246]