== 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@2d25ce92, [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#1072877, worklistShardItemId#1072878L, version#1072879, product#1072880, plant#1072881, periodStart#1072882, periodEnd#1072883, qty#1072884], false
(7) RepartitionByExpression
Arguments: [product#1072880, plant#1072881], 37
(8) Project
Arguments: [shardId#1072877, worklistShardItemId#1072878L, version#1072879, product#1072880, plant#1072881, qty#1072884]
(9) LogicalRDD
Arguments: [shardId#1072632, worklistShardItemId#1072633L, qty#1072634, demandChannel#1072635, demandStream#1072636, kpis#1072637], false
(10) Project
Arguments: [shardId#1072632 AS cachedShardId#1072638, worklistShardItemId#1072633L AS cachedWorklistShardItemId#1072639L, qty#1072634 AS cachedQty#1072640, demandChannel#1072635, demandStream#1072636, kpis#1072637 AS cachedKpis#1072641]
(11) Join
Arguments: Inner, (((worklistShardItemId#1072878L = cachedWorklistShardItemId#1072639L) AND (shardId#1072877 = cachedShardId#1072638)) AND ((qty#1072884 = cachedQty#1072640) OR isnull(qty#1072884)))
(12) Project
Arguments: [shardId#1072877, worklistShardItemId#1072878L, version#1072879, product#1072880, plant#1072881]
(13) Deduplicate
Arguments: [plant#1072881, shardId#1072877, version#1072879, worklistShardItemId#1072878L, product#1072880]
(14) LogicalRDD
Arguments: [shardId#1072642, worklistShardItemId#1072643L, qty#1072644, demandChannel#1072645, demandStream#1072646, kpis#1072647], false
(15) Project
Arguments: [shardId#1072642 AS cachedShardId#1072648, worklistShardItemId#1072643L AS cachedWorklistShardItemId#1072649L, qty#1072644 AS cachedQty#1072650, demandChannel#1072645, demandStream#1072646, kpis#1072647 AS cachedKpis#1072651]
(16) Join
Arguments: Inner, ((worklistShardItemId#1072878L = cachedWorklistShardItemId#1072649L) AND (shardId#1072877 = cachedShardId#1072648))
(17) Project
Arguments: [shardId#1072877, worklistShardItemId#1072878L, version#1072879, product#1072880, plant#1072881, cachedQty#1072650 AS qty#1072652, demandChannel#1072645, demandStream#1072646, cachedKpis#1072651 AS kpis#1072653]
(18) Project
Arguments: [shardId#1072877, worklistShardItemId#1072878L, version#1072879, product#1072880, plant#1072881, qty#1072652]
(19) LogicalRDD
Arguments: [shardId#1072859, worklistShardItemId#1072860L, version#1072861, product#1072862, plant#1072863, periodStart#1072864, periodEnd#1072865, qty#1072866], false
(20) RepartitionByExpression
Arguments: [product#1072862, plant#1072863], 37
(21) Project
Arguments: [shardId#1072859, worklistShardItemId#1072860L, version#1072861, product#1072862, plant#1072863, qty#1072866]
(22) LogicalRDD
Arguments: [shardId#1072867, worklistShardItemId#1072868L, qty#1072869, demandChannel#1072870, demandStream#1072871, kpis#1072872], false
(23) Project
Arguments: [shardId#1072867 AS cachedShardId#1072873, worklistShardItemId#1072868L AS cachedWorklistShardItemId#1072874L, qty#1072869 AS cachedQty#1072875, demandChannel#1072870, demandStream#1072871, kpis#1072872 AS cachedKpis#1072876]
(24) Join
Arguments: Inner, (((worklistShardItemId#1072860L = cachedWorklistShardItemId#1072874L) AND (shardId#1072859 = cachedShardId#1072873)) AND isnull(qty#1072866))
(25) Project
Arguments: [shardId#1072859, worklistShardItemId#1072860L, version#1072861, product#1072862, plant#1072863, qty#1072866]
(26) Project
Arguments: [shardId#1072859, worklistShardItemId#1072860L, version#1072861, product#1072862, plant#1072863, qty#1072866]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1011815 <=> shardId#1072877) AND (worklistShardItemId#1011816L <=> worklistShardItemId#1072878L)) AND (version#1011817 <=> version#1072879)) AND (product#1011818 <=> product#1072880)) AND (plant#1011819 <=> plant#1072881)) AND (qty#1011822 <=> qty#1072652))
(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#1072885]
(31) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1072885, cast(null as string) AS demandStream#1072886]
(32) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1072885, demandStream#1072886, array() AS kpis#1072887]
(33) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1072885, demandStream#1072886, kpis#1072887, true AS isNewlyCalculated#1072888]
(34) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1011817, product#1011818, plant#1011819, qty#1011822, demandChannel#1072885, demandStream#1072886, cast(kpis#1072887 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1072920, isNewlyCalculated#1072888]
(35) LogicalRDD
Arguments: [shardId#1072890, worklistShardItemId#1072891L, version#1072892, product#1072893, plant#1072894, periodStart#1072895, periodEnd#1072896, qty#1072897], false
(36) RepartitionByExpression
Arguments: [product#1072893, plant#1072894], 37
(37) Project
Arguments: [shardId#1072890, worklistShardItemId#1072891L, version#1072892, product#1072893, plant#1072894, qty#1072897]
(38) LogicalRDD
Arguments: [shardId#1072898, worklistShardItemId#1072899L, qty#1072900, demandChannel#1072901, demandStream#1072902, kpis#1072903], false
(39) Project
Arguments: [shardId#1072898 AS cachedShardId#1072904, worklistShardItemId#1072899L AS cachedWorklistShardItemId#1072905L, qty#1072900 AS cachedQty#1072906, demandChannel#1072901, demandStream#1072902, kpis#1072903 AS cachedKpis#1072907]
(40) Join
Arguments: Inner, (((worklistShardItemId#1072891L = cachedWorklistShardItemId#1072905L) AND (shardId#1072890 = cachedShardId#1072904)) AND ((qty#1072897 = cachedQty#1072906) OR isnull(qty#1072897)))
(41) Project
Arguments: [shardId#1072890, worklistShardItemId#1072891L, version#1072892, product#1072893, plant#1072894]
(42) Deduplicate
Arguments: [plant#1072894, shardId#1072890, version#1072892, worklistShardItemId#1072891L, product#1072893]
(43) LogicalRDD
Arguments: [shardId#1072908, worklistShardItemId#1072909L, qty#1072910, demandChannel#1072911, demandStream#1072912, kpis#1072913], false
(44) Project
Arguments: [shardId#1072908 AS cachedShardId#1072914, worklistShardItemId#1072909L AS cachedWorklistShardItemId#1072915L, qty#1072910 AS cachedQty#1072916, demandChannel#1072911, demandStream#1072912, kpis#1072913 AS cachedKpis#1072917]
(45) Join
Arguments: Inner, ((worklistShardItemId#1072891L = cachedWorklistShardItemId#1072915L) AND (shardId#1072890 = cachedShardId#1072914))
(46) Project
Arguments: [shardId#1072890, worklistShardItemId#1072891L, version#1072892, product#1072893, plant#1072894, cachedQty#1072916 AS qty#1072918, demandChannel#1072911, demandStream#1072912, cachedKpis#1072917 AS kpis#1072919]
(47) Project
Arguments: [shardId#1072890, worklistShardItemId#1072891L, version#1072892, product#1072893, plant#1072894, qty#1072918, demandChannel#1072911, demandStream#1072912, kpis#1072919, false AS isNewlyCalculated#1072889]
(48) Project
Arguments: [shardId#1072890, worklistShardItemId#1072891L, version#1072892, product#1072893, plant#1072894, qty#1072918, demandChannel#1072911, demandStream#1072912, kpis#1072919, isNewlyCalculated#1072889]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1072888 <=> false)
(51) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1072885, demandStream#1072886, kpis#1072920]
(52) ExternalRDD
Arguments: [obj#1075384]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84797), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84797), 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, 84797), 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, 84797), 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, 84797), 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, 84797), 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#1075387, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84798), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84798), 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, 84799), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84799), 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, 84799), 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, 84799), 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, 84800), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84800), 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, 84800), 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, 84800), 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, 84800), 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, 84799), 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, 84798), 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, 84801), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84801), 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, 84801), 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, 84801), 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, 84801), 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, 84798), 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, 84798), 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, 84798), 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, 84802), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84802), 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, 84803), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84803), 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, 84803), 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, 84803), 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, 84803), 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, 84802), 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, 84802), 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, 84798), 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#1075388]
(54) Generate
Arguments: explode(prodPlantResults#1075388), false, [prodPlantResults#1075395]
(55) Project
Arguments: [prodPlantResults#1075395]
(56) Project
Arguments: [prodPlantResults#1075395.productId AS product#1075414, prodPlantResults#1075395.plantId AS plant#1075415, prodPlantResults#1075395.kpiResults AS kpis#1075416]
(57) Project
Arguments: [product#1075414, plant#1075415, kpis#1075416, null AS qty#1075420]
(58) Project
Arguments: [product#1075414, plant#1075415, kpis#1075416, qty#1075420, cast(null as string) AS demandChannel#1075421]
(59) Project
Arguments: [product#1075414, plant#1075415, kpis#1075416, qty#1075420, demandChannel#1075421, cast(null as string) AS demandStream#1075422]
(60) Project
Arguments: [product#1075414, plant#1075415, kpis#1075416, cast(qty#1075420 as double) AS qty#1075441, demandChannel#1075421, demandStream#1075422]
(61) ExternalRDD
Arguments: [obj#1075437]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84797), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84797), 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, 84797), 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, 84797), 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, 84797), 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, 84797), 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#1075438, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84798), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84798), 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, 84799), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84799), 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, 84799), 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, 84799), 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, 84800), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84800), 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, 84800), 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, 84800), 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, 84800), 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, 84799), 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, 84798), 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, 84801), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84801), 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, 84801), 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, 84801), 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, 84801), 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, 84798), 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, 84798), 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, 84798), 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, 84802), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84802), 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, 84803), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84803), 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, 84803), 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, 84803), 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, 84803), 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, 84802), 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, 84802), 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, 84798), 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#1075439]
(63) Generate
Arguments: explode(prodPlantResults#1075439), false, [prodPlantResults#1075440]
(64) Project
Arguments: [prodPlantResults#1075440]
(65) Generate
Arguments: explode(prodPlantResults#1075440.quantityKpiResults), false, [quantityKpiResults#1075407]
(66) Project
Arguments: [prodPlantResults#1075440.productId AS product#1075401, prodPlantResults#1075440.plantId AS plant#1075402, quantityKpiResults#1075407]
(67) Project
Arguments: [product#1075401, plant#1075402, quantityKpiResults#1075407, quantityKpiResults#1075407.quantity AS qty#1075408]
(68) Project
Arguments: [product#1075401, plant#1075402, quantityKpiResults#1075407, qty#1075408, cast(null as string) AS demandChannel#1075410]
(69) Project
Arguments: [product#1075401, plant#1075402, quantityKpiResults#1075407, qty#1075408, demandChannel#1075410, cast(null as string) AS demandStream#1075411]
(70) Project
Arguments: [product#1075401, plant#1075402, quantityKpiResults#1075407, qty#1075408, demandChannel#1075410, demandStream#1075411, quantityKpiResults#1075407.kpiResults AS kpis#1075412]
(71) Project
Arguments: [product#1075401, plant#1075402, qty#1075408, demandChannel#1075410, demandStream#1075411, kpis#1075412]
(72) Project
Arguments: [product#1075401, plant#1075402, kpis#1075412, qty#1075408, demandChannel#1075410, demandStream#1075411]
(73) ExternalRDD
Arguments: [obj#1075442]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84797), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84797), 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, 84797), 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, 84797), 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, 84797), 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, 84797), 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#1075443, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84798), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84798), 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, 84799), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84799), 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, 84799), 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, 84799), 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, 84800), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84800), 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, 84800), 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, 84800), 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, 84800), 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, 84799), 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, 84798), 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, 84801), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84801), 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, 84801), 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, 84801), 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, 84801), 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, 84798), 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, 84798), 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, 84798), 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, 84802), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84802), 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, 84803), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 84803), 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, 84803), 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, 84803), 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, 84803), 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, 84802), 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, 84802), 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, 84798), 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#1075444]
(75) Generate
Arguments: explode(prodPlantResults#1075444), false, [prodPlantResults#1075445]
(76) Project
Arguments: [prodPlantResults#1075445]
(77) Generate
Arguments: explode(prodPlantResults#1075445.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1075429]
(78) Project
Arguments: [prodPlantResults#1075445.productId AS product#1075423, prodPlantResults#1075445.plantId AS plant#1075424, demandChannelStreamKpiResults#1075429]
(79) Project
Arguments: [product#1075423, plant#1075424, demandChannelStreamKpiResults#1075429, null AS qty#1075430]
(80) Project
Arguments: [product#1075423, plant#1075424, demandChannelStreamKpiResults#1075429, qty#1075430, demandChannelStreamKpiResults#1075429.demandChannel AS demandChannel#1075431]
(81) Project
Arguments: [product#1075423, plant#1075424, demandChannelStreamKpiResults#1075429, qty#1075430, demandChannel#1075431, demandChannelStreamKpiResults#1075429.demandStream AS demandStream#1075433]
(82) Project
Arguments: [product#1075423, plant#1075424, demandChannelStreamKpiResults#1075429, qty#1075430, demandChannel#1075431, demandStream#1075433, demandChannelStreamKpiResults#1075429.kpiResults AS kpis#1075435]
(83) Project
Arguments: [product#1075423, plant#1075424, qty#1075430, demandChannel#1075431, demandStream#1075433, kpis#1075435]
(84) Project
Arguments: [product#1075423, plant#1075424, kpis#1075435, qty#1075430, demandChannel#1075431, demandStream#1075433]
(85) Project
Arguments: [product#1075423, plant#1075424, kpis#1075435, cast(qty#1075430 as double) AS qty#1075446, demandChannel#1075431, demandStream#1075433]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1075414, plant#1075415, transform(kpis#1075416, lambdafunction(struct(label, lambda kpi#1075451.label, dateTime, lambda kpi#1075451.datetime, value, lambda kpi#1075451.value), lambda kpi#1075451, false)) AS kpis#1075450, qty#1075441, demandChannel#1075421, demandStream#1075422]
(88) Project
Arguments: [product#1075414, plant#1075415, qty#1075441, demandChannel#1075421, demandStream#1075422, kpis#1075450]
(89) LogicalRDD
Arguments: [shardId#1076259, worklistShardItemId#1076260L, version#1076261, product#1076262, plant#1076263, periodStart#1076264, periodEnd#1076265, qty#1076266], false
(90) RepartitionByExpression
Arguments: [product#1076262, plant#1076263], 37
(91) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, version#1076261, product#1076262, plant#1076263, qty#1076266]
(92) LogicalRDD
Arguments: [shardId#1076267, worklistShardItemId#1076268L, version#1076269, product#1076270, plant#1076271, periodStart#1076272, periodEnd#1076273, qty#1076274], false
(93) RepartitionByExpression
Arguments: [product#1076270, plant#1076271], 37
(94) Project
Arguments: [shardId#1076267, worklistShardItemId#1076268L, version#1076269, product#1076270, plant#1076271, qty#1076274]
(95) LogicalRDD
Arguments: [shardId#1076275, worklistShardItemId#1076276L, qty#1076277, demandChannel#1076278, demandStream#1076279, kpis#1076280], false
(96) Project
Arguments: [shardId#1076275 AS cachedShardId#1076281, worklistShardItemId#1076276L AS cachedWorklistShardItemId#1076282L, qty#1076277 AS cachedQty#1076283, demandChannel#1076278, demandStream#1076279, kpis#1076280 AS cachedKpis#1076284]
(97) Join
Arguments: Inner, (((worklistShardItemId#1076268L = cachedWorklistShardItemId#1076282L) AND (shardId#1076267 = cachedShardId#1076281)) AND ((qty#1076274 = cachedQty#1076283) OR isnull(qty#1076274)))
(98) Project
Arguments: [shardId#1076267, worklistShardItemId#1076268L, version#1076269, product#1076270, plant#1076271]
(99) Deduplicate
Arguments: [plant#1076271, shardId#1076267, version#1076269, worklistShardItemId#1076268L, product#1076270]
(100) LogicalRDD
Arguments: [shardId#1076285, worklistShardItemId#1076286L, qty#1076287, demandChannel#1076288, demandStream#1076289, kpis#1076290], false
(101) Project
Arguments: [shardId#1076285 AS cachedShardId#1076291, worklistShardItemId#1076286L AS cachedWorklistShardItemId#1076292L, qty#1076287 AS cachedQty#1076293, demandChannel#1076288, demandStream#1076289, kpis#1076290 AS cachedKpis#1076294]
(102) Join
Arguments: Inner, ((worklistShardItemId#1076268L = cachedWorklistShardItemId#1076292L) AND (shardId#1076267 = cachedShardId#1076291))
(103) Project
Arguments: [shardId#1076267, worklistShardItemId#1076268L, version#1076269, product#1076270, plant#1076271, cachedQty#1076293 AS qty#1076295, demandChannel#1076288, demandStream#1076289, cachedKpis#1076294 AS kpis#1076296]
(104) Project
Arguments: [shardId#1076267, worklistShardItemId#1076268L, version#1076269, product#1076270, plant#1076271, qty#1076295]
(105) LogicalRDD
Arguments: [shardId#1076297, worklistShardItemId#1076298L, version#1076299, product#1076300, plant#1076301, periodStart#1076302, periodEnd#1076303, qty#1076304], false
(106) RepartitionByExpression
Arguments: [product#1076300, plant#1076301], 37
(107) Project
Arguments: [shardId#1076297, worklistShardItemId#1076298L, version#1076299, product#1076300, plant#1076301, qty#1076304]
(108) LogicalRDD
Arguments: [shardId#1076305, worklistShardItemId#1076306L, qty#1076307, demandChannel#1076308, demandStream#1076309, kpis#1076310], false
(109) Project
Arguments: [shardId#1076305 AS cachedShardId#1076311, worklistShardItemId#1076306L AS cachedWorklistShardItemId#1076312L, qty#1076307 AS cachedQty#1076313, demandChannel#1076308, demandStream#1076309, kpis#1076310 AS cachedKpis#1076314]
(110) Join
Arguments: Inner, (((worklistShardItemId#1076298L = cachedWorklistShardItemId#1076312L) AND (shardId#1076297 = cachedShardId#1076311)) AND isnull(qty#1076304))
(111) Project
Arguments: [shardId#1076297, worklistShardItemId#1076298L, version#1076299, product#1076300, plant#1076301, qty#1076304]
(112) Project
Arguments: [shardId#1076297, worklistShardItemId#1076298L, version#1076299, product#1076300, plant#1076301, qty#1076304]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1076259 <=> shardId#1076267) AND (worklistShardItemId#1076260L <=> worklistShardItemId#1076268L)) AND (version#1076261 <=> version#1076269)) AND (product#1076262 <=> product#1076270)) AND (plant#1076263 <=> plant#1076271)) AND (qty#1076266 <=> qty#1076295))
(115) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, version#1076261, product#1076262, plant#1076263, qty#1076266]
(116) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, version#1076261, product#1076262, plant#1076263, qty#1076266, cast(null as string) AS demandChannel#1076315]
(117) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, version#1076261, product#1076262, plant#1076263, qty#1076266, demandChannel#1076315, cast(null as string) AS demandStream#1076316]
(118) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, version#1076261, product#1076262, plant#1076263, qty#1076266, demandChannel#1076315, demandStream#1076316, array() AS kpis#1076317]
(119) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, version#1076261, product#1076262, plant#1076263, qty#1076266, demandChannel#1076315, demandStream#1076316, kpis#1076317, true AS isNewlyCalculated#1076318]
(120) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, version#1076261, product#1076262, plant#1076263, qty#1076266, demandChannel#1076315, demandStream#1076316, cast(kpis#1076317 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1076319, isNewlyCalculated#1076318]
(121) LogicalRDD
Arguments: [shardId#1076320, worklistShardItemId#1076321L, version#1076322, product#1076323, plant#1076324, periodStart#1076325, periodEnd#1076326, qty#1076327], false
(122) RepartitionByExpression
Arguments: [product#1076323, plant#1076324], 37
(123) Project
Arguments: [shardId#1076320, worklistShardItemId#1076321L, version#1076322, product#1076323, plant#1076324, qty#1076327]
(124) LogicalRDD
Arguments: [shardId#1076328, worklistShardItemId#1076329L, qty#1076330, demandChannel#1076331, demandStream#1076332, kpis#1076333], false
(125) Project
Arguments: [shardId#1076328 AS cachedShardId#1076334, worklistShardItemId#1076329L AS cachedWorklistShardItemId#1076335L, qty#1076330 AS cachedQty#1076336, demandChannel#1076331, demandStream#1076332, kpis#1076333 AS cachedKpis#1076337]
(126) Join
Arguments: Inner, (((worklistShardItemId#1076321L = cachedWorklistShardItemId#1076335L) AND (shardId#1076320 = cachedShardId#1076334)) AND ((qty#1076327 = cachedQty#1076336) OR isnull(qty#1076327)))
(127) Project
Arguments: [shardId#1076320, worklistShardItemId#1076321L, version#1076322, product#1076323, plant#1076324]
(128) Deduplicate
Arguments: [plant#1076324, shardId#1076320, version#1076322, worklistShardItemId#1076321L, product#1076323]
(129) LogicalRDD
Arguments: [shardId#1076338, worklistShardItemId#1076339L, qty#1076340, demandChannel#1076341, demandStream#1076342, kpis#1076343], false
(130) Project
Arguments: [shardId#1076338 AS cachedShardId#1076344, worklistShardItemId#1076339L AS cachedWorklistShardItemId#1076345L, qty#1076340 AS cachedQty#1076346, demandChannel#1076341, demandStream#1076342, kpis#1076343 AS cachedKpis#1076347]
(131) Join
Arguments: Inner, ((worklistShardItemId#1076321L = cachedWorklistShardItemId#1076345L) AND (shardId#1076320 = cachedShardId#1076344))
(132) Project
Arguments: [shardId#1076320, worklistShardItemId#1076321L, version#1076322, product#1076323, plant#1076324, cachedQty#1076346 AS qty#1076348, demandChannel#1076341, demandStream#1076342, cachedKpis#1076347 AS kpis#1076349]
(133) Project
Arguments: [shardId#1076320, worklistShardItemId#1076321L, version#1076322, product#1076323, plant#1076324, qty#1076348, demandChannel#1076341, demandStream#1076342, kpis#1076349, false AS isNewlyCalculated#1076350]
(134) Project
Arguments: [shardId#1076320, worklistShardItemId#1076321L, version#1076322, product#1076323, plant#1076324, qty#1076348, demandChannel#1076341, demandStream#1076342, kpis#1076349, isNewlyCalculated#1076350]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1076318 <=> true)
(137) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, product#1076262, plant#1076263, qty#1076266, kpis#1076319]
(138) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, product#1076262, plant#1076263, qty#1076266]
(139) Deduplicate
Arguments: [plant#1076263, shardId#1076259, qty#1076266, worklistShardItemId#1076260L, product#1076262]
(140) Join
Arguments: Inner, ((product#1075414 <=> product#1076262) AND ((plant#1075415 <=> plant#1076263) AND ((qty#1075441 <=> qty#1076266) OR isnull(qty#1076266))))
(141) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, qty#1075441, demandChannel#1075421, demandStream#1075422, kpis#1075450]
(142) Deduplicate
Arguments: [demandChannel#1075421, shardId#1076259, qty#1075441, worklistShardItemId#1076260L, demandStream#1075422]
(143) Project
Arguments: [shardId#1076259, worklistShardItemId#1076260L, qty#1075441, demandChannel#1075421, demandStream#1075422, kpis#1075450]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353, product#1076354, plant#1076355, periodStart#1076356, periodEnd#1076357, qty#1076358], false
(146) RepartitionByExpression
Arguments: [product#1076354, plant#1076355], 37
(147) Project
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353, product#1076354, plant#1076355, qty#1076358]
(148) LogicalRDD
Arguments: [shardId#1076359, worklistShardItemId#1076360L, version#1076361, product#1076362, plant#1076363, periodStart#1076364, periodEnd#1076365, qty#1076366], false
(149) RepartitionByExpression
Arguments: [product#1076362, plant#1076363], 37
(150) Project
Arguments: [shardId#1076359, worklistShardItemId#1076360L, version#1076361, product#1076362, plant#1076363, qty#1076366]
(151) LogicalRDD
Arguments: [shardId#1076367, worklistShardItemId#1076368L, qty#1076369, demandChannel#1076370, demandStream#1076371, kpis#1076372], false
(152) Project
Arguments: [shardId#1076367 AS cachedShardId#1076373, worklistShardItemId#1076368L AS cachedWorklistShardItemId#1076374L, qty#1076369 AS cachedQty#1076375, demandChannel#1076370, demandStream#1076371, kpis#1076372 AS cachedKpis#1076376]
(153) Join
Arguments: Inner, (((worklistShardItemId#1076360L = cachedWorklistShardItemId#1076374L) AND (shardId#1076359 = cachedShardId#1076373)) AND ((qty#1076366 = cachedQty#1076375) OR isnull(qty#1076366)))
(154) Project
Arguments: [shardId#1076359, worklistShardItemId#1076360L, version#1076361, product#1076362, plant#1076363]
(155) Deduplicate
Arguments: [plant#1076363, shardId#1076359, version#1076361, worklistShardItemId#1076360L, product#1076362]
(156) LogicalRDD
Arguments: [shardId#1076377, worklistShardItemId#1076378L, qty#1076379, demandChannel#1076380, demandStream#1076381, kpis#1076382], false
(157) Project
Arguments: [shardId#1076377 AS cachedShardId#1076383, worklistShardItemId#1076378L AS cachedWorklistShardItemId#1076384L, qty#1076379 AS cachedQty#1076385, demandChannel#1076380, demandStream#1076381, kpis#1076382 AS cachedKpis#1076386]
(158) Join
Arguments: Inner, ((worklistShardItemId#1076360L = cachedWorklistShardItemId#1076384L) AND (shardId#1076359 = cachedShardId#1076383))
(159) Project
Arguments: [shardId#1076359, worklistShardItemId#1076360L, version#1076361, product#1076362, plant#1076363, cachedQty#1076385 AS qty#1076387, demandChannel#1076380, demandStream#1076381, cachedKpis#1076386 AS kpis#1076388]
(160) Project
Arguments: [shardId#1076359, worklistShardItemId#1076360L, version#1076361, product#1076362, plant#1076363, qty#1076387]
(161) LogicalRDD
Arguments: [shardId#1076389, worklistShardItemId#1076390L, version#1076391, product#1076392, plant#1076393, periodStart#1076394, periodEnd#1076395, qty#1076396], false
(162) RepartitionByExpression
Arguments: [product#1076392, plant#1076393], 37
(163) Project
Arguments: [shardId#1076389, worklistShardItemId#1076390L, version#1076391, product#1076392, plant#1076393, qty#1076396]
(164) LogicalRDD
Arguments: [shardId#1076397, worklistShardItemId#1076398L, qty#1076399, demandChannel#1076400, demandStream#1076401, kpis#1076402], false
(165) Project
Arguments: [shardId#1076397 AS cachedShardId#1076403, worklistShardItemId#1076398L AS cachedWorklistShardItemId#1076404L, qty#1076399 AS cachedQty#1076405, demandChannel#1076400, demandStream#1076401, kpis#1076402 AS cachedKpis#1076406]
(166) Join
Arguments: Inner, (((worklistShardItemId#1076390L = cachedWorklistShardItemId#1076404L) AND (shardId#1076389 = cachedShardId#1076403)) AND isnull(qty#1076396))
(167) Project
Arguments: [shardId#1076389, worklistShardItemId#1076390L, version#1076391, product#1076392, plant#1076393, qty#1076396]
(168) Project
Arguments: [shardId#1076389, worklistShardItemId#1076390L, version#1076391, product#1076392, plant#1076393, qty#1076396]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1076351 <=> shardId#1076359) AND (worklistShardItemId#1076352L <=> worklistShardItemId#1076360L)) AND (version#1076353 <=> version#1076361)) AND (product#1076354 <=> product#1076362)) AND (plant#1076355 <=> plant#1076363)) AND (qty#1076358 <=> qty#1076387))
(171) Project
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353, product#1076354, plant#1076355, qty#1076358]
(172) Project
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353, product#1076354, plant#1076355, qty#1076358, cast(null as string) AS demandChannel#1076407]
(173) Project
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353, product#1076354, plant#1076355, qty#1076358, demandChannel#1076407, cast(null as string) AS demandStream#1076408]
(174) Project
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353, product#1076354, plant#1076355, qty#1076358, demandChannel#1076407, demandStream#1076408, array() AS kpis#1076409]
(175) Project
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353, product#1076354, plant#1076355, qty#1076358, demandChannel#1076407, demandStream#1076408, kpis#1076409, true AS isNewlyCalculated#1076410]
(176) Project
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353, product#1076354, plant#1076355, qty#1076358, demandChannel#1076407, demandStream#1076408, cast(kpis#1076409 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1076411, isNewlyCalculated#1076410]
(177) LogicalRDD
Arguments: [shardId#1076412, worklistShardItemId#1076413L, version#1076414, product#1076415, plant#1076416, periodStart#1076417, periodEnd#1076418, qty#1076419], false
(178) RepartitionByExpression
Arguments: [product#1076415, plant#1076416], 37
(179) Project
Arguments: [shardId#1076412, worklistShardItemId#1076413L, version#1076414, product#1076415, plant#1076416, qty#1076419]
(180) LogicalRDD
Arguments: [shardId#1076420, worklistShardItemId#1076421L, qty#1076422, demandChannel#1076423, demandStream#1076424, kpis#1076425], false
(181) Project
Arguments: [shardId#1076420 AS cachedShardId#1076426, worklistShardItemId#1076421L AS cachedWorklistShardItemId#1076427L, qty#1076422 AS cachedQty#1076428, demandChannel#1076423, demandStream#1076424, kpis#1076425 AS cachedKpis#1076429]
(182) Join
Arguments: Inner, (((worklistShardItemId#1076413L = cachedWorklistShardItemId#1076427L) AND (shardId#1076412 = cachedShardId#1076426)) AND ((qty#1076419 = cachedQty#1076428) OR isnull(qty#1076419)))
(183) Project
Arguments: [shardId#1076412, worklistShardItemId#1076413L, version#1076414, product#1076415, plant#1076416]
(184) Deduplicate
Arguments: [plant#1076416, shardId#1076412, version#1076414, worklistShardItemId#1076413L, product#1076415]
(185) LogicalRDD
Arguments: [shardId#1076430, worklistShardItemId#1076431L, qty#1076432, demandChannel#1076433, demandStream#1076434, kpis#1076435], false
(186) Project
Arguments: [shardId#1076430 AS cachedShardId#1076436, worklistShardItemId#1076431L AS cachedWorklistShardItemId#1076437L, qty#1076432 AS cachedQty#1076438, demandChannel#1076433, demandStream#1076434, kpis#1076435 AS cachedKpis#1076439]
(187) Join
Arguments: Inner, ((worklistShardItemId#1076413L = cachedWorklistShardItemId#1076437L) AND (shardId#1076412 = cachedShardId#1076436))
(188) Project
Arguments: [shardId#1076412, worklistShardItemId#1076413L, version#1076414, product#1076415, plant#1076416, cachedQty#1076438 AS qty#1076440, demandChannel#1076433, demandStream#1076434, cachedKpis#1076439 AS kpis#1076441]
(189) Project
Arguments: [shardId#1076412, worklistShardItemId#1076413L, version#1076414, product#1076415, plant#1076416, qty#1076440, demandChannel#1076433, demandStream#1076434, kpis#1076441, false AS isNewlyCalculated#1076442]
(190) Project
Arguments: [shardId#1076412, worklistShardItemId#1076413L, version#1076414, product#1076415, plant#1076416, qty#1076440, demandChannel#1076433, demandStream#1076434, kpis#1076441, isNewlyCalculated#1076442]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1076351, worklistShardItemId#1076352L, version#1076353]
(193) Aggregate
Arguments: [shardId#1076351, worklistShardItemId#1076352L], [shardId#1076351, worklistShardItemId#1076352L, (max(version#1076353) + 1) AS version#1076254]
(194) Join
Arguments: Inner, ((shardId#1011815 = shardId#1076351) AND (worklistShardItemId#1011816L = worklistShardItemId#1076352L))
(195) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, qty#1011822, demandChannel#1072885, demandStream#1072886, kpis#1072920, version#1076254]
(196) Project
Arguments: [shardId#1011815, worklistShardItemId#1011816L, version#1076254, qty#1011822, demandChannel#1072885, demandStream#1072886, kpis#1072920]