== 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@4e8a2669, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000347/stream-10000000347-1], Append
(3) LogicalRDD
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, periodStart#815745, periodEnd#815746, qty#815747], false
(4) RepartitionByExpression
Arguments: [product#815743, plant#815744], 37
(5) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(6) LogicalRDD
Arguments: [shardId#882991, worklistShardItemId#882992L, version#882993, product#882994, plant#882995, periodStart#882996, periodEnd#882997, qty#882998], false
(7) RepartitionByExpression
Arguments: [product#882994, plant#882995], 37
(8) Project
Arguments: [shardId#882991, worklistShardItemId#882992L, version#882993, product#882994, plant#882995, qty#882998]
(9) LogicalRDD
Arguments: [shardId#882746, worklistShardItemId#882747L, qty#882748, demandChannel#882749, demandStream#882750, kpis#882751], false
(10) Project
Arguments: [shardId#882746 AS cachedShardId#882752, worklistShardItemId#882747L AS cachedWorklistShardItemId#882753L, qty#882748 AS cachedQty#882754, demandChannel#882749, demandStream#882750, kpis#882751 AS cachedKpis#882755]
(11) Join
Arguments: Inner, (((worklistShardItemId#882992L = cachedWorklistShardItemId#882753L) AND (shardId#882991 = cachedShardId#882752)) AND ((qty#882998 = cachedQty#882754) OR isnull(qty#882998)))
(12) Project
Arguments: [shardId#882991, worklistShardItemId#882992L, version#882993, product#882994, plant#882995]
(13) Deduplicate
Arguments: [plant#882995, shardId#882991, version#882993, worklistShardItemId#882992L, product#882994]
(14) LogicalRDD
Arguments: [shardId#882756, worklistShardItemId#882757L, qty#882758, demandChannel#882759, demandStream#882760, kpis#882761], false
(15) Project
Arguments: [shardId#882756 AS cachedShardId#882762, worklistShardItemId#882757L AS cachedWorklistShardItemId#882763L, qty#882758 AS cachedQty#882764, demandChannel#882759, demandStream#882760, kpis#882761 AS cachedKpis#882765]
(16) Join
Arguments: Inner, ((worklistShardItemId#882992L = cachedWorklistShardItemId#882763L) AND (shardId#882991 = cachedShardId#882762))
(17) Project
Arguments: [shardId#882991, worklistShardItemId#882992L, version#882993, product#882994, plant#882995, cachedQty#882764 AS qty#882766, demandChannel#882759, demandStream#882760, cachedKpis#882765 AS kpis#882767]
(18) Project
Arguments: [shardId#882991, worklistShardItemId#882992L, version#882993, product#882994, plant#882995, qty#882766]
(19) LogicalRDD
Arguments: [shardId#882973, worklistShardItemId#882974L, version#882975, product#882976, plant#882977, periodStart#882978, periodEnd#882979, qty#882980], false
(20) RepartitionByExpression
Arguments: [product#882976, plant#882977], 37
(21) Project
Arguments: [shardId#882973, worklistShardItemId#882974L, version#882975, product#882976, plant#882977, qty#882980]
(22) LogicalRDD
Arguments: [shardId#882981, worklistShardItemId#882982L, qty#882983, demandChannel#882984, demandStream#882985, kpis#882986], false
(23) Project
Arguments: [shardId#882981 AS cachedShardId#882987, worklistShardItemId#882982L AS cachedWorklistShardItemId#882988L, qty#882983 AS cachedQty#882989, demandChannel#882984, demandStream#882985, kpis#882986 AS cachedKpis#882990]
(24) Join
Arguments: Inner, (((worklistShardItemId#882974L = cachedWorklistShardItemId#882988L) AND (shardId#882973 = cachedShardId#882987)) AND isnull(qty#882980))
(25) Project
Arguments: [shardId#882973, worklistShardItemId#882974L, version#882975, product#882976, plant#882977, qty#882980]
(26) Project
Arguments: [shardId#882973, worklistShardItemId#882974L, version#882975, product#882976, plant#882977, qty#882980]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#882991) AND (worklistShardItemId#815741L <=> worklistShardItemId#882992L)) AND (version#815742 <=> version#882993)) AND (product#815743 <=> product#882994)) AND (plant#815744 <=> plant#882995)) AND (qty#815747 <=> qty#882766))
(29) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(30) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, cast(null as string) AS demandChannel#882999]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#882999, cast(null as string) AS demandStream#883000]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#882999, demandStream#883000, array() AS kpis#883001]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#882999, demandStream#883000, kpis#883001, true AS isNewlyCalculated#883002]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#882999, demandStream#883000, cast(kpis#883001 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#883034, isNewlyCalculated#883002]
(35) LogicalRDD
Arguments: [shardId#883004, worklistShardItemId#883005L, version#883006, product#883007, plant#883008, periodStart#883009, periodEnd#883010, qty#883011], false
(36) RepartitionByExpression
Arguments: [product#883007, plant#883008], 37
(37) Project
Arguments: [shardId#883004, worklistShardItemId#883005L, version#883006, product#883007, plant#883008, qty#883011]
(38) LogicalRDD
Arguments: [shardId#883012, worklistShardItemId#883013L, qty#883014, demandChannel#883015, demandStream#883016, kpis#883017], false
(39) Project
Arguments: [shardId#883012 AS cachedShardId#883018, worklistShardItemId#883013L AS cachedWorklistShardItemId#883019L, qty#883014 AS cachedQty#883020, demandChannel#883015, demandStream#883016, kpis#883017 AS cachedKpis#883021]
(40) Join
Arguments: Inner, (((worklistShardItemId#883005L = cachedWorklistShardItemId#883019L) AND (shardId#883004 = cachedShardId#883018)) AND ((qty#883011 = cachedQty#883020) OR isnull(qty#883011)))
(41) Project
Arguments: [shardId#883004, worklistShardItemId#883005L, version#883006, product#883007, plant#883008]
(42) Deduplicate
Arguments: [plant#883008, shardId#883004, version#883006, worklistShardItemId#883005L, product#883007]
(43) LogicalRDD
Arguments: [shardId#883022, worklistShardItemId#883023L, qty#883024, demandChannel#883025, demandStream#883026, kpis#883027], false
(44) Project
Arguments: [shardId#883022 AS cachedShardId#883028, worklistShardItemId#883023L AS cachedWorklistShardItemId#883029L, qty#883024 AS cachedQty#883030, demandChannel#883025, demandStream#883026, kpis#883027 AS cachedKpis#883031]
(45) Join
Arguments: Inner, ((worklistShardItemId#883005L = cachedWorklistShardItemId#883029L) AND (shardId#883004 = cachedShardId#883028))
(46) Project
Arguments: [shardId#883004, worklistShardItemId#883005L, version#883006, product#883007, plant#883008, cachedQty#883030 AS qty#883032, demandChannel#883025, demandStream#883026, cachedKpis#883031 AS kpis#883033]
(47) Project
Arguments: [shardId#883004, worklistShardItemId#883005L, version#883006, product#883007, plant#883008, qty#883032, demandChannel#883025, demandStream#883026, kpis#883033, false AS isNewlyCalculated#883003]
(48) Project
Arguments: [shardId#883004, worklistShardItemId#883005L, version#883006, product#883007, plant#883008, qty#883032, demandChannel#883025, demandStream#883026, kpis#883033, isNewlyCalculated#883003]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#883002 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#882999, demandStream#883000, kpis#883034]
(52) ExternalRDD
Arguments: [obj#885498]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69713), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69713), 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, 69713), 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, 69713), 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, 69713), 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, 69713), 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#885501, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69714), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69714), 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, 69715), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69715), 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, 69715), 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, 69715), 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, 69716), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69716), 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, 69716), 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, 69716), 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, 69716), 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, 69715), 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, 69714), 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, 69717), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69717), 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, 69717), 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, 69717), 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, 69717), 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, 69714), 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, 69714), 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, 69714), 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, 69718), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69718), 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, 69719), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69719), 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, 69719), 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, 69719), 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, 69719), 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, 69718), 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, 69718), 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, 69714), 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#885502]
(54) Generate
Arguments: explode(prodPlantResults#885502), false, [prodPlantResults#885509]
(55) Project
Arguments: [prodPlantResults#885509]
(56) Project
Arguments: [prodPlantResults#885509.productId AS product#885528, prodPlantResults#885509.plantId AS plant#885529, prodPlantResults#885509.kpiResults AS kpis#885530]
(57) Project
Arguments: [product#885528, plant#885529, kpis#885530, null AS qty#885534]
(58) Project
Arguments: [product#885528, plant#885529, kpis#885530, qty#885534, cast(null as string) AS demandChannel#885535]
(59) Project
Arguments: [product#885528, plant#885529, kpis#885530, qty#885534, demandChannel#885535, cast(null as string) AS demandStream#885536]
(60) Project
Arguments: [product#885528, plant#885529, kpis#885530, cast(qty#885534 as double) AS qty#885555, demandChannel#885535, demandStream#885536]
(61) ExternalRDD
Arguments: [obj#885551]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69713), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69713), 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, 69713), 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, 69713), 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, 69713), 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, 69713), 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#885552, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69714), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69714), 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, 69715), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69715), 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, 69715), 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, 69715), 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, 69716), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69716), 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, 69716), 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, 69716), 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, 69716), 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, 69715), 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, 69714), 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, 69717), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69717), 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, 69717), 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, 69717), 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, 69717), 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, 69714), 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, 69714), 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, 69714), 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, 69718), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69718), 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, 69719), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69719), 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, 69719), 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, 69719), 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, 69719), 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, 69718), 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, 69718), 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, 69714), 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#885553]
(63) Generate
Arguments: explode(prodPlantResults#885553), false, [prodPlantResults#885554]
(64) Project
Arguments: [prodPlantResults#885554]
(65) Generate
Arguments: explode(prodPlantResults#885554.quantityKpiResults), false, [quantityKpiResults#885521]
(66) Project
Arguments: [prodPlantResults#885554.productId AS product#885515, prodPlantResults#885554.plantId AS plant#885516, quantityKpiResults#885521]
(67) Project
Arguments: [product#885515, plant#885516, quantityKpiResults#885521, quantityKpiResults#885521.quantity AS qty#885522]
(68) Project
Arguments: [product#885515, plant#885516, quantityKpiResults#885521, qty#885522, cast(null as string) AS demandChannel#885524]
(69) Project
Arguments: [product#885515, plant#885516, quantityKpiResults#885521, qty#885522, demandChannel#885524, cast(null as string) AS demandStream#885525]
(70) Project
Arguments: [product#885515, plant#885516, quantityKpiResults#885521, qty#885522, demandChannel#885524, demandStream#885525, quantityKpiResults#885521.kpiResults AS kpis#885526]
(71) Project
Arguments: [product#885515, plant#885516, qty#885522, demandChannel#885524, demandStream#885525, kpis#885526]
(72) Project
Arguments: [product#885515, plant#885516, kpis#885526, qty#885522, demandChannel#885524, demandStream#885525]
(73) ExternalRDD
Arguments: [obj#885556]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69713), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69713), 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, 69713), 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, 69713), 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, 69713), 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, 69713), 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#885557, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69714), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69714), 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, 69715), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69715), 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, 69715), 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, 69715), 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, 69716), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69716), 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, 69716), 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, 69716), 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, 69716), 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, 69715), 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, 69714), 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, 69717), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69717), 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, 69717), 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, 69717), 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, 69717), 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, 69714), 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, 69714), 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, 69714), 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, 69718), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69718), 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, 69719), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69719), 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, 69719), 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, 69719), 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, 69719), 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, 69718), 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, 69718), 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, 69714), 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#885558]
(75) Generate
Arguments: explode(prodPlantResults#885558), false, [prodPlantResults#885559]
(76) Project
Arguments: [prodPlantResults#885559]
(77) Generate
Arguments: explode(prodPlantResults#885559.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#885543]
(78) Project
Arguments: [prodPlantResults#885559.productId AS product#885537, prodPlantResults#885559.plantId AS plant#885538, demandChannelStreamKpiResults#885543]
(79) Project
Arguments: [product#885537, plant#885538, demandChannelStreamKpiResults#885543, null AS qty#885544]
(80) Project
Arguments: [product#885537, plant#885538, demandChannelStreamKpiResults#885543, qty#885544, demandChannelStreamKpiResults#885543.demandChannel AS demandChannel#885545]
(81) Project
Arguments: [product#885537, plant#885538, demandChannelStreamKpiResults#885543, qty#885544, demandChannel#885545, demandChannelStreamKpiResults#885543.demandStream AS demandStream#885547]
(82) Project
Arguments: [product#885537, plant#885538, demandChannelStreamKpiResults#885543, qty#885544, demandChannel#885545, demandStream#885547, demandChannelStreamKpiResults#885543.kpiResults AS kpis#885549]
(83) Project
Arguments: [product#885537, plant#885538, qty#885544, demandChannel#885545, demandStream#885547, kpis#885549]
(84) Project
Arguments: [product#885537, plant#885538, kpis#885549, qty#885544, demandChannel#885545, demandStream#885547]
(85) Project
Arguments: [product#885537, plant#885538, kpis#885549, cast(qty#885544 as double) AS qty#885560, demandChannel#885545, demandStream#885547]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#885528, plant#885529, transform(kpis#885530, lambdafunction(struct(label, lambda kpi#885565.label, dateTime, lambda kpi#885565.datetime, value, lambda kpi#885565.value), lambda kpi#885565, false)) AS kpis#885564, qty#885555, demandChannel#885535, demandStream#885536]
(88) Project
Arguments: [product#885528, plant#885529, qty#885555, demandChannel#885535, demandStream#885536, kpis#885564]
(89) LogicalRDD
Arguments: [shardId#886373, worklistShardItemId#886374L, version#886375, product#886376, plant#886377, periodStart#886378, periodEnd#886379, qty#886380], false
(90) RepartitionByExpression
Arguments: [product#886376, plant#886377], 37
(91) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, version#886375, product#886376, plant#886377, qty#886380]
(92) LogicalRDD
Arguments: [shardId#886381, worklistShardItemId#886382L, version#886383, product#886384, plant#886385, periodStart#886386, periodEnd#886387, qty#886388], false
(93) RepartitionByExpression
Arguments: [product#886384, plant#886385], 37
(94) Project
Arguments: [shardId#886381, worklistShardItemId#886382L, version#886383, product#886384, plant#886385, qty#886388]
(95) LogicalRDD
Arguments: [shardId#886389, worklistShardItemId#886390L, qty#886391, demandChannel#886392, demandStream#886393, kpis#886394], false
(96) Project
Arguments: [shardId#886389 AS cachedShardId#886395, worklistShardItemId#886390L AS cachedWorklistShardItemId#886396L, qty#886391 AS cachedQty#886397, demandChannel#886392, demandStream#886393, kpis#886394 AS cachedKpis#886398]
(97) Join
Arguments: Inner, (((worklistShardItemId#886382L = cachedWorklistShardItemId#886396L) AND (shardId#886381 = cachedShardId#886395)) AND ((qty#886388 = cachedQty#886397) OR isnull(qty#886388)))
(98) Project
Arguments: [shardId#886381, worklistShardItemId#886382L, version#886383, product#886384, plant#886385]
(99) Deduplicate
Arguments: [plant#886385, shardId#886381, version#886383, worklistShardItemId#886382L, product#886384]
(100) LogicalRDD
Arguments: [shardId#886399, worklistShardItemId#886400L, qty#886401, demandChannel#886402, demandStream#886403, kpis#886404], false
(101) Project
Arguments: [shardId#886399 AS cachedShardId#886405, worklistShardItemId#886400L AS cachedWorklistShardItemId#886406L, qty#886401 AS cachedQty#886407, demandChannel#886402, demandStream#886403, kpis#886404 AS cachedKpis#886408]
(102) Join
Arguments: Inner, ((worklistShardItemId#886382L = cachedWorklistShardItemId#886406L) AND (shardId#886381 = cachedShardId#886405))
(103) Project
Arguments: [shardId#886381, worklistShardItemId#886382L, version#886383, product#886384, plant#886385, cachedQty#886407 AS qty#886409, demandChannel#886402, demandStream#886403, cachedKpis#886408 AS kpis#886410]
(104) Project
Arguments: [shardId#886381, worklistShardItemId#886382L, version#886383, product#886384, plant#886385, qty#886409]
(105) LogicalRDD
Arguments: [shardId#886411, worklistShardItemId#886412L, version#886413, product#886414, plant#886415, periodStart#886416, periodEnd#886417, qty#886418], false
(106) RepartitionByExpression
Arguments: [product#886414, plant#886415], 37
(107) Project
Arguments: [shardId#886411, worklistShardItemId#886412L, version#886413, product#886414, plant#886415, qty#886418]
(108) LogicalRDD
Arguments: [shardId#886419, worklistShardItemId#886420L, qty#886421, demandChannel#886422, demandStream#886423, kpis#886424], false
(109) Project
Arguments: [shardId#886419 AS cachedShardId#886425, worklistShardItemId#886420L AS cachedWorklistShardItemId#886426L, qty#886421 AS cachedQty#886427, demandChannel#886422, demandStream#886423, kpis#886424 AS cachedKpis#886428]
(110) Join
Arguments: Inner, (((worklistShardItemId#886412L = cachedWorklistShardItemId#886426L) AND (shardId#886411 = cachedShardId#886425)) AND isnull(qty#886418))
(111) Project
Arguments: [shardId#886411, worklistShardItemId#886412L, version#886413, product#886414, plant#886415, qty#886418]
(112) Project
Arguments: [shardId#886411, worklistShardItemId#886412L, version#886413, product#886414, plant#886415, qty#886418]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#886373 <=> shardId#886381) AND (worklistShardItemId#886374L <=> worklistShardItemId#886382L)) AND (version#886375 <=> version#886383)) AND (product#886376 <=> product#886384)) AND (plant#886377 <=> plant#886385)) AND (qty#886380 <=> qty#886409))
(115) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, version#886375, product#886376, plant#886377, qty#886380]
(116) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, version#886375, product#886376, plant#886377, qty#886380, cast(null as string) AS demandChannel#886429]
(117) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, version#886375, product#886376, plant#886377, qty#886380, demandChannel#886429, cast(null as string) AS demandStream#886430]
(118) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, version#886375, product#886376, plant#886377, qty#886380, demandChannel#886429, demandStream#886430, array() AS kpis#886431]
(119) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, version#886375, product#886376, plant#886377, qty#886380, demandChannel#886429, demandStream#886430, kpis#886431, true AS isNewlyCalculated#886432]
(120) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, version#886375, product#886376, plant#886377, qty#886380, demandChannel#886429, demandStream#886430, cast(kpis#886431 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#886433, isNewlyCalculated#886432]
(121) LogicalRDD
Arguments: [shardId#886434, worklistShardItemId#886435L, version#886436, product#886437, plant#886438, periodStart#886439, periodEnd#886440, qty#886441], false
(122) RepartitionByExpression
Arguments: [product#886437, plant#886438], 37
(123) Project
Arguments: [shardId#886434, worklistShardItemId#886435L, version#886436, product#886437, plant#886438, qty#886441]
(124) LogicalRDD
Arguments: [shardId#886442, worklistShardItemId#886443L, qty#886444, demandChannel#886445, demandStream#886446, kpis#886447], false
(125) Project
Arguments: [shardId#886442 AS cachedShardId#886448, worklistShardItemId#886443L AS cachedWorklistShardItemId#886449L, qty#886444 AS cachedQty#886450, demandChannel#886445, demandStream#886446, kpis#886447 AS cachedKpis#886451]
(126) Join
Arguments: Inner, (((worklistShardItemId#886435L = cachedWorklistShardItemId#886449L) AND (shardId#886434 = cachedShardId#886448)) AND ((qty#886441 = cachedQty#886450) OR isnull(qty#886441)))
(127) Project
Arguments: [shardId#886434, worklistShardItemId#886435L, version#886436, product#886437, plant#886438]
(128) Deduplicate
Arguments: [plant#886438, shardId#886434, version#886436, worklistShardItemId#886435L, product#886437]
(129) LogicalRDD
Arguments: [shardId#886452, worklistShardItemId#886453L, qty#886454, demandChannel#886455, demandStream#886456, kpis#886457], false
(130) Project
Arguments: [shardId#886452 AS cachedShardId#886458, worklistShardItemId#886453L AS cachedWorklistShardItemId#886459L, qty#886454 AS cachedQty#886460, demandChannel#886455, demandStream#886456, kpis#886457 AS cachedKpis#886461]
(131) Join
Arguments: Inner, ((worklistShardItemId#886435L = cachedWorklistShardItemId#886459L) AND (shardId#886434 = cachedShardId#886458))
(132) Project
Arguments: [shardId#886434, worklistShardItemId#886435L, version#886436, product#886437, plant#886438, cachedQty#886460 AS qty#886462, demandChannel#886455, demandStream#886456, cachedKpis#886461 AS kpis#886463]
(133) Project
Arguments: [shardId#886434, worklistShardItemId#886435L, version#886436, product#886437, plant#886438, qty#886462, demandChannel#886455, demandStream#886456, kpis#886463, false AS isNewlyCalculated#886464]
(134) Project
Arguments: [shardId#886434, worklistShardItemId#886435L, version#886436, product#886437, plant#886438, qty#886462, demandChannel#886455, demandStream#886456, kpis#886463, isNewlyCalculated#886464]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#886432 <=> true)
(137) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, product#886376, plant#886377, qty#886380, kpis#886433]
(138) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, product#886376, plant#886377, qty#886380]
(139) Deduplicate
Arguments: [plant#886377, shardId#886373, qty#886380, worklistShardItemId#886374L, product#886376]
(140) Join
Arguments: Inner, ((product#885528 <=> product#886376) AND ((plant#885529 <=> plant#886377) AND ((qty#885555 <=> qty#886380) OR isnull(qty#886380))))
(141) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, qty#885555, demandChannel#885535, demandStream#885536, kpis#885564]
(142) Deduplicate
Arguments: [demandChannel#885535, shardId#886373, qty#885555, worklistShardItemId#886374L, demandStream#885536]
(143) Project
Arguments: [shardId#886373, worklistShardItemId#886374L, qty#885555, demandChannel#885535, demandStream#885536, kpis#885564]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467, product#886468, plant#886469, periodStart#886470, periodEnd#886471, qty#886472], false
(146) RepartitionByExpression
Arguments: [product#886468, plant#886469], 37
(147) Project
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467, product#886468, plant#886469, qty#886472]
(148) LogicalRDD
Arguments: [shardId#886473, worklistShardItemId#886474L, version#886475, product#886476, plant#886477, periodStart#886478, periodEnd#886479, qty#886480], false
(149) RepartitionByExpression
Arguments: [product#886476, plant#886477], 37
(150) Project
Arguments: [shardId#886473, worklistShardItemId#886474L, version#886475, product#886476, plant#886477, qty#886480]
(151) LogicalRDD
Arguments: [shardId#886481, worklistShardItemId#886482L, qty#886483, demandChannel#886484, demandStream#886485, kpis#886486], false
(152) Project
Arguments: [shardId#886481 AS cachedShardId#886487, worklistShardItemId#886482L AS cachedWorklistShardItemId#886488L, qty#886483 AS cachedQty#886489, demandChannel#886484, demandStream#886485, kpis#886486 AS cachedKpis#886490]
(153) Join
Arguments: Inner, (((worklistShardItemId#886474L = cachedWorklistShardItemId#886488L) AND (shardId#886473 = cachedShardId#886487)) AND ((qty#886480 = cachedQty#886489) OR isnull(qty#886480)))
(154) Project
Arguments: [shardId#886473, worklistShardItemId#886474L, version#886475, product#886476, plant#886477]
(155) Deduplicate
Arguments: [plant#886477, shardId#886473, version#886475, worklistShardItemId#886474L, product#886476]
(156) LogicalRDD
Arguments: [shardId#886491, worklistShardItemId#886492L, qty#886493, demandChannel#886494, demandStream#886495, kpis#886496], false
(157) Project
Arguments: [shardId#886491 AS cachedShardId#886497, worklistShardItemId#886492L AS cachedWorklistShardItemId#886498L, qty#886493 AS cachedQty#886499, demandChannel#886494, demandStream#886495, kpis#886496 AS cachedKpis#886500]
(158) Join
Arguments: Inner, ((worklistShardItemId#886474L = cachedWorklistShardItemId#886498L) AND (shardId#886473 = cachedShardId#886497))
(159) Project
Arguments: [shardId#886473, worklistShardItemId#886474L, version#886475, product#886476, plant#886477, cachedQty#886499 AS qty#886501, demandChannel#886494, demandStream#886495, cachedKpis#886500 AS kpis#886502]
(160) Project
Arguments: [shardId#886473, worklistShardItemId#886474L, version#886475, product#886476, plant#886477, qty#886501]
(161) LogicalRDD
Arguments: [shardId#886503, worklistShardItemId#886504L, version#886505, product#886506, plant#886507, periodStart#886508, periodEnd#886509, qty#886510], false
(162) RepartitionByExpression
Arguments: [product#886506, plant#886507], 37
(163) Project
Arguments: [shardId#886503, worklistShardItemId#886504L, version#886505, product#886506, plant#886507, qty#886510]
(164) LogicalRDD
Arguments: [shardId#886511, worklistShardItemId#886512L, qty#886513, demandChannel#886514, demandStream#886515, kpis#886516], false
(165) Project
Arguments: [shardId#886511 AS cachedShardId#886517, worklistShardItemId#886512L AS cachedWorklistShardItemId#886518L, qty#886513 AS cachedQty#886519, demandChannel#886514, demandStream#886515, kpis#886516 AS cachedKpis#886520]
(166) Join
Arguments: Inner, (((worklistShardItemId#886504L = cachedWorklistShardItemId#886518L) AND (shardId#886503 = cachedShardId#886517)) AND isnull(qty#886510))
(167) Project
Arguments: [shardId#886503, worklistShardItemId#886504L, version#886505, product#886506, plant#886507, qty#886510]
(168) Project
Arguments: [shardId#886503, worklistShardItemId#886504L, version#886505, product#886506, plant#886507, qty#886510]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#886465 <=> shardId#886473) AND (worklistShardItemId#886466L <=> worklistShardItemId#886474L)) AND (version#886467 <=> version#886475)) AND (product#886468 <=> product#886476)) AND (plant#886469 <=> plant#886477)) AND (qty#886472 <=> qty#886501))
(171) Project
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467, product#886468, plant#886469, qty#886472]
(172) Project
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467, product#886468, plant#886469, qty#886472, cast(null as string) AS demandChannel#886521]
(173) Project
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467, product#886468, plant#886469, qty#886472, demandChannel#886521, cast(null as string) AS demandStream#886522]
(174) Project
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467, product#886468, plant#886469, qty#886472, demandChannel#886521, demandStream#886522, array() AS kpis#886523]
(175) Project
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467, product#886468, plant#886469, qty#886472, demandChannel#886521, demandStream#886522, kpis#886523, true AS isNewlyCalculated#886524]
(176) Project
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467, product#886468, plant#886469, qty#886472, demandChannel#886521, demandStream#886522, cast(kpis#886523 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#886525, isNewlyCalculated#886524]
(177) LogicalRDD
Arguments: [shardId#886526, worklistShardItemId#886527L, version#886528, product#886529, plant#886530, periodStart#886531, periodEnd#886532, qty#886533], false
(178) RepartitionByExpression
Arguments: [product#886529, plant#886530], 37
(179) Project
Arguments: [shardId#886526, worklistShardItemId#886527L, version#886528, product#886529, plant#886530, qty#886533]
(180) LogicalRDD
Arguments: [shardId#886534, worklistShardItemId#886535L, qty#886536, demandChannel#886537, demandStream#886538, kpis#886539], false
(181) Project
Arguments: [shardId#886534 AS cachedShardId#886540, worklistShardItemId#886535L AS cachedWorklistShardItemId#886541L, qty#886536 AS cachedQty#886542, demandChannel#886537, demandStream#886538, kpis#886539 AS cachedKpis#886543]
(182) Join
Arguments: Inner, (((worklistShardItemId#886527L = cachedWorklistShardItemId#886541L) AND (shardId#886526 = cachedShardId#886540)) AND ((qty#886533 = cachedQty#886542) OR isnull(qty#886533)))
(183) Project
Arguments: [shardId#886526, worklistShardItemId#886527L, version#886528, product#886529, plant#886530]
(184) Deduplicate
Arguments: [plant#886530, shardId#886526, version#886528, worklistShardItemId#886527L, product#886529]
(185) LogicalRDD
Arguments: [shardId#886544, worklistShardItemId#886545L, qty#886546, demandChannel#886547, demandStream#886548, kpis#886549], false
(186) Project
Arguments: [shardId#886544 AS cachedShardId#886550, worklistShardItemId#886545L AS cachedWorklistShardItemId#886551L, qty#886546 AS cachedQty#886552, demandChannel#886547, demandStream#886548, kpis#886549 AS cachedKpis#886553]
(187) Join
Arguments: Inner, ((worklistShardItemId#886527L = cachedWorklistShardItemId#886551L) AND (shardId#886526 = cachedShardId#886550))
(188) Project
Arguments: [shardId#886526, worklistShardItemId#886527L, version#886528, product#886529, plant#886530, cachedQty#886552 AS qty#886554, demandChannel#886547, demandStream#886548, cachedKpis#886553 AS kpis#886555]
(189) Project
Arguments: [shardId#886526, worklistShardItemId#886527L, version#886528, product#886529, plant#886530, qty#886554, demandChannel#886547, demandStream#886548, kpis#886555, false AS isNewlyCalculated#886556]
(190) Project
Arguments: [shardId#886526, worklistShardItemId#886527L, version#886528, product#886529, plant#886530, qty#886554, demandChannel#886547, demandStream#886548, kpis#886555, isNewlyCalculated#886556]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#886465, worklistShardItemId#886466L, version#886467]
(193) Aggregate
Arguments: [shardId#886465, worklistShardItemId#886466L], [shardId#886465, worklistShardItemId#886466L, (max(version#886467) + 1) AS version#886368]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#886465) AND (worklistShardItemId#815741L = worklistShardItemId#886466L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#882999, demandStream#883000, kpis#883034, version#886368]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#886368, qty#815747, demandChannel#882999, demandStream#883000, kpis#883034]