== 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@1b7a45ef, [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#1078734, worklistShardItemId#1078735L, version#1078736, product#1078737, plant#1078738, periodStart#1078739, periodEnd#1078740, qty#1078741], false
(7) RepartitionByExpression
Arguments: [product#1078737, plant#1078738], 37
(8) Project
Arguments: [shardId#1078734, worklistShardItemId#1078735L, version#1078736, product#1078737, plant#1078738, qty#1078741]
(9) LogicalRDD
Arguments: [shardId#1078489, worklistShardItemId#1078490L, qty#1078491, demandChannel#1078492, demandStream#1078493, kpis#1078494], false
(10) Project
Arguments: [shardId#1078489 AS cachedShardId#1078495, worklistShardItemId#1078490L AS cachedWorklistShardItemId#1078496L, qty#1078491 AS cachedQty#1078497, demandChannel#1078492, demandStream#1078493, kpis#1078494 AS cachedKpis#1078498]
(11) Join
Arguments: Inner, (((worklistShardItemId#1078735L = cachedWorklistShardItemId#1078496L) AND (shardId#1078734 = cachedShardId#1078495)) AND ((qty#1078741 = cachedQty#1078497) OR isnull(qty#1078741)))
(12) Project
Arguments: [shardId#1078734, worklistShardItemId#1078735L, version#1078736, product#1078737, plant#1078738]
(13) Deduplicate
Arguments: [plant#1078738, shardId#1078734, version#1078736, worklistShardItemId#1078735L, product#1078737]
(14) LogicalRDD
Arguments: [shardId#1078499, worklistShardItemId#1078500L, qty#1078501, demandChannel#1078502, demandStream#1078503, kpis#1078504], false
(15) Project
Arguments: [shardId#1078499 AS cachedShardId#1078505, worklistShardItemId#1078500L AS cachedWorklistShardItemId#1078506L, qty#1078501 AS cachedQty#1078507, demandChannel#1078502, demandStream#1078503, kpis#1078504 AS cachedKpis#1078508]
(16) Join
Arguments: Inner, ((worklistShardItemId#1078735L = cachedWorklistShardItemId#1078506L) AND (shardId#1078734 = cachedShardId#1078505))
(17) Project
Arguments: [shardId#1078734, worklistShardItemId#1078735L, version#1078736, product#1078737, plant#1078738, cachedQty#1078507 AS qty#1078509, demandChannel#1078502, demandStream#1078503, cachedKpis#1078508 AS kpis#1078510]
(18) Project
Arguments: [shardId#1078734, worklistShardItemId#1078735L, version#1078736, product#1078737, plant#1078738, qty#1078509]
(19) LogicalRDD
Arguments: [shardId#1078716, worklistShardItemId#1078717L, version#1078718, product#1078719, plant#1078720, periodStart#1078721, periodEnd#1078722, qty#1078723], false
(20) RepartitionByExpression
Arguments: [product#1078719, plant#1078720], 37
(21) Project
Arguments: [shardId#1078716, worklistShardItemId#1078717L, version#1078718, product#1078719, plant#1078720, qty#1078723]
(22) LogicalRDD
Arguments: [shardId#1078724, worklistShardItemId#1078725L, qty#1078726, demandChannel#1078727, demandStream#1078728, kpis#1078729], false
(23) Project
Arguments: [shardId#1078724 AS cachedShardId#1078730, worklistShardItemId#1078725L AS cachedWorklistShardItemId#1078731L, qty#1078726 AS cachedQty#1078732, demandChannel#1078727, demandStream#1078728, kpis#1078729 AS cachedKpis#1078733]
(24) Join
Arguments: Inner, (((worklistShardItemId#1078717L = cachedWorklistShardItemId#1078731L) AND (shardId#1078716 = cachedShardId#1078730)) AND isnull(qty#1078723))
(25) Project
Arguments: [shardId#1078716, worklistShardItemId#1078717L, version#1078718, product#1078719, plant#1078720, qty#1078723]
(26) Project
Arguments: [shardId#1078716, worklistShardItemId#1078717L, version#1078718, product#1078719, plant#1078720, qty#1078723]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1011815 <=> shardId#1078734) AND (worklistShardItemId#1011816L <=> worklistShardItemId#1078735L)) AND (version#1011817 <=> version#1078736)) AND (product#1011818 <=> product#1078737)) AND (plant#1011819 <=> plant#1078738)) AND (qty#1011822 <=> qty#1078509))
(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#1078742]
(31) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1078742, cast(null as string) AS demandStream#1078743]
(32) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1078742, demandStream#1078743, array() AS kpis#1078744]
(33) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1078742, demandStream#1078743, kpis#1078744, true AS isNewlyCalculated#1078745]
(34) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1078742, demandStream#1078743, cast(kpis#1078744 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1078777, isNewlyCalculated#1078745]
(35) LogicalRDD
Arguments: [shardId#1078747, worklistShardItemId#1078748L, version#1078749, product#1078750, plant#1078751, periodStart#1078752, periodEnd#1078753, qty#1078754], false
(36) RepartitionByExpression
Arguments: [product#1078750, plant#1078751], 37
(37) Project
Arguments: [shardId#1078747, worklistShardItemId#1078748L, version#1078749, product#1078750, plant#1078751, qty#1078754]
(38) LogicalRDD
Arguments: [shardId#1078755, worklistShardItemId#1078756L, qty#1078757, demandChannel#1078758, demandStream#1078759, kpis#1078760], false
(39) Project
Arguments: [shardId#1078755 AS cachedShardId#1078761, worklistShardItemId#1078756L AS cachedWorklistShardItemId#1078762L, qty#1078757 AS cachedQty#1078763, demandChannel#1078758, demandStream#1078759, kpis#1078760 AS cachedKpis#1078764]
(40) Join
Arguments: Inner, (((worklistShardItemId#1078748L = cachedWorklistShardItemId#1078762L) AND (shardId#1078747 = cachedShardId#1078761)) AND ((qty#1078754 = cachedQty#1078763) OR isnull(qty#1078754)))
(41) Project
Arguments: [shardId#1078747, worklistShardItemId#1078748L, version#1078749, product#1078750, plant#1078751]
(42) Deduplicate
Arguments: [plant#1078751, shardId#1078747, version#1078749, worklistShardItemId#1078748L, product#1078750]
(43) LogicalRDD
Arguments: [shardId#1078765, worklistShardItemId#1078766L, qty#1078767, demandChannel#1078768, demandStream#1078769, kpis#1078770], false
(44) Project
Arguments: [shardId#1078765 AS cachedShardId#1078771, worklistShardItemId#1078766L AS cachedWorklistShardItemId#1078772L, qty#1078767 AS cachedQty#1078773, demandChannel#1078768, demandStream#1078769, kpis#1078770 AS cachedKpis#1078774]
(45) Join
Arguments: Inner, ((worklistShardItemId#1078748L = cachedWorklistShardItemId#1078772L) AND (shardId#1078747 = cachedShardId#1078771))
(46) Project
Arguments: [shardId#1078747, worklistShardItemId#1078748L, version#1078749, product#1078750, plant#1078751, cachedQty#1078773 AS qty#1078775, demandChannel#1078768, demandStream#1078769, cachedKpis#1078774 AS kpis#1078776]
(47) Project
Arguments: [shardId#1078747, worklistShardItemId#1078748L, version#1078749, product#1078750, plant#1078751, qty#1078775, demandChannel#1078768, demandStream#1078769, kpis#1078776, false AS isNewlyCalculated#1078746]
(48) Project
Arguments: [shardId#1078747, worklistShardItemId#1078748L, version#1078749, product#1078750, plant#1078751, qty#1078775, demandChannel#1078768, demandStream#1078769, kpis#1078776, isNewlyCalculated#1078746]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1078745 <=> false)
(51) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1078742, demandStream#1078743, kpis#1078777]
(52) ExternalRDD
Arguments: [obj#1081241]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85332), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85332), 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, 85332), 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, 85332), 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, 85332), 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, 85332), 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#1081244, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85333), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85333), 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, 85334), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85334), 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, 85334), 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, 85334), 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, 85335), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85335), 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, 85335), 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, 85335), 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, 85335), 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, 85334), 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, 85333), 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, 85336), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85336), 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, 85336), 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, 85336), 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, 85336), 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, 85333), 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, 85333), 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, 85333), 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, 85337), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85337), 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, 85338), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85338), 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, 85338), 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, 85338), 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, 85338), 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, 85337), 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, 85337), 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, 85333), 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#1081245]
(54) Generate
Arguments: explode(prodPlantResults#1081245), false, [prodPlantResults#1081252]
(55) Project
Arguments: [prodPlantResults#1081252]
(56) Project
Arguments: [prodPlantResults#1081252.productId AS product#1081271, prodPlantResults#1081252.plantId AS plant#1081272, prodPlantResults#1081252.kpiResults AS kpis#1081273]
(57) Project
Arguments: [product#1081271, plant#1081272, kpis#1081273, null AS qty#1081277]
(58) Project
Arguments: [product#1081271, plant#1081272, kpis#1081273, qty#1081277, cast(null as string) AS demandChannel#1081278]
(59) Project
Arguments: [product#1081271, plant#1081272, kpis#1081273, qty#1081277, demandChannel#1081278, cast(null as string) AS demandStream#1081279]
(60) Project
Arguments: [product#1081271, plant#1081272, kpis#1081273, cast(qty#1081277 as double) AS qty#1081298, demandChannel#1081278, demandStream#1081279]
(61) ExternalRDD
Arguments: [obj#1081294]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85332), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85332), 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, 85332), 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, 85332), 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, 85332), 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, 85332), 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#1081295, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85333), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85333), 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, 85334), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85334), 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, 85334), 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, 85334), 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, 85335), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85335), 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, 85335), 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, 85335), 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, 85335), 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, 85334), 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, 85333), 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, 85336), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85336), 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, 85336), 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, 85336), 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, 85336), 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, 85333), 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, 85333), 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, 85333), 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, 85337), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85337), 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, 85338), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85338), 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, 85338), 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, 85338), 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, 85338), 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, 85337), 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, 85337), 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, 85333), 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#1081296]
(63) Generate
Arguments: explode(prodPlantResults#1081296), false, [prodPlantResults#1081297]
(64) Project
Arguments: [prodPlantResults#1081297]
(65) Generate
Arguments: explode(prodPlantResults#1081297.quantityKpiResults), false, [quantityKpiResults#1081264]
(66) Project
Arguments: [prodPlantResults#1081297.productId AS product#1081258, prodPlantResults#1081297.plantId AS plant#1081259, quantityKpiResults#1081264]
(67) Project
Arguments: [product#1081258, plant#1081259, quantityKpiResults#1081264, quantityKpiResults#1081264.quantity AS qty#1081265]
(68) Project
Arguments: [product#1081258, plant#1081259, quantityKpiResults#1081264, qty#1081265, cast(null as string) AS demandChannel#1081267]
(69) Project
Arguments: [product#1081258, plant#1081259, quantityKpiResults#1081264, qty#1081265, demandChannel#1081267, cast(null as string) AS demandStream#1081268]
(70) Project
Arguments: [product#1081258, plant#1081259, quantityKpiResults#1081264, qty#1081265, demandChannel#1081267, demandStream#1081268, quantityKpiResults#1081264.kpiResults AS kpis#1081269]
(71) Project
Arguments: [product#1081258, plant#1081259, qty#1081265, demandChannel#1081267, demandStream#1081268, kpis#1081269]
(72) Project
Arguments: [product#1081258, plant#1081259, kpis#1081269, qty#1081265, demandChannel#1081267, demandStream#1081268]
(73) ExternalRDD
Arguments: [obj#1081299]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85332), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85332), 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, 85332), 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, 85332), 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, 85332), 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, 85332), 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#1081300, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85333), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85333), 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, 85334), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85334), 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, 85334), 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, 85334), 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, 85335), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85335), 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, 85335), 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, 85335), 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, 85335), 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, 85334), 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, 85333), 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, 85336), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85336), 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, 85336), 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, 85336), 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, 85336), 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, 85333), 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, 85333), 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, 85333), 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, 85337), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85337), 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, 85338), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 85338), 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, 85338), 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, 85338), 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, 85338), 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, 85337), 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, 85337), 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, 85333), 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#1081301]
(75) Generate
Arguments: explode(prodPlantResults#1081301), false, [prodPlantResults#1081302]
(76) Project
Arguments: [prodPlantResults#1081302]
(77) Generate
Arguments: explode(prodPlantResults#1081302.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1081286]
(78) Project
Arguments: [prodPlantResults#1081302.productId AS product#1081280, prodPlantResults#1081302.plantId AS plant#1081281, demandChannelStreamKpiResults#1081286]
(79) Project
Arguments: [product#1081280, plant#1081281, demandChannelStreamKpiResults#1081286, null AS qty#1081287]
(80) Project
Arguments: [product#1081280, plant#1081281, demandChannelStreamKpiResults#1081286, qty#1081287, demandChannelStreamKpiResults#1081286.demandChannel AS demandChannel#1081288]
(81) Project
Arguments: [product#1081280, plant#1081281, demandChannelStreamKpiResults#1081286, qty#1081287, demandChannel#1081288, demandChannelStreamKpiResults#1081286.demandStream AS demandStream#1081290]
(82) Project
Arguments: [product#1081280, plant#1081281, demandChannelStreamKpiResults#1081286, qty#1081287, demandChannel#1081288, demandStream#1081290, demandChannelStreamKpiResults#1081286.kpiResults AS kpis#1081292]
(83) Project
Arguments: [product#1081280, plant#1081281, qty#1081287, demandChannel#1081288, demandStream#1081290, kpis#1081292]
(84) Project
Arguments: [product#1081280, plant#1081281, kpis#1081292, qty#1081287, demandChannel#1081288, demandStream#1081290]
(85) Project
Arguments: [product#1081280, plant#1081281, kpis#1081292, cast(qty#1081287 as double) AS qty#1081303, demandChannel#1081288, demandStream#1081290]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1081271, plant#1081272, transform(kpis#1081273, lambdafunction(struct(label, lambda kpi#1081308.label, dateTime, lambda kpi#1081308.datetime, value, lambda kpi#1081308.value), lambda kpi#1081308, false)) AS kpis#1081307, qty#1081298, demandChannel#1081278, demandStream#1081279]
(88) Project
Arguments: [product#1081271, plant#1081272, qty#1081298, demandChannel#1081278, demandStream#1081279, kpis#1081307]
(89) LogicalRDD
Arguments: [shardId#1082116, worklistShardItemId#1082117L, version#1082118, product#1082119, plant#1082120, periodStart#1082121, periodEnd#1082122, qty#1082123], false
(90) RepartitionByExpression
Arguments: [product#1082119, plant#1082120], 37
(91) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, version#1082118, product#1082119, plant#1082120, qty#1082123]
(92) LogicalRDD
Arguments: [shardId#1082124, worklistShardItemId#1082125L, version#1082126, product#1082127, plant#1082128, periodStart#1082129, periodEnd#1082130, qty#1082131], false
(93) RepartitionByExpression
Arguments: [product#1082127, plant#1082128], 37
(94) Project
Arguments: [shardId#1082124, worklistShardItemId#1082125L, version#1082126, product#1082127, plant#1082128, qty#1082131]
(95) LogicalRDD
Arguments: [shardId#1082132, worklistShardItemId#1082133L, qty#1082134, demandChannel#1082135, demandStream#1082136, kpis#1082137], false
(96) Project
Arguments: [shardId#1082132 AS cachedShardId#1082138, worklistShardItemId#1082133L AS cachedWorklistShardItemId#1082139L, qty#1082134 AS cachedQty#1082140, demandChannel#1082135, demandStream#1082136, kpis#1082137 AS cachedKpis#1082141]
(97) Join
Arguments: Inner, (((worklistShardItemId#1082125L = cachedWorklistShardItemId#1082139L) AND (shardId#1082124 = cachedShardId#1082138)) AND ((qty#1082131 = cachedQty#1082140) OR isnull(qty#1082131)))
(98) Project
Arguments: [shardId#1082124, worklistShardItemId#1082125L, version#1082126, product#1082127, plant#1082128]
(99) Deduplicate
Arguments: [plant#1082128, shardId#1082124, version#1082126, worklistShardItemId#1082125L, product#1082127]
(100) LogicalRDD
Arguments: [shardId#1082142, worklistShardItemId#1082143L, qty#1082144, demandChannel#1082145, demandStream#1082146, kpis#1082147], false
(101) Project
Arguments: [shardId#1082142 AS cachedShardId#1082148, worklistShardItemId#1082143L AS cachedWorklistShardItemId#1082149L, qty#1082144 AS cachedQty#1082150, demandChannel#1082145, demandStream#1082146, kpis#1082147 AS cachedKpis#1082151]
(102) Join
Arguments: Inner, ((worklistShardItemId#1082125L = cachedWorklistShardItemId#1082149L) AND (shardId#1082124 = cachedShardId#1082148))
(103) Project
Arguments: [shardId#1082124, worklistShardItemId#1082125L, version#1082126, product#1082127, plant#1082128, cachedQty#1082150 AS qty#1082152, demandChannel#1082145, demandStream#1082146, cachedKpis#1082151 AS kpis#1082153]
(104) Project
Arguments: [shardId#1082124, worklistShardItemId#1082125L, version#1082126, product#1082127, plant#1082128, qty#1082152]
(105) LogicalRDD
Arguments: [shardId#1082154, worklistShardItemId#1082155L, version#1082156, product#1082157, plant#1082158, periodStart#1082159, periodEnd#1082160, qty#1082161], false
(106) RepartitionByExpression
Arguments: [product#1082157, plant#1082158], 37
(107) Project
Arguments: [shardId#1082154, worklistShardItemId#1082155L, version#1082156, product#1082157, plant#1082158, qty#1082161]
(108) LogicalRDD
Arguments: [shardId#1082162, worklistShardItemId#1082163L, qty#1082164, demandChannel#1082165, demandStream#1082166, kpis#1082167], false
(109) Project
Arguments: [shardId#1082162 AS cachedShardId#1082168, worklistShardItemId#1082163L AS cachedWorklistShardItemId#1082169L, qty#1082164 AS cachedQty#1082170, demandChannel#1082165, demandStream#1082166, kpis#1082167 AS cachedKpis#1082171]
(110) Join
Arguments: Inner, (((worklistShardItemId#1082155L = cachedWorklistShardItemId#1082169L) AND (shardId#1082154 = cachedShardId#1082168)) AND isnull(qty#1082161))
(111) Project
Arguments: [shardId#1082154, worklistShardItemId#1082155L, version#1082156, product#1082157, plant#1082158, qty#1082161]
(112) Project
Arguments: [shardId#1082154, worklistShardItemId#1082155L, version#1082156, product#1082157, plant#1082158, qty#1082161]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1082116 <=> shardId#1082124) AND (worklistShardItemId#1082117L <=> worklistShardItemId#1082125L)) AND (version#1082118 <=> version#1082126)) AND (product#1082119 <=> product#1082127)) AND (plant#1082120 <=> plant#1082128)) AND (qty#1082123 <=> qty#1082152))
(115) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, version#1082118, product#1082119, plant#1082120, qty#1082123]
(116) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, version#1082118, product#1082119, plant#1082120, qty#1082123, cast(null as string) AS demandChannel#1082172]
(117) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, version#1082118, product#1082119, plant#1082120, qty#1082123, demandChannel#1082172, cast(null as string) AS demandStream#1082173]
(118) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, version#1082118, product#1082119, plant#1082120, qty#1082123, demandChannel#1082172, demandStream#1082173, array() AS kpis#1082174]
(119) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, version#1082118, product#1082119, plant#1082120, qty#1082123, demandChannel#1082172, demandStream#1082173, kpis#1082174, true AS isNewlyCalculated#1082175]
(120) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, version#1082118, product#1082119, plant#1082120, qty#1082123, demandChannel#1082172, demandStream#1082173, cast(kpis#1082174 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1082176, isNewlyCalculated#1082175]
(121) LogicalRDD
Arguments: [shardId#1082177, worklistShardItemId#1082178L, version#1082179, product#1082180, plant#1082181, periodStart#1082182, periodEnd#1082183, qty#1082184], false
(122) RepartitionByExpression
Arguments: [product#1082180, plant#1082181], 37
(123) Project
Arguments: [shardId#1082177, worklistShardItemId#1082178L, version#1082179, product#1082180, plant#1082181, qty#1082184]
(124) LogicalRDD
Arguments: [shardId#1082185, worklistShardItemId#1082186L, qty#1082187, demandChannel#1082188, demandStream#1082189, kpis#1082190], false
(125) Project
Arguments: [shardId#1082185 AS cachedShardId#1082191, worklistShardItemId#1082186L AS cachedWorklistShardItemId#1082192L, qty#1082187 AS cachedQty#1082193, demandChannel#1082188, demandStream#1082189, kpis#1082190 AS cachedKpis#1082194]
(126) Join
Arguments: Inner, (((worklistShardItemId#1082178L = cachedWorklistShardItemId#1082192L) AND (shardId#1082177 = cachedShardId#1082191)) AND ((qty#1082184 = cachedQty#1082193) OR isnull(qty#1082184)))
(127) Project
Arguments: [shardId#1082177, worklistShardItemId#1082178L, version#1082179, product#1082180, plant#1082181]
(128) Deduplicate
Arguments: [plant#1082181, shardId#1082177, version#1082179, worklistShardItemId#1082178L, product#1082180]
(129) LogicalRDD
Arguments: [shardId#1082195, worklistShardItemId#1082196L, qty#1082197, demandChannel#1082198, demandStream#1082199, kpis#1082200], false
(130) Project
Arguments: [shardId#1082195 AS cachedShardId#1082201, worklistShardItemId#1082196L AS cachedWorklistShardItemId#1082202L, qty#1082197 AS cachedQty#1082203, demandChannel#1082198, demandStream#1082199, kpis#1082200 AS cachedKpis#1082204]
(131) Join
Arguments: Inner, ((worklistShardItemId#1082178L = cachedWorklistShardItemId#1082202L) AND (shardId#1082177 = cachedShardId#1082201))
(132) Project
Arguments: [shardId#1082177, worklistShardItemId#1082178L, version#1082179, product#1082180, plant#1082181, cachedQty#1082203 AS qty#1082205, demandChannel#1082198, demandStream#1082199, cachedKpis#1082204 AS kpis#1082206]
(133) Project
Arguments: [shardId#1082177, worklistShardItemId#1082178L, version#1082179, product#1082180, plant#1082181, qty#1082205, demandChannel#1082198, demandStream#1082199, kpis#1082206, false AS isNewlyCalculated#1082207]
(134) Project
Arguments: [shardId#1082177, worklistShardItemId#1082178L, version#1082179, product#1082180, plant#1082181, qty#1082205, demandChannel#1082198, demandStream#1082199, kpis#1082206, isNewlyCalculated#1082207]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1082175 <=> true)
(137) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, product#1082119, plant#1082120, qty#1082123, kpis#1082176]
(138) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, product#1082119, plant#1082120, qty#1082123]
(139) Deduplicate
Arguments: [plant#1082120, shardId#1082116, qty#1082123, worklistShardItemId#1082117L, product#1082119]
(140) Join
Arguments: Inner, ((product#1081271 <=> product#1082119) AND ((plant#1081272 <=> plant#1082120) AND ((qty#1081298 <=> qty#1082123) OR isnull(qty#1082123))))
(141) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, qty#1081298, demandChannel#1081278, demandStream#1081279, kpis#1081307]
(142) Deduplicate
Arguments: [demandChannel#1081278, shardId#1082116, qty#1081298, worklistShardItemId#1082117L, demandStream#1081279]
(143) Project
Arguments: [shardId#1082116, worklistShardItemId#1082117L, qty#1081298, demandChannel#1081278, demandStream#1081279, kpis#1081307]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210, product#1082211, plant#1082212, periodStart#1082213, periodEnd#1082214, qty#1082215], false
(146) RepartitionByExpression
Arguments: [product#1082211, plant#1082212], 37
(147) Project
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210, product#1082211, plant#1082212, qty#1082215]
(148) LogicalRDD
Arguments: [shardId#1082216, worklistShardItemId#1082217L, version#1082218, product#1082219, plant#1082220, periodStart#1082221, periodEnd#1082222, qty#1082223], false
(149) RepartitionByExpression
Arguments: [product#1082219, plant#1082220], 37
(150) Project
Arguments: [shardId#1082216, worklistShardItemId#1082217L, version#1082218, product#1082219, plant#1082220, qty#1082223]
(151) LogicalRDD
Arguments: [shardId#1082224, worklistShardItemId#1082225L, qty#1082226, demandChannel#1082227, demandStream#1082228, kpis#1082229], false
(152) Project
Arguments: [shardId#1082224 AS cachedShardId#1082230, worklistShardItemId#1082225L AS cachedWorklistShardItemId#1082231L, qty#1082226 AS cachedQty#1082232, demandChannel#1082227, demandStream#1082228, kpis#1082229 AS cachedKpis#1082233]
(153) Join
Arguments: Inner, (((worklistShardItemId#1082217L = cachedWorklistShardItemId#1082231L) AND (shardId#1082216 = cachedShardId#1082230)) AND ((qty#1082223 = cachedQty#1082232) OR isnull(qty#1082223)))
(154) Project
Arguments: [shardId#1082216, worklistShardItemId#1082217L, version#1082218, product#1082219, plant#1082220]
(155) Deduplicate
Arguments: [plant#1082220, shardId#1082216, version#1082218, worklistShardItemId#1082217L, product#1082219]
(156) LogicalRDD
Arguments: [shardId#1082234, worklistShardItemId#1082235L, qty#1082236, demandChannel#1082237, demandStream#1082238, kpis#1082239], false
(157) Project
Arguments: [shardId#1082234 AS cachedShardId#1082240, worklistShardItemId#1082235L AS cachedWorklistShardItemId#1082241L, qty#1082236 AS cachedQty#1082242, demandChannel#1082237, demandStream#1082238, kpis#1082239 AS cachedKpis#1082243]
(158) Join
Arguments: Inner, ((worklistShardItemId#1082217L = cachedWorklistShardItemId#1082241L) AND (shardId#1082216 = cachedShardId#1082240))
(159) Project
Arguments: [shardId#1082216, worklistShardItemId#1082217L, version#1082218, product#1082219, plant#1082220, cachedQty#1082242 AS qty#1082244, demandChannel#1082237, demandStream#1082238, cachedKpis#1082243 AS kpis#1082245]
(160) Project
Arguments: [shardId#1082216, worklistShardItemId#1082217L, version#1082218, product#1082219, plant#1082220, qty#1082244]
(161) LogicalRDD
Arguments: [shardId#1082246, worklistShardItemId#1082247L, version#1082248, product#1082249, plant#1082250, periodStart#1082251, periodEnd#1082252, qty#1082253], false
(162) RepartitionByExpression
Arguments: [product#1082249, plant#1082250], 37
(163) Project
Arguments: [shardId#1082246, worklistShardItemId#1082247L, version#1082248, product#1082249, plant#1082250, qty#1082253]
(164) LogicalRDD
Arguments: [shardId#1082254, worklistShardItemId#1082255L, qty#1082256, demandChannel#1082257, demandStream#1082258, kpis#1082259], false
(165) Project
Arguments: [shardId#1082254 AS cachedShardId#1082260, worklistShardItemId#1082255L AS cachedWorklistShardItemId#1082261L, qty#1082256 AS cachedQty#1082262, demandChannel#1082257, demandStream#1082258, kpis#1082259 AS cachedKpis#1082263]
(166) Join
Arguments: Inner, (((worklistShardItemId#1082247L = cachedWorklistShardItemId#1082261L) AND (shardId#1082246 = cachedShardId#1082260)) AND isnull(qty#1082253))
(167) Project
Arguments: [shardId#1082246, worklistShardItemId#1082247L, version#1082248, product#1082249, plant#1082250, qty#1082253]
(168) Project
Arguments: [shardId#1082246, worklistShardItemId#1082247L, version#1082248, product#1082249, plant#1082250, qty#1082253]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1082208 <=> shardId#1082216) AND (worklistShardItemId#1082209L <=> worklistShardItemId#1082217L)) AND (version#1082210 <=> version#1082218)) AND (product#1082211 <=> product#1082219)) AND (plant#1082212 <=> plant#1082220)) AND (qty#1082215 <=> qty#1082244))
(171) Project
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210, product#1082211, plant#1082212, qty#1082215]
(172) Project
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210, product#1082211, plant#1082212, qty#1082215, cast(null as string) AS demandChannel#1082264]
(173) Project
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210, product#1082211, plant#1082212, qty#1082215, demandChannel#1082264, cast(null as string) AS demandStream#1082265]
(174) Project
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210, product#1082211, plant#1082212, qty#1082215, demandChannel#1082264, demandStream#1082265, array() AS kpis#1082266]
(175) Project
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210, product#1082211, plant#1082212, qty#1082215, demandChannel#1082264, demandStream#1082265, kpis#1082266, true AS isNewlyCalculated#1082267]
(176) Project
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210, product#1082211, plant#1082212, qty#1082215, demandChannel#1082264, demandStream#1082265, cast(kpis#1082266 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1082268, isNewlyCalculated#1082267]
(177) LogicalRDD
Arguments: [shardId#1082269, worklistShardItemId#1082270L, version#1082271, product#1082272, plant#1082273, periodStart#1082274, periodEnd#1082275, qty#1082276], false
(178) RepartitionByExpression
Arguments: [product#1082272, plant#1082273], 37
(179) Project
Arguments: [shardId#1082269, worklistShardItemId#1082270L, version#1082271, product#1082272, plant#1082273, qty#1082276]
(180) LogicalRDD
Arguments: [shardId#1082277, worklistShardItemId#1082278L, qty#1082279, demandChannel#1082280, demandStream#1082281, kpis#1082282], false
(181) Project
Arguments: [shardId#1082277 AS cachedShardId#1082283, worklistShardItemId#1082278L AS cachedWorklistShardItemId#1082284L, qty#1082279 AS cachedQty#1082285, demandChannel#1082280, demandStream#1082281, kpis#1082282 AS cachedKpis#1082286]
(182) Join
Arguments: Inner, (((worklistShardItemId#1082270L = cachedWorklistShardItemId#1082284L) AND (shardId#1082269 = cachedShardId#1082283)) AND ((qty#1082276 = cachedQty#1082285) OR isnull(qty#1082276)))
(183) Project
Arguments: [shardId#1082269, worklistShardItemId#1082270L, version#1082271, product#1082272, plant#1082273]
(184) Deduplicate
Arguments: [plant#1082273, shardId#1082269, version#1082271, worklistShardItemId#1082270L, product#1082272]
(185) LogicalRDD
Arguments: [shardId#1082287, worklistShardItemId#1082288L, qty#1082289, demandChannel#1082290, demandStream#1082291, kpis#1082292], false
(186) Project
Arguments: [shardId#1082287 AS cachedShardId#1082293, worklistShardItemId#1082288L AS cachedWorklistShardItemId#1082294L, qty#1082289 AS cachedQty#1082295, demandChannel#1082290, demandStream#1082291, kpis#1082292 AS cachedKpis#1082296]
(187) Join
Arguments: Inner, ((worklistShardItemId#1082270L = cachedWorklistShardItemId#1082294L) AND (shardId#1082269 = cachedShardId#1082293))
(188) Project
Arguments: [shardId#1082269, worklistShardItemId#1082270L, version#1082271, product#1082272, plant#1082273, cachedQty#1082295 AS qty#1082297, demandChannel#1082290, demandStream#1082291, cachedKpis#1082296 AS kpis#1082298]
(189) Project
Arguments: [shardId#1082269, worklistShardItemId#1082270L, version#1082271, product#1082272, plant#1082273, qty#1082297, demandChannel#1082290, demandStream#1082291, kpis#1082298, false AS isNewlyCalculated#1082299]
(190) Project
Arguments: [shardId#1082269, worklistShardItemId#1082270L, version#1082271, product#1082272, plant#1082273, qty#1082297, demandChannel#1082290, demandStream#1082291, kpis#1082298, isNewlyCalculated#1082299]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1082208, worklistShardItemId#1082209L, version#1082210]
(193) Aggregate
Arguments: [shardId#1082208, worklistShardItemId#1082209L], [shardId#1082208, worklistShardItemId#1082209L, (max(version#1082210) + 1) AS version#1082111]
(194) Join
Arguments: Inner, ((shardId#1011815 = shardId#1082208) AND (worklistShardItemId#1011816L = worklistShardItemId#1082209L))
(195) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1078742, demandStream#1078743, kpis#1078777, version#1082111]
(196) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1082111, qty#1011822, demandChannel#1078742, demandStream#1078743, kpis#1078777]