== 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@510e9f42, [path=hdlfs://770f0770-bd0c-456f-b83b-9649926e0857.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000678/stream-10000000678-1], Append
(3) LogicalRDD
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, periodStart#943636, periodEnd#943637, qty#943638], false
(4) RepartitionByExpression
Arguments: [product#943634, plant#943635], 37
(5) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(6) LogicalRDD
Arguments: [shardId#990092, worklistShardItemId#990093L, version#990094, product#990095, plant#990096, periodStart#990097, periodEnd#990098, qty#990099], false
(7) RepartitionByExpression
Arguments: [product#990095, plant#990096], 37
(8) Project
Arguments: [shardId#990092, worklistShardItemId#990093L, version#990094, product#990095, plant#990096, qty#990099]
(9) LogicalRDD
Arguments: [shardId#989847, worklistShardItemId#989848L, qty#989849, demandChannel#989850, demandStream#989851, kpis#989852], false
(10) Project
Arguments: [shardId#989847 AS cachedShardId#989853, worklistShardItemId#989848L AS cachedWorklistShardItemId#989854L, qty#989849 AS cachedQty#989855, demandChannel#989850, demandStream#989851, kpis#989852 AS cachedKpis#989856]
(11) Join
Arguments: Inner, (((worklistShardItemId#990093L = cachedWorklistShardItemId#989854L) AND (shardId#990092 = cachedShardId#989853)) AND ((qty#990099 = cachedQty#989855) OR isnull(qty#990099)))
(12) Project
Arguments: [shardId#990092, worklistShardItemId#990093L, version#990094, product#990095, plant#990096]
(13) Deduplicate
Arguments: [plant#990096, shardId#990092, version#990094, worklistShardItemId#990093L, product#990095]
(14) LogicalRDD
Arguments: [shardId#989857, worklistShardItemId#989858L, qty#989859, demandChannel#989860, demandStream#989861, kpis#989862], false
(15) Project
Arguments: [shardId#989857 AS cachedShardId#989863, worklistShardItemId#989858L AS cachedWorklistShardItemId#989864L, qty#989859 AS cachedQty#989865, demandChannel#989860, demandStream#989861, kpis#989862 AS cachedKpis#989866]
(16) Join
Arguments: Inner, ((worklistShardItemId#990093L = cachedWorklistShardItemId#989864L) AND (shardId#990092 = cachedShardId#989863))
(17) Project
Arguments: [shardId#990092, worklistShardItemId#990093L, version#990094, product#990095, plant#990096, cachedQty#989865 AS qty#989867, demandChannel#989860, demandStream#989861, cachedKpis#989866 AS kpis#989868]
(18) Project
Arguments: [shardId#990092, worklistShardItemId#990093L, version#990094, product#990095, plant#990096, qty#989867]
(19) LogicalRDD
Arguments: [shardId#990074, worklistShardItemId#990075L, version#990076, product#990077, plant#990078, periodStart#990079, periodEnd#990080, qty#990081], false
(20) RepartitionByExpression
Arguments: [product#990077, plant#990078], 37
(21) Project
Arguments: [shardId#990074, worklistShardItemId#990075L, version#990076, product#990077, plant#990078, qty#990081]
(22) LogicalRDD
Arguments: [shardId#990082, worklistShardItemId#990083L, qty#990084, demandChannel#990085, demandStream#990086, kpis#990087], false
(23) Project
Arguments: [shardId#990082 AS cachedShardId#990088, worklistShardItemId#990083L AS cachedWorklistShardItemId#990089L, qty#990084 AS cachedQty#990090, demandChannel#990085, demandStream#990086, kpis#990087 AS cachedKpis#990091]
(24) Join
Arguments: Inner, (((worklistShardItemId#990075L = cachedWorklistShardItemId#990089L) AND (shardId#990074 = cachedShardId#990088)) AND isnull(qty#990081))
(25) Project
Arguments: [shardId#990074, worklistShardItemId#990075L, version#990076, product#990077, plant#990078, qty#990081]
(26) Project
Arguments: [shardId#990074, worklistShardItemId#990075L, version#990076, product#990077, plant#990078, qty#990081]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#943631 <=> shardId#990092) AND (worklistShardItemId#943632L <=> worklistShardItemId#990093L)) AND (version#943633 <=> version#990094)) AND (product#943634 <=> product#990095)) AND (plant#943635 <=> plant#990096)) AND (qty#943638 <=> qty#989867))
(29) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(30) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, cast(null as string) AS demandChannel#990100]
(31) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#990100, cast(null as string) AS demandStream#990101]
(32) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#990100, demandStream#990101, array() AS kpis#990102]
(33) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#990100, demandStream#990101, kpis#990102, true AS isNewlyCalculated#990103]
(34) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#990100, demandStream#990101, cast(kpis#990102 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#990135, isNewlyCalculated#990103]
(35) LogicalRDD
Arguments: [shardId#990105, worklistShardItemId#990106L, version#990107, product#990108, plant#990109, periodStart#990110, periodEnd#990111, qty#990112], false
(36) RepartitionByExpression
Arguments: [product#990108, plant#990109], 37
(37) Project
Arguments: [shardId#990105, worklistShardItemId#990106L, version#990107, product#990108, plant#990109, qty#990112]
(38) LogicalRDD
Arguments: [shardId#990113, worklistShardItemId#990114L, qty#990115, demandChannel#990116, demandStream#990117, kpis#990118], false
(39) Project
Arguments: [shardId#990113 AS cachedShardId#990119, worklistShardItemId#990114L AS cachedWorklistShardItemId#990120L, qty#990115 AS cachedQty#990121, demandChannel#990116, demandStream#990117, kpis#990118 AS cachedKpis#990122]
(40) Join
Arguments: Inner, (((worklistShardItemId#990106L = cachedWorklistShardItemId#990120L) AND (shardId#990105 = cachedShardId#990119)) AND ((qty#990112 = cachedQty#990121) OR isnull(qty#990112)))
(41) Project
Arguments: [shardId#990105, worklistShardItemId#990106L, version#990107, product#990108, plant#990109]
(42) Deduplicate
Arguments: [plant#990109, shardId#990105, version#990107, worklistShardItemId#990106L, product#990108]
(43) LogicalRDD
Arguments: [shardId#990123, worklistShardItemId#990124L, qty#990125, demandChannel#990126, demandStream#990127, kpis#990128], false
(44) Project
Arguments: [shardId#990123 AS cachedShardId#990129, worklistShardItemId#990124L AS cachedWorklistShardItemId#990130L, qty#990125 AS cachedQty#990131, demandChannel#990126, demandStream#990127, kpis#990128 AS cachedKpis#990132]
(45) Join
Arguments: Inner, ((worklistShardItemId#990106L = cachedWorklistShardItemId#990130L) AND (shardId#990105 = cachedShardId#990129))
(46) Project
Arguments: [shardId#990105, worklistShardItemId#990106L, version#990107, product#990108, plant#990109, cachedQty#990131 AS qty#990133, demandChannel#990126, demandStream#990127, cachedKpis#990132 AS kpis#990134]
(47) Project
Arguments: [shardId#990105, worklistShardItemId#990106L, version#990107, product#990108, plant#990109, qty#990133, demandChannel#990126, demandStream#990127, kpis#990134, false AS isNewlyCalculated#990104]
(48) Project
Arguments: [shardId#990105, worklistShardItemId#990106L, version#990107, product#990108, plant#990109, qty#990133, demandChannel#990126, demandStream#990127, kpis#990134, isNewlyCalculated#990104]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#990103 <=> false)
(51) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#990100, demandStream#990101, kpis#990135]
(52) ExternalRDD
Arguments: [obj#992599]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78676), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78676), 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, 78676), 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, 78676), 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, 78676), 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, 78676), 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#992602, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78677), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78677), 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, 78678), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78678), 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, 78678), 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, 78678), 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, 78679), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78679), 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, 78679), 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, 78679), 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, 78679), 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, 78678), 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, 78677), 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, 78680), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78680), 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, 78680), 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, 78680), 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, 78680), 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, 78677), 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, 78677), 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, 78677), 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, 78681), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78681), 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, 78682), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78682), 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, 78682), 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, 78682), 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, 78682), 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, 78681), 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, 78681), 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, 78677), 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#992603]
(54) Generate
Arguments: explode(prodPlantResults#992603), false, [prodPlantResults#992610]
(55) Project
Arguments: [prodPlantResults#992610]
(56) Project
Arguments: [prodPlantResults#992610.productId AS product#992629, prodPlantResults#992610.plantId AS plant#992630, prodPlantResults#992610.kpiResults AS kpis#992631]
(57) Project
Arguments: [product#992629, plant#992630, kpis#992631, null AS qty#992635]
(58) Project
Arguments: [product#992629, plant#992630, kpis#992631, qty#992635, cast(null as string) AS demandChannel#992636]
(59) Project
Arguments: [product#992629, plant#992630, kpis#992631, qty#992635, demandChannel#992636, cast(null as string) AS demandStream#992637]
(60) Project
Arguments: [product#992629, plant#992630, kpis#992631, cast(qty#992635 as double) AS qty#992656, demandChannel#992636, demandStream#992637]
(61) ExternalRDD
Arguments: [obj#992652]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78676), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78676), 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, 78676), 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, 78676), 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, 78676), 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, 78676), 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#992653, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78677), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78677), 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, 78678), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78678), 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, 78678), 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, 78678), 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, 78679), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78679), 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, 78679), 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, 78679), 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, 78679), 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, 78678), 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, 78677), 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, 78680), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78680), 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, 78680), 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, 78680), 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, 78680), 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, 78677), 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, 78677), 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, 78677), 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, 78681), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78681), 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, 78682), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78682), 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, 78682), 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, 78682), 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, 78682), 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, 78681), 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, 78681), 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, 78677), 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#992654]
(63) Generate
Arguments: explode(prodPlantResults#992654), false, [prodPlantResults#992655]
(64) Project
Arguments: [prodPlantResults#992655]
(65) Generate
Arguments: explode(prodPlantResults#992655.quantityKpiResults), false, [quantityKpiResults#992622]
(66) Project
Arguments: [prodPlantResults#992655.productId AS product#992616, prodPlantResults#992655.plantId AS plant#992617, quantityKpiResults#992622]
(67) Project
Arguments: [product#992616, plant#992617, quantityKpiResults#992622, quantityKpiResults#992622.quantity AS qty#992623]
(68) Project
Arguments: [product#992616, plant#992617, quantityKpiResults#992622, qty#992623, cast(null as string) AS demandChannel#992625]
(69) Project
Arguments: [product#992616, plant#992617, quantityKpiResults#992622, qty#992623, demandChannel#992625, cast(null as string) AS demandStream#992626]
(70) Project
Arguments: [product#992616, plant#992617, quantityKpiResults#992622, qty#992623, demandChannel#992625, demandStream#992626, quantityKpiResults#992622.kpiResults AS kpis#992627]
(71) Project
Arguments: [product#992616, plant#992617, qty#992623, demandChannel#992625, demandStream#992626, kpis#992627]
(72) Project
Arguments: [product#992616, plant#992617, kpis#992627, qty#992623, demandChannel#992625, demandStream#992626]
(73) ExternalRDD
Arguments: [obj#992657]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78676), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78676), 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, 78676), 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, 78676), 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, 78676), 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, 78676), 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#992658, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78677), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78677), 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, 78678), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78678), 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, 78678), 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, 78678), 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, 78679), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78679), 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, 78679), 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, 78679), 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, 78679), 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, 78678), 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, 78677), 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, 78680), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78680), 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, 78680), 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, 78680), 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, 78680), 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, 78677), 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, 78677), 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, 78677), 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, 78681), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78681), 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, 78682), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78682), 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, 78682), 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, 78682), 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, 78682), 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, 78681), 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, 78681), 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, 78677), 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#992659]
(75) Generate
Arguments: explode(prodPlantResults#992659), false, [prodPlantResults#992660]
(76) Project
Arguments: [prodPlantResults#992660]
(77) Generate
Arguments: explode(prodPlantResults#992660.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#992644]
(78) Project
Arguments: [prodPlantResults#992660.productId AS product#992638, prodPlantResults#992660.plantId AS plant#992639, demandChannelStreamKpiResults#992644]
(79) Project
Arguments: [product#992638, plant#992639, demandChannelStreamKpiResults#992644, null AS qty#992645]
(80) Project
Arguments: [product#992638, plant#992639, demandChannelStreamKpiResults#992644, qty#992645, demandChannelStreamKpiResults#992644.demandChannel AS demandChannel#992646]
(81) Project
Arguments: [product#992638, plant#992639, demandChannelStreamKpiResults#992644, qty#992645, demandChannel#992646, demandChannelStreamKpiResults#992644.demandStream AS demandStream#992648]
(82) Project
Arguments: [product#992638, plant#992639, demandChannelStreamKpiResults#992644, qty#992645, demandChannel#992646, demandStream#992648, demandChannelStreamKpiResults#992644.kpiResults AS kpis#992650]
(83) Project
Arguments: [product#992638, plant#992639, qty#992645, demandChannel#992646, demandStream#992648, kpis#992650]
(84) Project
Arguments: [product#992638, plant#992639, kpis#992650, qty#992645, demandChannel#992646, demandStream#992648]
(85) Project
Arguments: [product#992638, plant#992639, kpis#992650, cast(qty#992645 as double) AS qty#992661, demandChannel#992646, demandStream#992648]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#992629, plant#992630, transform(kpis#992631, lambdafunction(struct(label, lambda kpi#992666.label, dateTime, lambda kpi#992666.datetime, value, lambda kpi#992666.value), lambda kpi#992666, false)) AS kpis#992665, qty#992656, demandChannel#992636, demandStream#992637]
(88) Project
Arguments: [product#992629, plant#992630, qty#992656, demandChannel#992636, demandStream#992637, kpis#992665]
(89) LogicalRDD
Arguments: [shardId#993474, worklistShardItemId#993475L, version#993476, product#993477, plant#993478, periodStart#993479, periodEnd#993480, qty#993481], false
(90) RepartitionByExpression
Arguments: [product#993477, plant#993478], 37
(91) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, version#993476, product#993477, plant#993478, qty#993481]
(92) LogicalRDD
Arguments: [shardId#993482, worklistShardItemId#993483L, version#993484, product#993485, plant#993486, periodStart#993487, periodEnd#993488, qty#993489], false
(93) RepartitionByExpression
Arguments: [product#993485, plant#993486], 37
(94) Project
Arguments: [shardId#993482, worklistShardItemId#993483L, version#993484, product#993485, plant#993486, qty#993489]
(95) LogicalRDD
Arguments: [shardId#993490, worklistShardItemId#993491L, qty#993492, demandChannel#993493, demandStream#993494, kpis#993495], false
(96) Project
Arguments: [shardId#993490 AS cachedShardId#993496, worklistShardItemId#993491L AS cachedWorklistShardItemId#993497L, qty#993492 AS cachedQty#993498, demandChannel#993493, demandStream#993494, kpis#993495 AS cachedKpis#993499]
(97) Join
Arguments: Inner, (((worklistShardItemId#993483L = cachedWorklistShardItemId#993497L) AND (shardId#993482 = cachedShardId#993496)) AND ((qty#993489 = cachedQty#993498) OR isnull(qty#993489)))
(98) Project
Arguments: [shardId#993482, worklistShardItemId#993483L, version#993484, product#993485, plant#993486]
(99) Deduplicate
Arguments: [plant#993486, shardId#993482, version#993484, worklistShardItemId#993483L, product#993485]
(100) LogicalRDD
Arguments: [shardId#993500, worklistShardItemId#993501L, qty#993502, demandChannel#993503, demandStream#993504, kpis#993505], false
(101) Project
Arguments: [shardId#993500 AS cachedShardId#993506, worklistShardItemId#993501L AS cachedWorklistShardItemId#993507L, qty#993502 AS cachedQty#993508, demandChannel#993503, demandStream#993504, kpis#993505 AS cachedKpis#993509]
(102) Join
Arguments: Inner, ((worklistShardItemId#993483L = cachedWorklistShardItemId#993507L) AND (shardId#993482 = cachedShardId#993506))
(103) Project
Arguments: [shardId#993482, worklistShardItemId#993483L, version#993484, product#993485, plant#993486, cachedQty#993508 AS qty#993510, demandChannel#993503, demandStream#993504, cachedKpis#993509 AS kpis#993511]
(104) Project
Arguments: [shardId#993482, worklistShardItemId#993483L, version#993484, product#993485, plant#993486, qty#993510]
(105) LogicalRDD
Arguments: [shardId#993512, worklistShardItemId#993513L, version#993514, product#993515, plant#993516, periodStart#993517, periodEnd#993518, qty#993519], false
(106) RepartitionByExpression
Arguments: [product#993515, plant#993516], 37
(107) Project
Arguments: [shardId#993512, worklistShardItemId#993513L, version#993514, product#993515, plant#993516, qty#993519]
(108) LogicalRDD
Arguments: [shardId#993520, worklistShardItemId#993521L, qty#993522, demandChannel#993523, demandStream#993524, kpis#993525], false
(109) Project
Arguments: [shardId#993520 AS cachedShardId#993526, worklistShardItemId#993521L AS cachedWorklistShardItemId#993527L, qty#993522 AS cachedQty#993528, demandChannel#993523, demandStream#993524, kpis#993525 AS cachedKpis#993529]
(110) Join
Arguments: Inner, (((worklistShardItemId#993513L = cachedWorklistShardItemId#993527L) AND (shardId#993512 = cachedShardId#993526)) AND isnull(qty#993519))
(111) Project
Arguments: [shardId#993512, worklistShardItemId#993513L, version#993514, product#993515, plant#993516, qty#993519]
(112) Project
Arguments: [shardId#993512, worklistShardItemId#993513L, version#993514, product#993515, plant#993516, qty#993519]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#993474 <=> shardId#993482) AND (worklistShardItemId#993475L <=> worklistShardItemId#993483L)) AND (version#993476 <=> version#993484)) AND (product#993477 <=> product#993485)) AND (plant#993478 <=> plant#993486)) AND (qty#993481 <=> qty#993510))
(115) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, version#993476, product#993477, plant#993478, qty#993481]
(116) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, version#993476, product#993477, plant#993478, qty#993481, cast(null as string) AS demandChannel#993530]
(117) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, version#993476, product#993477, plant#993478, qty#993481, demandChannel#993530, cast(null as string) AS demandStream#993531]
(118) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, version#993476, product#993477, plant#993478, qty#993481, demandChannel#993530, demandStream#993531, array() AS kpis#993532]
(119) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, version#993476, product#993477, plant#993478, qty#993481, demandChannel#993530, demandStream#993531, kpis#993532, true AS isNewlyCalculated#993533]
(120) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, version#993476, product#993477, plant#993478, qty#993481, demandChannel#993530, demandStream#993531, cast(kpis#993532 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#993534, isNewlyCalculated#993533]
(121) LogicalRDD
Arguments: [shardId#993535, worklistShardItemId#993536L, version#993537, product#993538, plant#993539, periodStart#993540, periodEnd#993541, qty#993542], false
(122) RepartitionByExpression
Arguments: [product#993538, plant#993539], 37
(123) Project
Arguments: [shardId#993535, worklistShardItemId#993536L, version#993537, product#993538, plant#993539, qty#993542]
(124) LogicalRDD
Arguments: [shardId#993543, worklistShardItemId#993544L, qty#993545, demandChannel#993546, demandStream#993547, kpis#993548], false
(125) Project
Arguments: [shardId#993543 AS cachedShardId#993549, worklistShardItemId#993544L AS cachedWorklistShardItemId#993550L, qty#993545 AS cachedQty#993551, demandChannel#993546, demandStream#993547, kpis#993548 AS cachedKpis#993552]
(126) Join
Arguments: Inner, (((worklistShardItemId#993536L = cachedWorklistShardItemId#993550L) AND (shardId#993535 = cachedShardId#993549)) AND ((qty#993542 = cachedQty#993551) OR isnull(qty#993542)))
(127) Project
Arguments: [shardId#993535, worklistShardItemId#993536L, version#993537, product#993538, plant#993539]
(128) Deduplicate
Arguments: [plant#993539, shardId#993535, version#993537, worklistShardItemId#993536L, product#993538]
(129) LogicalRDD
Arguments: [shardId#993553, worklistShardItemId#993554L, qty#993555, demandChannel#993556, demandStream#993557, kpis#993558], false
(130) Project
Arguments: [shardId#993553 AS cachedShardId#993559, worklistShardItemId#993554L AS cachedWorklistShardItemId#993560L, qty#993555 AS cachedQty#993561, demandChannel#993556, demandStream#993557, kpis#993558 AS cachedKpis#993562]
(131) Join
Arguments: Inner, ((worklistShardItemId#993536L = cachedWorklistShardItemId#993560L) AND (shardId#993535 = cachedShardId#993559))
(132) Project
Arguments: [shardId#993535, worklistShardItemId#993536L, version#993537, product#993538, plant#993539, cachedQty#993561 AS qty#993563, demandChannel#993556, demandStream#993557, cachedKpis#993562 AS kpis#993564]
(133) Project
Arguments: [shardId#993535, worklistShardItemId#993536L, version#993537, product#993538, plant#993539, qty#993563, demandChannel#993556, demandStream#993557, kpis#993564, false AS isNewlyCalculated#993565]
(134) Project
Arguments: [shardId#993535, worklistShardItemId#993536L, version#993537, product#993538, plant#993539, qty#993563, demandChannel#993556, demandStream#993557, kpis#993564, isNewlyCalculated#993565]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#993533 <=> true)
(137) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, product#993477, plant#993478, qty#993481, kpis#993534]
(138) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, product#993477, plant#993478, qty#993481]
(139) Deduplicate
Arguments: [plant#993478, shardId#993474, qty#993481, worklistShardItemId#993475L, product#993477]
(140) Join
Arguments: Inner, ((product#992629 <=> product#993477) AND ((plant#992630 <=> plant#993478) AND ((qty#992656 <=> qty#993481) OR isnull(qty#993481))))
(141) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, qty#992656, demandChannel#992636, demandStream#992637, kpis#992665]
(142) Deduplicate
Arguments: [demandChannel#992636, shardId#993474, qty#992656, worklistShardItemId#993475L, demandStream#992637]
(143) Project
Arguments: [shardId#993474, worklistShardItemId#993475L, qty#992656, demandChannel#992636, demandStream#992637, kpis#992665]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568, product#993569, plant#993570, periodStart#993571, periodEnd#993572, qty#993573], false
(146) RepartitionByExpression
Arguments: [product#993569, plant#993570], 37
(147) Project
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568, product#993569, plant#993570, qty#993573]
(148) LogicalRDD
Arguments: [shardId#993574, worklistShardItemId#993575L, version#993576, product#993577, plant#993578, periodStart#993579, periodEnd#993580, qty#993581], false
(149) RepartitionByExpression
Arguments: [product#993577, plant#993578], 37
(150) Project
Arguments: [shardId#993574, worklistShardItemId#993575L, version#993576, product#993577, plant#993578, qty#993581]
(151) LogicalRDD
Arguments: [shardId#993582, worklistShardItemId#993583L, qty#993584, demandChannel#993585, demandStream#993586, kpis#993587], false
(152) Project
Arguments: [shardId#993582 AS cachedShardId#993588, worklistShardItemId#993583L AS cachedWorklistShardItemId#993589L, qty#993584 AS cachedQty#993590, demandChannel#993585, demandStream#993586, kpis#993587 AS cachedKpis#993591]
(153) Join
Arguments: Inner, (((worklistShardItemId#993575L = cachedWorklistShardItemId#993589L) AND (shardId#993574 = cachedShardId#993588)) AND ((qty#993581 = cachedQty#993590) OR isnull(qty#993581)))
(154) Project
Arguments: [shardId#993574, worklistShardItemId#993575L, version#993576, product#993577, plant#993578]
(155) Deduplicate
Arguments: [plant#993578, shardId#993574, version#993576, worklistShardItemId#993575L, product#993577]
(156) LogicalRDD
Arguments: [shardId#993592, worklistShardItemId#993593L, qty#993594, demandChannel#993595, demandStream#993596, kpis#993597], false
(157) Project
Arguments: [shardId#993592 AS cachedShardId#993598, worklistShardItemId#993593L AS cachedWorklistShardItemId#993599L, qty#993594 AS cachedQty#993600, demandChannel#993595, demandStream#993596, kpis#993597 AS cachedKpis#993601]
(158) Join
Arguments: Inner, ((worklistShardItemId#993575L = cachedWorklistShardItemId#993599L) AND (shardId#993574 = cachedShardId#993598))
(159) Project
Arguments: [shardId#993574, worklistShardItemId#993575L, version#993576, product#993577, plant#993578, cachedQty#993600 AS qty#993602, demandChannel#993595, demandStream#993596, cachedKpis#993601 AS kpis#993603]
(160) Project
Arguments: [shardId#993574, worklistShardItemId#993575L, version#993576, product#993577, plant#993578, qty#993602]
(161) LogicalRDD
Arguments: [shardId#993604, worklistShardItemId#993605L, version#993606, product#993607, plant#993608, periodStart#993609, periodEnd#993610, qty#993611], false
(162) RepartitionByExpression
Arguments: [product#993607, plant#993608], 37
(163) Project
Arguments: [shardId#993604, worklistShardItemId#993605L, version#993606, product#993607, plant#993608, qty#993611]
(164) LogicalRDD
Arguments: [shardId#993612, worklistShardItemId#993613L, qty#993614, demandChannel#993615, demandStream#993616, kpis#993617], false
(165) Project
Arguments: [shardId#993612 AS cachedShardId#993618, worklistShardItemId#993613L AS cachedWorklistShardItemId#993619L, qty#993614 AS cachedQty#993620, demandChannel#993615, demandStream#993616, kpis#993617 AS cachedKpis#993621]
(166) Join
Arguments: Inner, (((worklistShardItemId#993605L = cachedWorklistShardItemId#993619L) AND (shardId#993604 = cachedShardId#993618)) AND isnull(qty#993611))
(167) Project
Arguments: [shardId#993604, worklistShardItemId#993605L, version#993606, product#993607, plant#993608, qty#993611]
(168) Project
Arguments: [shardId#993604, worklistShardItemId#993605L, version#993606, product#993607, plant#993608, qty#993611]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#993566 <=> shardId#993574) AND (worklistShardItemId#993567L <=> worklistShardItemId#993575L)) AND (version#993568 <=> version#993576)) AND (product#993569 <=> product#993577)) AND (plant#993570 <=> plant#993578)) AND (qty#993573 <=> qty#993602))
(171) Project
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568, product#993569, plant#993570, qty#993573]
(172) Project
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568, product#993569, plant#993570, qty#993573, cast(null as string) AS demandChannel#993622]
(173) Project
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568, product#993569, plant#993570, qty#993573, demandChannel#993622, cast(null as string) AS demandStream#993623]
(174) Project
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568, product#993569, plant#993570, qty#993573, demandChannel#993622, demandStream#993623, array() AS kpis#993624]
(175) Project
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568, product#993569, plant#993570, qty#993573, demandChannel#993622, demandStream#993623, kpis#993624, true AS isNewlyCalculated#993625]
(176) Project
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568, product#993569, plant#993570, qty#993573, demandChannel#993622, demandStream#993623, cast(kpis#993624 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#993626, isNewlyCalculated#993625]
(177) LogicalRDD
Arguments: [shardId#993627, worklistShardItemId#993628L, version#993629, product#993630, plant#993631, periodStart#993632, periodEnd#993633, qty#993634], false
(178) RepartitionByExpression
Arguments: [product#993630, plant#993631], 37
(179) Project
Arguments: [shardId#993627, worklistShardItemId#993628L, version#993629, product#993630, plant#993631, qty#993634]
(180) LogicalRDD
Arguments: [shardId#993635, worklistShardItemId#993636L, qty#993637, demandChannel#993638, demandStream#993639, kpis#993640], false
(181) Project
Arguments: [shardId#993635 AS cachedShardId#993641, worklistShardItemId#993636L AS cachedWorklistShardItemId#993642L, qty#993637 AS cachedQty#993643, demandChannel#993638, demandStream#993639, kpis#993640 AS cachedKpis#993644]
(182) Join
Arguments: Inner, (((worklistShardItemId#993628L = cachedWorklistShardItemId#993642L) AND (shardId#993627 = cachedShardId#993641)) AND ((qty#993634 = cachedQty#993643) OR isnull(qty#993634)))
(183) Project
Arguments: [shardId#993627, worklistShardItemId#993628L, version#993629, product#993630, plant#993631]
(184) Deduplicate
Arguments: [plant#993631, shardId#993627, version#993629, worklistShardItemId#993628L, product#993630]
(185) LogicalRDD
Arguments: [shardId#993645, worklistShardItemId#993646L, qty#993647, demandChannel#993648, demandStream#993649, kpis#993650], false
(186) Project
Arguments: [shardId#993645 AS cachedShardId#993651, worklistShardItemId#993646L AS cachedWorklistShardItemId#993652L, qty#993647 AS cachedQty#993653, demandChannel#993648, demandStream#993649, kpis#993650 AS cachedKpis#993654]
(187) Join
Arguments: Inner, ((worklistShardItemId#993628L = cachedWorklistShardItemId#993652L) AND (shardId#993627 = cachedShardId#993651))
(188) Project
Arguments: [shardId#993627, worklistShardItemId#993628L, version#993629, product#993630, plant#993631, cachedQty#993653 AS qty#993655, demandChannel#993648, demandStream#993649, cachedKpis#993654 AS kpis#993656]
(189) Project
Arguments: [shardId#993627, worklistShardItemId#993628L, version#993629, product#993630, plant#993631, qty#993655, demandChannel#993648, demandStream#993649, kpis#993656, false AS isNewlyCalculated#993657]
(190) Project
Arguments: [shardId#993627, worklistShardItemId#993628L, version#993629, product#993630, plant#993631, qty#993655, demandChannel#993648, demandStream#993649, kpis#993656, isNewlyCalculated#993657]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#993566, worklistShardItemId#993567L, version#993568]
(193) Aggregate
Arguments: [shardId#993566, worklistShardItemId#993567L], [shardId#993566, worklistShardItemId#993567L, (max(version#993568) + 1) AS version#993469]
(194) Join
Arguments: Inner, ((shardId#943631 = shardId#993566) AND (worklistShardItemId#943632L = worklistShardItemId#993567L))
(195) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#990100, demandStream#990101, kpis#990135, version#993469]
(196) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#993469, qty#943638, demandChannel#990100, demandStream#990101, kpis#990135]