== 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@34515e66, [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#871554, worklistShardItemId#871555L, version#871556, product#871557, plant#871558, periodStart#871559, periodEnd#871560, qty#871561], false
(7) RepartitionByExpression
Arguments: [product#871557, plant#871558], 37
(8) Project
Arguments: [shardId#871554, worklistShardItemId#871555L, version#871556, product#871557, plant#871558, qty#871561]
(9) LogicalRDD
Arguments: [shardId#871309, worklistShardItemId#871310L, qty#871311, demandChannel#871312, demandStream#871313, kpis#871314], false
(10) Project
Arguments: [shardId#871309 AS cachedShardId#871315, worklistShardItemId#871310L AS cachedWorklistShardItemId#871316L, qty#871311 AS cachedQty#871317, demandChannel#871312, demandStream#871313, kpis#871314 AS cachedKpis#871318]
(11) Join
Arguments: Inner, (((worklistShardItemId#871555L = cachedWorklistShardItemId#871316L) AND (shardId#871554 = cachedShardId#871315)) AND ((qty#871561 = cachedQty#871317) OR isnull(qty#871561)))
(12) Project
Arguments: [shardId#871554, worklistShardItemId#871555L, version#871556, product#871557, plant#871558]
(13) Deduplicate
Arguments: [plant#871558, shardId#871554, version#871556, worklistShardItemId#871555L, product#871557]
(14) LogicalRDD
Arguments: [shardId#871319, worklistShardItemId#871320L, qty#871321, demandChannel#871322, demandStream#871323, kpis#871324], false
(15) Project
Arguments: [shardId#871319 AS cachedShardId#871325, worklistShardItemId#871320L AS cachedWorklistShardItemId#871326L, qty#871321 AS cachedQty#871327, demandChannel#871322, demandStream#871323, kpis#871324 AS cachedKpis#871328]
(16) Join
Arguments: Inner, ((worklistShardItemId#871555L = cachedWorklistShardItemId#871326L) AND (shardId#871554 = cachedShardId#871325))
(17) Project
Arguments: [shardId#871554, worklistShardItemId#871555L, version#871556, product#871557, plant#871558, cachedQty#871327 AS qty#871329, demandChannel#871322, demandStream#871323, cachedKpis#871328 AS kpis#871330]
(18) Project
Arguments: [shardId#871554, worklistShardItemId#871555L, version#871556, product#871557, plant#871558, qty#871329]
(19) LogicalRDD
Arguments: [shardId#871536, worklistShardItemId#871537L, version#871538, product#871539, plant#871540, periodStart#871541, periodEnd#871542, qty#871543], false
(20) RepartitionByExpression
Arguments: [product#871539, plant#871540], 37
(21) Project
Arguments: [shardId#871536, worklistShardItemId#871537L, version#871538, product#871539, plant#871540, qty#871543]
(22) LogicalRDD
Arguments: [shardId#871544, worklistShardItemId#871545L, qty#871546, demandChannel#871547, demandStream#871548, kpis#871549], false
(23) Project
Arguments: [shardId#871544 AS cachedShardId#871550, worklistShardItemId#871545L AS cachedWorklistShardItemId#871551L, qty#871546 AS cachedQty#871552, demandChannel#871547, demandStream#871548, kpis#871549 AS cachedKpis#871553]
(24) Join
Arguments: Inner, (((worklistShardItemId#871537L = cachedWorklistShardItemId#871551L) AND (shardId#871536 = cachedShardId#871550)) AND isnull(qty#871543))
(25) Project
Arguments: [shardId#871536, worklistShardItemId#871537L, version#871538, product#871539, plant#871540, qty#871543]
(26) Project
Arguments: [shardId#871536, worklistShardItemId#871537L, version#871538, product#871539, plant#871540, qty#871543]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#871554) AND (worklistShardItemId#815741L <=> worklistShardItemId#871555L)) AND (version#815742 <=> version#871556)) AND (product#815743 <=> product#871557)) AND (plant#815744 <=> plant#871558)) AND (qty#815747 <=> qty#871329))
(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#871562]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#871562, cast(null as string) AS demandStream#871563]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#871562, demandStream#871563, array() AS kpis#871564]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#871562, demandStream#871563, kpis#871564, true AS isNewlyCalculated#871565]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#871562, demandStream#871563, cast(kpis#871564 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#871597, isNewlyCalculated#871565]
(35) LogicalRDD
Arguments: [shardId#871567, worklistShardItemId#871568L, version#871569, product#871570, plant#871571, periodStart#871572, periodEnd#871573, qty#871574], false
(36) RepartitionByExpression
Arguments: [product#871570, plant#871571], 37
(37) Project
Arguments: [shardId#871567, worklistShardItemId#871568L, version#871569, product#871570, plant#871571, qty#871574]
(38) LogicalRDD
Arguments: [shardId#871575, worklistShardItemId#871576L, qty#871577, demandChannel#871578, demandStream#871579, kpis#871580], false
(39) Project
Arguments: [shardId#871575 AS cachedShardId#871581, worklistShardItemId#871576L AS cachedWorklistShardItemId#871582L, qty#871577 AS cachedQty#871583, demandChannel#871578, demandStream#871579, kpis#871580 AS cachedKpis#871584]
(40) Join
Arguments: Inner, (((worklistShardItemId#871568L = cachedWorklistShardItemId#871582L) AND (shardId#871567 = cachedShardId#871581)) AND ((qty#871574 = cachedQty#871583) OR isnull(qty#871574)))
(41) Project
Arguments: [shardId#871567, worklistShardItemId#871568L, version#871569, product#871570, plant#871571]
(42) Deduplicate
Arguments: [plant#871571, shardId#871567, version#871569, worklistShardItemId#871568L, product#871570]
(43) LogicalRDD
Arguments: [shardId#871585, worklistShardItemId#871586L, qty#871587, demandChannel#871588, demandStream#871589, kpis#871590], false
(44) Project
Arguments: [shardId#871585 AS cachedShardId#871591, worklistShardItemId#871586L AS cachedWorklistShardItemId#871592L, qty#871587 AS cachedQty#871593, demandChannel#871588, demandStream#871589, kpis#871590 AS cachedKpis#871594]
(45) Join
Arguments: Inner, ((worklistShardItemId#871568L = cachedWorklistShardItemId#871592L) AND (shardId#871567 = cachedShardId#871591))
(46) Project
Arguments: [shardId#871567, worklistShardItemId#871568L, version#871569, product#871570, plant#871571, cachedQty#871593 AS qty#871595, demandChannel#871588, demandStream#871589, cachedKpis#871594 AS kpis#871596]
(47) Project
Arguments: [shardId#871567, worklistShardItemId#871568L, version#871569, product#871570, plant#871571, qty#871595, demandChannel#871588, demandStream#871589, kpis#871596, false AS isNewlyCalculated#871566]
(48) Project
Arguments: [shardId#871567, worklistShardItemId#871568L, version#871569, product#871570, plant#871571, qty#871595, demandChannel#871588, demandStream#871589, kpis#871596, isNewlyCalculated#871566]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#871565 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#871562, demandStream#871563, kpis#871597]
(52) ExternalRDD
Arguments: [obj#874061]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68836), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68836), 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, 68836), 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, 68836), 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, 68836), 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, 68836), 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#874064, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68837), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68837), 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, 68838), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68838), 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, 68838), 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, 68838), 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, 68839), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68839), 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, 68839), 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, 68839), 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, 68839), 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, 68838), 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, 68837), 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, 68840), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68840), 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, 68840), 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, 68840), 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, 68840), 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, 68837), 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, 68837), 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, 68837), 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, 68841), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68841), 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, 68842), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68842), 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, 68842), 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, 68842), 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, 68842), 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, 68841), 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, 68841), 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, 68837), 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#874065]
(54) Generate
Arguments: explode(prodPlantResults#874065), false, [prodPlantResults#874072]
(55) Project
Arguments: [prodPlantResults#874072]
(56) Project
Arguments: [prodPlantResults#874072.productId AS product#874091, prodPlantResults#874072.plantId AS plant#874092, prodPlantResults#874072.kpiResults AS kpis#874093]
(57) Project
Arguments: [product#874091, plant#874092, kpis#874093, null AS qty#874097]
(58) Project
Arguments: [product#874091, plant#874092, kpis#874093, qty#874097, cast(null as string) AS demandChannel#874098]
(59) Project
Arguments: [product#874091, plant#874092, kpis#874093, qty#874097, demandChannel#874098, cast(null as string) AS demandStream#874099]
(60) Project
Arguments: [product#874091, plant#874092, kpis#874093, cast(qty#874097 as double) AS qty#874118, demandChannel#874098, demandStream#874099]
(61) ExternalRDD
Arguments: [obj#874114]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68836), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68836), 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, 68836), 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, 68836), 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, 68836), 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, 68836), 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#874115, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68837), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68837), 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, 68838), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68838), 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, 68838), 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, 68838), 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, 68839), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68839), 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, 68839), 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, 68839), 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, 68839), 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, 68838), 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, 68837), 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, 68840), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68840), 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, 68840), 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, 68840), 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, 68840), 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, 68837), 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, 68837), 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, 68837), 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, 68841), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68841), 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, 68842), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68842), 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, 68842), 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, 68842), 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, 68842), 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, 68841), 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, 68841), 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, 68837), 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#874116]
(63) Generate
Arguments: explode(prodPlantResults#874116), false, [prodPlantResults#874117]
(64) Project
Arguments: [prodPlantResults#874117]
(65) Generate
Arguments: explode(prodPlantResults#874117.quantityKpiResults), false, [quantityKpiResults#874084]
(66) Project
Arguments: [prodPlantResults#874117.productId AS product#874078, prodPlantResults#874117.plantId AS plant#874079, quantityKpiResults#874084]
(67) Project
Arguments: [product#874078, plant#874079, quantityKpiResults#874084, quantityKpiResults#874084.quantity AS qty#874085]
(68) Project
Arguments: [product#874078, plant#874079, quantityKpiResults#874084, qty#874085, cast(null as string) AS demandChannel#874087]
(69) Project
Arguments: [product#874078, plant#874079, quantityKpiResults#874084, qty#874085, demandChannel#874087, cast(null as string) AS demandStream#874088]
(70) Project
Arguments: [product#874078, plant#874079, quantityKpiResults#874084, qty#874085, demandChannel#874087, demandStream#874088, quantityKpiResults#874084.kpiResults AS kpis#874089]
(71) Project
Arguments: [product#874078, plant#874079, qty#874085, demandChannel#874087, demandStream#874088, kpis#874089]
(72) Project
Arguments: [product#874078, plant#874079, kpis#874089, qty#874085, demandChannel#874087, demandStream#874088]
(73) ExternalRDD
Arguments: [obj#874119]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68836), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68836), 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, 68836), 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, 68836), 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, 68836), 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, 68836), 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#874120, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68837), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68837), 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, 68838), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68838), 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, 68838), 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, 68838), 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, 68839), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68839), 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, 68839), 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, 68839), 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, 68839), 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, 68838), 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, 68837), 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, 68840), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68840), 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, 68840), 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, 68840), 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, 68840), 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, 68837), 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, 68837), 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, 68837), 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, 68841), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68841), 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, 68842), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 68842), 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, 68842), 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, 68842), 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, 68842), 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, 68841), 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, 68841), 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, 68837), 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#874121]
(75) Generate
Arguments: explode(prodPlantResults#874121), false, [prodPlantResults#874122]
(76) Project
Arguments: [prodPlantResults#874122]
(77) Generate
Arguments: explode(prodPlantResults#874122.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#874106]
(78) Project
Arguments: [prodPlantResults#874122.productId AS product#874100, prodPlantResults#874122.plantId AS plant#874101, demandChannelStreamKpiResults#874106]
(79) Project
Arguments: [product#874100, plant#874101, demandChannelStreamKpiResults#874106, null AS qty#874107]
(80) Project
Arguments: [product#874100, plant#874101, demandChannelStreamKpiResults#874106, qty#874107, demandChannelStreamKpiResults#874106.demandChannel AS demandChannel#874108]
(81) Project
Arguments: [product#874100, plant#874101, demandChannelStreamKpiResults#874106, qty#874107, demandChannel#874108, demandChannelStreamKpiResults#874106.demandStream AS demandStream#874110]
(82) Project
Arguments: [product#874100, plant#874101, demandChannelStreamKpiResults#874106, qty#874107, demandChannel#874108, demandStream#874110, demandChannelStreamKpiResults#874106.kpiResults AS kpis#874112]
(83) Project
Arguments: [product#874100, plant#874101, qty#874107, demandChannel#874108, demandStream#874110, kpis#874112]
(84) Project
Arguments: [product#874100, plant#874101, kpis#874112, qty#874107, demandChannel#874108, demandStream#874110]
(85) Project
Arguments: [product#874100, plant#874101, kpis#874112, cast(qty#874107 as double) AS qty#874123, demandChannel#874108, demandStream#874110]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#874091, plant#874092, transform(kpis#874093, lambdafunction(struct(label, lambda kpi#874128.label, dateTime, lambda kpi#874128.datetime, value, lambda kpi#874128.value), lambda kpi#874128, false)) AS kpis#874127, qty#874118, demandChannel#874098, demandStream#874099]
(88) Project
Arguments: [product#874091, plant#874092, qty#874118, demandChannel#874098, demandStream#874099, kpis#874127]
(89) LogicalRDD
Arguments: [shardId#874936, worklistShardItemId#874937L, version#874938, product#874939, plant#874940, periodStart#874941, periodEnd#874942, qty#874943], false
(90) RepartitionByExpression
Arguments: [product#874939, plant#874940], 37
(91) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, version#874938, product#874939, plant#874940, qty#874943]
(92) LogicalRDD
Arguments: [shardId#874944, worklistShardItemId#874945L, version#874946, product#874947, plant#874948, periodStart#874949, periodEnd#874950, qty#874951], false
(93) RepartitionByExpression
Arguments: [product#874947, plant#874948], 37
(94) Project
Arguments: [shardId#874944, worklistShardItemId#874945L, version#874946, product#874947, plant#874948, qty#874951]
(95) LogicalRDD
Arguments: [shardId#874952, worklistShardItemId#874953L, qty#874954, demandChannel#874955, demandStream#874956, kpis#874957], false
(96) Project
Arguments: [shardId#874952 AS cachedShardId#874958, worklistShardItemId#874953L AS cachedWorklistShardItemId#874959L, qty#874954 AS cachedQty#874960, demandChannel#874955, demandStream#874956, kpis#874957 AS cachedKpis#874961]
(97) Join
Arguments: Inner, (((worklistShardItemId#874945L = cachedWorklistShardItemId#874959L) AND (shardId#874944 = cachedShardId#874958)) AND ((qty#874951 = cachedQty#874960) OR isnull(qty#874951)))
(98) Project
Arguments: [shardId#874944, worklistShardItemId#874945L, version#874946, product#874947, plant#874948]
(99) Deduplicate
Arguments: [plant#874948, shardId#874944, version#874946, worklistShardItemId#874945L, product#874947]
(100) LogicalRDD
Arguments: [shardId#874962, worklistShardItemId#874963L, qty#874964, demandChannel#874965, demandStream#874966, kpis#874967], false
(101) Project
Arguments: [shardId#874962 AS cachedShardId#874968, worklistShardItemId#874963L AS cachedWorklistShardItemId#874969L, qty#874964 AS cachedQty#874970, demandChannel#874965, demandStream#874966, kpis#874967 AS cachedKpis#874971]
(102) Join
Arguments: Inner, ((worklistShardItemId#874945L = cachedWorklistShardItemId#874969L) AND (shardId#874944 = cachedShardId#874968))
(103) Project
Arguments: [shardId#874944, worklistShardItemId#874945L, version#874946, product#874947, plant#874948, cachedQty#874970 AS qty#874972, demandChannel#874965, demandStream#874966, cachedKpis#874971 AS kpis#874973]
(104) Project
Arguments: [shardId#874944, worklistShardItemId#874945L, version#874946, product#874947, plant#874948, qty#874972]
(105) LogicalRDD
Arguments: [shardId#874974, worklistShardItemId#874975L, version#874976, product#874977, plant#874978, periodStart#874979, periodEnd#874980, qty#874981], false
(106) RepartitionByExpression
Arguments: [product#874977, plant#874978], 37
(107) Project
Arguments: [shardId#874974, worklistShardItemId#874975L, version#874976, product#874977, plant#874978, qty#874981]
(108) LogicalRDD
Arguments: [shardId#874982, worklistShardItemId#874983L, qty#874984, demandChannel#874985, demandStream#874986, kpis#874987], false
(109) Project
Arguments: [shardId#874982 AS cachedShardId#874988, worklistShardItemId#874983L AS cachedWorklistShardItemId#874989L, qty#874984 AS cachedQty#874990, demandChannel#874985, demandStream#874986, kpis#874987 AS cachedKpis#874991]
(110) Join
Arguments: Inner, (((worklistShardItemId#874975L = cachedWorklistShardItemId#874989L) AND (shardId#874974 = cachedShardId#874988)) AND isnull(qty#874981))
(111) Project
Arguments: [shardId#874974, worklistShardItemId#874975L, version#874976, product#874977, plant#874978, qty#874981]
(112) Project
Arguments: [shardId#874974, worklistShardItemId#874975L, version#874976, product#874977, plant#874978, qty#874981]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#874936 <=> shardId#874944) AND (worklistShardItemId#874937L <=> worklistShardItemId#874945L)) AND (version#874938 <=> version#874946)) AND (product#874939 <=> product#874947)) AND (plant#874940 <=> plant#874948)) AND (qty#874943 <=> qty#874972))
(115) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, version#874938, product#874939, plant#874940, qty#874943]
(116) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, version#874938, product#874939, plant#874940, qty#874943, cast(null as string) AS demandChannel#874992]
(117) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, version#874938, product#874939, plant#874940, qty#874943, demandChannel#874992, cast(null as string) AS demandStream#874993]
(118) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, version#874938, product#874939, plant#874940, qty#874943, demandChannel#874992, demandStream#874993, array() AS kpis#874994]
(119) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, version#874938, product#874939, plant#874940, qty#874943, demandChannel#874992, demandStream#874993, kpis#874994, true AS isNewlyCalculated#874995]
(120) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, version#874938, product#874939, plant#874940, qty#874943, demandChannel#874992, demandStream#874993, cast(kpis#874994 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#874996, isNewlyCalculated#874995]
(121) LogicalRDD
Arguments: [shardId#874997, worklistShardItemId#874998L, version#874999, product#875000, plant#875001, periodStart#875002, periodEnd#875003, qty#875004], false
(122) RepartitionByExpression
Arguments: [product#875000, plant#875001], 37
(123) Project
Arguments: [shardId#874997, worklistShardItemId#874998L, version#874999, product#875000, plant#875001, qty#875004]
(124) LogicalRDD
Arguments: [shardId#875005, worklistShardItemId#875006L, qty#875007, demandChannel#875008, demandStream#875009, kpis#875010], false
(125) Project
Arguments: [shardId#875005 AS cachedShardId#875011, worklistShardItemId#875006L AS cachedWorklistShardItemId#875012L, qty#875007 AS cachedQty#875013, demandChannel#875008, demandStream#875009, kpis#875010 AS cachedKpis#875014]
(126) Join
Arguments: Inner, (((worklistShardItemId#874998L = cachedWorklistShardItemId#875012L) AND (shardId#874997 = cachedShardId#875011)) AND ((qty#875004 = cachedQty#875013) OR isnull(qty#875004)))
(127) Project
Arguments: [shardId#874997, worklistShardItemId#874998L, version#874999, product#875000, plant#875001]
(128) Deduplicate
Arguments: [plant#875001, shardId#874997, version#874999, worklistShardItemId#874998L, product#875000]
(129) LogicalRDD
Arguments: [shardId#875015, worklistShardItemId#875016L, qty#875017, demandChannel#875018, demandStream#875019, kpis#875020], false
(130) Project
Arguments: [shardId#875015 AS cachedShardId#875021, worklistShardItemId#875016L AS cachedWorklistShardItemId#875022L, qty#875017 AS cachedQty#875023, demandChannel#875018, demandStream#875019, kpis#875020 AS cachedKpis#875024]
(131) Join
Arguments: Inner, ((worklistShardItemId#874998L = cachedWorklistShardItemId#875022L) AND (shardId#874997 = cachedShardId#875021))
(132) Project
Arguments: [shardId#874997, worklistShardItemId#874998L, version#874999, product#875000, plant#875001, cachedQty#875023 AS qty#875025, demandChannel#875018, demandStream#875019, cachedKpis#875024 AS kpis#875026]
(133) Project
Arguments: [shardId#874997, worklistShardItemId#874998L, version#874999, product#875000, plant#875001, qty#875025, demandChannel#875018, demandStream#875019, kpis#875026, false AS isNewlyCalculated#875027]
(134) Project
Arguments: [shardId#874997, worklistShardItemId#874998L, version#874999, product#875000, plant#875001, qty#875025, demandChannel#875018, demandStream#875019, kpis#875026, isNewlyCalculated#875027]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#874995 <=> true)
(137) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, product#874939, plant#874940, qty#874943, kpis#874996]
(138) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, product#874939, plant#874940, qty#874943]
(139) Deduplicate
Arguments: [plant#874940, shardId#874936, qty#874943, worklistShardItemId#874937L, product#874939]
(140) Join
Arguments: Inner, ((product#874091 <=> product#874939) AND ((plant#874092 <=> plant#874940) AND ((qty#874118 <=> qty#874943) OR isnull(qty#874943))))
(141) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, qty#874118, demandChannel#874098, demandStream#874099, kpis#874127]
(142) Deduplicate
Arguments: [demandChannel#874098, shardId#874936, qty#874118, worklistShardItemId#874937L, demandStream#874099]
(143) Project
Arguments: [shardId#874936, worklistShardItemId#874937L, qty#874118, demandChannel#874098, demandStream#874099, kpis#874127]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030, product#875031, plant#875032, periodStart#875033, periodEnd#875034, qty#875035], false
(146) RepartitionByExpression
Arguments: [product#875031, plant#875032], 37
(147) Project
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030, product#875031, plant#875032, qty#875035]
(148) LogicalRDD
Arguments: [shardId#875036, worklistShardItemId#875037L, version#875038, product#875039, plant#875040, periodStart#875041, periodEnd#875042, qty#875043], false
(149) RepartitionByExpression
Arguments: [product#875039, plant#875040], 37
(150) Project
Arguments: [shardId#875036, worklistShardItemId#875037L, version#875038, product#875039, plant#875040, qty#875043]
(151) LogicalRDD
Arguments: [shardId#875044, worklistShardItemId#875045L, qty#875046, demandChannel#875047, demandStream#875048, kpis#875049], false
(152) Project
Arguments: [shardId#875044 AS cachedShardId#875050, worklistShardItemId#875045L AS cachedWorklistShardItemId#875051L, qty#875046 AS cachedQty#875052, demandChannel#875047, demandStream#875048, kpis#875049 AS cachedKpis#875053]
(153) Join
Arguments: Inner, (((worklistShardItemId#875037L = cachedWorklistShardItemId#875051L) AND (shardId#875036 = cachedShardId#875050)) AND ((qty#875043 = cachedQty#875052) OR isnull(qty#875043)))
(154) Project
Arguments: [shardId#875036, worklistShardItemId#875037L, version#875038, product#875039, plant#875040]
(155) Deduplicate
Arguments: [plant#875040, shardId#875036, version#875038, worklistShardItemId#875037L, product#875039]
(156) LogicalRDD
Arguments: [shardId#875054, worklistShardItemId#875055L, qty#875056, demandChannel#875057, demandStream#875058, kpis#875059], false
(157) Project
Arguments: [shardId#875054 AS cachedShardId#875060, worklistShardItemId#875055L AS cachedWorklistShardItemId#875061L, qty#875056 AS cachedQty#875062, demandChannel#875057, demandStream#875058, kpis#875059 AS cachedKpis#875063]
(158) Join
Arguments: Inner, ((worklistShardItemId#875037L = cachedWorklistShardItemId#875061L) AND (shardId#875036 = cachedShardId#875060))
(159) Project
Arguments: [shardId#875036, worklistShardItemId#875037L, version#875038, product#875039, plant#875040, cachedQty#875062 AS qty#875064, demandChannel#875057, demandStream#875058, cachedKpis#875063 AS kpis#875065]
(160) Project
Arguments: [shardId#875036, worklistShardItemId#875037L, version#875038, product#875039, plant#875040, qty#875064]
(161) LogicalRDD
Arguments: [shardId#875066, worklistShardItemId#875067L, version#875068, product#875069, plant#875070, periodStart#875071, periodEnd#875072, qty#875073], false
(162) RepartitionByExpression
Arguments: [product#875069, plant#875070], 37
(163) Project
Arguments: [shardId#875066, worklistShardItemId#875067L, version#875068, product#875069, plant#875070, qty#875073]
(164) LogicalRDD
Arguments: [shardId#875074, worklistShardItemId#875075L, qty#875076, demandChannel#875077, demandStream#875078, kpis#875079], false
(165) Project
Arguments: [shardId#875074 AS cachedShardId#875080, worklistShardItemId#875075L AS cachedWorklistShardItemId#875081L, qty#875076 AS cachedQty#875082, demandChannel#875077, demandStream#875078, kpis#875079 AS cachedKpis#875083]
(166) Join
Arguments: Inner, (((worklistShardItemId#875067L = cachedWorklistShardItemId#875081L) AND (shardId#875066 = cachedShardId#875080)) AND isnull(qty#875073))
(167) Project
Arguments: [shardId#875066, worklistShardItemId#875067L, version#875068, product#875069, plant#875070, qty#875073]
(168) Project
Arguments: [shardId#875066, worklistShardItemId#875067L, version#875068, product#875069, plant#875070, qty#875073]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#875028 <=> shardId#875036) AND (worklistShardItemId#875029L <=> worklistShardItemId#875037L)) AND (version#875030 <=> version#875038)) AND (product#875031 <=> product#875039)) AND (plant#875032 <=> plant#875040)) AND (qty#875035 <=> qty#875064))
(171) Project
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030, product#875031, plant#875032, qty#875035]
(172) Project
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030, product#875031, plant#875032, qty#875035, cast(null as string) AS demandChannel#875084]
(173) Project
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030, product#875031, plant#875032, qty#875035, demandChannel#875084, cast(null as string) AS demandStream#875085]
(174) Project
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030, product#875031, plant#875032, qty#875035, demandChannel#875084, demandStream#875085, array() AS kpis#875086]
(175) Project
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030, product#875031, plant#875032, qty#875035, demandChannel#875084, demandStream#875085, kpis#875086, true AS isNewlyCalculated#875087]
(176) Project
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030, product#875031, plant#875032, qty#875035, demandChannel#875084, demandStream#875085, cast(kpis#875086 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#875088, isNewlyCalculated#875087]
(177) LogicalRDD
Arguments: [shardId#875089, worklistShardItemId#875090L, version#875091, product#875092, plant#875093, periodStart#875094, periodEnd#875095, qty#875096], false
(178) RepartitionByExpression
Arguments: [product#875092, plant#875093], 37
(179) Project
Arguments: [shardId#875089, worklistShardItemId#875090L, version#875091, product#875092, plant#875093, qty#875096]
(180) LogicalRDD
Arguments: [shardId#875097, worklistShardItemId#875098L, qty#875099, demandChannel#875100, demandStream#875101, kpis#875102], false
(181) Project
Arguments: [shardId#875097 AS cachedShardId#875103, worklistShardItemId#875098L AS cachedWorklistShardItemId#875104L, qty#875099 AS cachedQty#875105, demandChannel#875100, demandStream#875101, kpis#875102 AS cachedKpis#875106]
(182) Join
Arguments: Inner, (((worklistShardItemId#875090L = cachedWorklistShardItemId#875104L) AND (shardId#875089 = cachedShardId#875103)) AND ((qty#875096 = cachedQty#875105) OR isnull(qty#875096)))
(183) Project
Arguments: [shardId#875089, worklistShardItemId#875090L, version#875091, product#875092, plant#875093]
(184) Deduplicate
Arguments: [plant#875093, shardId#875089, version#875091, worklistShardItemId#875090L, product#875092]
(185) LogicalRDD
Arguments: [shardId#875107, worklistShardItemId#875108L, qty#875109, demandChannel#875110, demandStream#875111, kpis#875112], false
(186) Project
Arguments: [shardId#875107 AS cachedShardId#875113, worklistShardItemId#875108L AS cachedWorklistShardItemId#875114L, qty#875109 AS cachedQty#875115, demandChannel#875110, demandStream#875111, kpis#875112 AS cachedKpis#875116]
(187) Join
Arguments: Inner, ((worklistShardItemId#875090L = cachedWorklistShardItemId#875114L) AND (shardId#875089 = cachedShardId#875113))
(188) Project
Arguments: [shardId#875089, worklistShardItemId#875090L, version#875091, product#875092, plant#875093, cachedQty#875115 AS qty#875117, demandChannel#875110, demandStream#875111, cachedKpis#875116 AS kpis#875118]
(189) Project
Arguments: [shardId#875089, worklistShardItemId#875090L, version#875091, product#875092, plant#875093, qty#875117, demandChannel#875110, demandStream#875111, kpis#875118, false AS isNewlyCalculated#875119]
(190) Project
Arguments: [shardId#875089, worklistShardItemId#875090L, version#875091, product#875092, plant#875093, qty#875117, demandChannel#875110, demandStream#875111, kpis#875118, isNewlyCalculated#875119]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#875028, worklistShardItemId#875029L, version#875030]
(193) Aggregate
Arguments: [shardId#875028, worklistShardItemId#875029L], [shardId#875028, worklistShardItemId#875029L, (max(version#875030) + 1) AS version#874931]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#875028) AND (worklistShardItemId#815741L = worklistShardItemId#875029L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#871562, demandStream#871563, kpis#871597, version#874931]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#874931, qty#815747, demandChannel#871562, demandStream#871563, kpis#871597]