== 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@5cd939f4, [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#888549, worklistShardItemId#888550L, version#888551, product#888552, plant#888553, periodStart#888554, periodEnd#888555, qty#888556], false
(7) RepartitionByExpression
Arguments: [product#888552, plant#888553], 37
(8) Project
Arguments: [shardId#888549, worklistShardItemId#888550L, version#888551, product#888552, plant#888553, qty#888556]
(9) LogicalRDD
Arguments: [shardId#888304, worklistShardItemId#888305L, qty#888306, demandChannel#888307, demandStream#888308, kpis#888309], false
(10) Project
Arguments: [shardId#888304 AS cachedShardId#888310, worklistShardItemId#888305L AS cachedWorklistShardItemId#888311L, qty#888306 AS cachedQty#888312, demandChannel#888307, demandStream#888308, kpis#888309 AS cachedKpis#888313]
(11) Join
Arguments: Inner, (((worklistShardItemId#888550L = cachedWorklistShardItemId#888311L) AND (shardId#888549 = cachedShardId#888310)) AND ((qty#888556 = cachedQty#888312) OR isnull(qty#888556)))
(12) Project
Arguments: [shardId#888549, worklistShardItemId#888550L, version#888551, product#888552, plant#888553]
(13) Deduplicate
Arguments: [plant#888553, shardId#888549, version#888551, worklistShardItemId#888550L, product#888552]
(14) LogicalRDD
Arguments: [shardId#888314, worklistShardItemId#888315L, qty#888316, demandChannel#888317, demandStream#888318, kpis#888319], false
(15) Project
Arguments: [shardId#888314 AS cachedShardId#888320, worklistShardItemId#888315L AS cachedWorklistShardItemId#888321L, qty#888316 AS cachedQty#888322, demandChannel#888317, demandStream#888318, kpis#888319 AS cachedKpis#888323]
(16) Join
Arguments: Inner, ((worklistShardItemId#888550L = cachedWorklistShardItemId#888321L) AND (shardId#888549 = cachedShardId#888320))
(17) Project
Arguments: [shardId#888549, worklistShardItemId#888550L, version#888551, product#888552, plant#888553, cachedQty#888322 AS qty#888324, demandChannel#888317, demandStream#888318, cachedKpis#888323 AS kpis#888325]
(18) Project
Arguments: [shardId#888549, worklistShardItemId#888550L, version#888551, product#888552, plant#888553, qty#888324]
(19) LogicalRDD
Arguments: [shardId#888531, worklistShardItemId#888532L, version#888533, product#888534, plant#888535, periodStart#888536, periodEnd#888537, qty#888538], false
(20) RepartitionByExpression
Arguments: [product#888534, plant#888535], 37
(21) Project
Arguments: [shardId#888531, worklistShardItemId#888532L, version#888533, product#888534, plant#888535, qty#888538]
(22) LogicalRDD
Arguments: [shardId#888539, worklistShardItemId#888540L, qty#888541, demandChannel#888542, demandStream#888543, kpis#888544], false
(23) Project
Arguments: [shardId#888539 AS cachedShardId#888545, worklistShardItemId#888540L AS cachedWorklistShardItemId#888546L, qty#888541 AS cachedQty#888547, demandChannel#888542, demandStream#888543, kpis#888544 AS cachedKpis#888548]
(24) Join
Arguments: Inner, (((worklistShardItemId#888532L = cachedWorklistShardItemId#888546L) AND (shardId#888531 = cachedShardId#888545)) AND isnull(qty#888538))
(25) Project
Arguments: [shardId#888531, worklistShardItemId#888532L, version#888533, product#888534, plant#888535, qty#888538]
(26) Project
Arguments: [shardId#888531, worklistShardItemId#888532L, version#888533, product#888534, plant#888535, qty#888538]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#888549) AND (worklistShardItemId#815741L <=> worklistShardItemId#888550L)) AND (version#815742 <=> version#888551)) AND (product#815743 <=> product#888552)) AND (plant#815744 <=> plant#888553)) AND (qty#815747 <=> qty#888324))
(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#888557]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#888557, cast(null as string) AS demandStream#888558]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#888557, demandStream#888558, array() AS kpis#888559]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#888557, demandStream#888558, kpis#888559, true AS isNewlyCalculated#888560]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#888557, demandStream#888558, cast(kpis#888559 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#888592, isNewlyCalculated#888560]
(35) LogicalRDD
Arguments: [shardId#888562, worklistShardItemId#888563L, version#888564, product#888565, plant#888566, periodStart#888567, periodEnd#888568, qty#888569], false
(36) RepartitionByExpression
Arguments: [product#888565, plant#888566], 37
(37) Project
Arguments: [shardId#888562, worklistShardItemId#888563L, version#888564, product#888565, plant#888566, qty#888569]
(38) LogicalRDD
Arguments: [shardId#888570, worklistShardItemId#888571L, qty#888572, demandChannel#888573, demandStream#888574, kpis#888575], false
(39) Project
Arguments: [shardId#888570 AS cachedShardId#888576, worklistShardItemId#888571L AS cachedWorklistShardItemId#888577L, qty#888572 AS cachedQty#888578, demandChannel#888573, demandStream#888574, kpis#888575 AS cachedKpis#888579]
(40) Join
Arguments: Inner, (((worklistShardItemId#888563L = cachedWorklistShardItemId#888577L) AND (shardId#888562 = cachedShardId#888576)) AND ((qty#888569 = cachedQty#888578) OR isnull(qty#888569)))
(41) Project
Arguments: [shardId#888562, worklistShardItemId#888563L, version#888564, product#888565, plant#888566]
(42) Deduplicate
Arguments: [plant#888566, shardId#888562, version#888564, worklistShardItemId#888563L, product#888565]
(43) LogicalRDD
Arguments: [shardId#888580, worklistShardItemId#888581L, qty#888582, demandChannel#888583, demandStream#888584, kpis#888585], false
(44) Project
Arguments: [shardId#888580 AS cachedShardId#888586, worklistShardItemId#888581L AS cachedWorklistShardItemId#888587L, qty#888582 AS cachedQty#888588, demandChannel#888583, demandStream#888584, kpis#888585 AS cachedKpis#888589]
(45) Join
Arguments: Inner, ((worklistShardItemId#888563L = cachedWorklistShardItemId#888587L) AND (shardId#888562 = cachedShardId#888586))
(46) Project
Arguments: [shardId#888562, worklistShardItemId#888563L, version#888564, product#888565, plant#888566, cachedQty#888588 AS qty#888590, demandChannel#888583, demandStream#888584, cachedKpis#888589 AS kpis#888591]
(47) Project
Arguments: [shardId#888562, worklistShardItemId#888563L, version#888564, product#888565, plant#888566, qty#888590, demandChannel#888583, demandStream#888584, kpis#888591, false AS isNewlyCalculated#888561]
(48) Project
Arguments: [shardId#888562, worklistShardItemId#888563L, version#888564, product#888565, plant#888566, qty#888590, demandChannel#888583, demandStream#888584, kpis#888591, isNewlyCalculated#888561]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#888560 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#888557, demandStream#888558, kpis#888592]
(52) ExternalRDD
Arguments: [obj#891056]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70048), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70048), 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, 70048), 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, 70048), 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, 70048), 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, 70048), 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#891059, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70049), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70049), 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, 70050), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70050), 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, 70050), 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, 70050), 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, 70051), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70051), 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, 70051), 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, 70051), 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, 70051), 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, 70050), 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, 70049), 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, 70052), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70052), 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, 70052), 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, 70052), 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, 70052), 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, 70049), 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, 70049), 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, 70049), 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, 70053), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70053), 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, 70054), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70054), 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, 70054), 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, 70054), 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, 70054), 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, 70053), 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, 70053), 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, 70049), 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#891060]
(54) Generate
Arguments: explode(prodPlantResults#891060), false, [prodPlantResults#891067]
(55) Project
Arguments: [prodPlantResults#891067]
(56) Project
Arguments: [prodPlantResults#891067.productId AS product#891086, prodPlantResults#891067.plantId AS plant#891087, prodPlantResults#891067.kpiResults AS kpis#891088]
(57) Project
Arguments: [product#891086, plant#891087, kpis#891088, null AS qty#891092]
(58) Project
Arguments: [product#891086, plant#891087, kpis#891088, qty#891092, cast(null as string) AS demandChannel#891093]
(59) Project
Arguments: [product#891086, plant#891087, kpis#891088, qty#891092, demandChannel#891093, cast(null as string) AS demandStream#891094]
(60) Project
Arguments: [product#891086, plant#891087, kpis#891088, cast(qty#891092 as double) AS qty#891113, demandChannel#891093, demandStream#891094]
(61) ExternalRDD
Arguments: [obj#891109]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70048), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70048), 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, 70048), 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, 70048), 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, 70048), 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, 70048), 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#891110, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70049), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70049), 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, 70050), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70050), 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, 70050), 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, 70050), 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, 70051), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70051), 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, 70051), 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, 70051), 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, 70051), 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, 70050), 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, 70049), 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, 70052), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70052), 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, 70052), 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, 70052), 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, 70052), 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, 70049), 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, 70049), 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, 70049), 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, 70053), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70053), 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, 70054), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70054), 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, 70054), 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, 70054), 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, 70054), 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, 70053), 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, 70053), 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, 70049), 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#891111]
(63) Generate
Arguments: explode(prodPlantResults#891111), false, [prodPlantResults#891112]
(64) Project
Arguments: [prodPlantResults#891112]
(65) Generate
Arguments: explode(prodPlantResults#891112.quantityKpiResults), false, [quantityKpiResults#891079]
(66) Project
Arguments: [prodPlantResults#891112.productId AS product#891073, prodPlantResults#891112.plantId AS plant#891074, quantityKpiResults#891079]
(67) Project
Arguments: [product#891073, plant#891074, quantityKpiResults#891079, quantityKpiResults#891079.quantity AS qty#891080]
(68) Project
Arguments: [product#891073, plant#891074, quantityKpiResults#891079, qty#891080, cast(null as string) AS demandChannel#891082]
(69) Project
Arguments: [product#891073, plant#891074, quantityKpiResults#891079, qty#891080, demandChannel#891082, cast(null as string) AS demandStream#891083]
(70) Project
Arguments: [product#891073, plant#891074, quantityKpiResults#891079, qty#891080, demandChannel#891082, demandStream#891083, quantityKpiResults#891079.kpiResults AS kpis#891084]
(71) Project
Arguments: [product#891073, plant#891074, qty#891080, demandChannel#891082, demandStream#891083, kpis#891084]
(72) Project
Arguments: [product#891073, plant#891074, kpis#891084, qty#891080, demandChannel#891082, demandStream#891083]
(73) ExternalRDD
Arguments: [obj#891114]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70048), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70048), 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, 70048), 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, 70048), 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, 70048), 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, 70048), 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#891115, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70049), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70049), 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, 70050), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70050), 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, 70050), 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, 70050), 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, 70051), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70051), 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, 70051), 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, 70051), 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, 70051), 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, 70050), 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, 70049), 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, 70052), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70052), 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, 70052), 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, 70052), 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, 70052), 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, 70049), 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, 70049), 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, 70049), 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, 70053), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70053), 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, 70054), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70054), 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, 70054), 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, 70054), 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, 70054), 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, 70053), 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, 70053), 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, 70049), 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#891116]
(75) Generate
Arguments: explode(prodPlantResults#891116), false, [prodPlantResults#891117]
(76) Project
Arguments: [prodPlantResults#891117]
(77) Generate
Arguments: explode(prodPlantResults#891117.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#891101]
(78) Project
Arguments: [prodPlantResults#891117.productId AS product#891095, prodPlantResults#891117.plantId AS plant#891096, demandChannelStreamKpiResults#891101]
(79) Project
Arguments: [product#891095, plant#891096, demandChannelStreamKpiResults#891101, null AS qty#891102]
(80) Project
Arguments: [product#891095, plant#891096, demandChannelStreamKpiResults#891101, qty#891102, demandChannelStreamKpiResults#891101.demandChannel AS demandChannel#891103]
(81) Project
Arguments: [product#891095, plant#891096, demandChannelStreamKpiResults#891101, qty#891102, demandChannel#891103, demandChannelStreamKpiResults#891101.demandStream AS demandStream#891105]
(82) Project
Arguments: [product#891095, plant#891096, demandChannelStreamKpiResults#891101, qty#891102, demandChannel#891103, demandStream#891105, demandChannelStreamKpiResults#891101.kpiResults AS kpis#891107]
(83) Project
Arguments: [product#891095, plant#891096, qty#891102, demandChannel#891103, demandStream#891105, kpis#891107]
(84) Project
Arguments: [product#891095, plant#891096, kpis#891107, qty#891102, demandChannel#891103, demandStream#891105]
(85) Project
Arguments: [product#891095, plant#891096, kpis#891107, cast(qty#891102 as double) AS qty#891118, demandChannel#891103, demandStream#891105]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#891086, plant#891087, transform(kpis#891088, lambdafunction(struct(label, lambda kpi#891123.label, dateTime, lambda kpi#891123.datetime, value, lambda kpi#891123.value), lambda kpi#891123, false)) AS kpis#891122, qty#891113, demandChannel#891093, demandStream#891094]
(88) Project
Arguments: [product#891086, plant#891087, qty#891113, demandChannel#891093, demandStream#891094, kpis#891122]
(89) LogicalRDD
Arguments: [shardId#891931, worklistShardItemId#891932L, version#891933, product#891934, plant#891935, periodStart#891936, periodEnd#891937, qty#891938], false
(90) RepartitionByExpression
Arguments: [product#891934, plant#891935], 37
(91) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, version#891933, product#891934, plant#891935, qty#891938]
(92) LogicalRDD
Arguments: [shardId#891939, worklistShardItemId#891940L, version#891941, product#891942, plant#891943, periodStart#891944, periodEnd#891945, qty#891946], false
(93) RepartitionByExpression
Arguments: [product#891942, plant#891943], 37
(94) Project
Arguments: [shardId#891939, worklistShardItemId#891940L, version#891941, product#891942, plant#891943, qty#891946]
(95) LogicalRDD
Arguments: [shardId#891947, worklistShardItemId#891948L, qty#891949, demandChannel#891950, demandStream#891951, kpis#891952], false
(96) Project
Arguments: [shardId#891947 AS cachedShardId#891953, worklistShardItemId#891948L AS cachedWorklistShardItemId#891954L, qty#891949 AS cachedQty#891955, demandChannel#891950, demandStream#891951, kpis#891952 AS cachedKpis#891956]
(97) Join
Arguments: Inner, (((worklistShardItemId#891940L = cachedWorklistShardItemId#891954L) AND (shardId#891939 = cachedShardId#891953)) AND ((qty#891946 = cachedQty#891955) OR isnull(qty#891946)))
(98) Project
Arguments: [shardId#891939, worklistShardItemId#891940L, version#891941, product#891942, plant#891943]
(99) Deduplicate
Arguments: [plant#891943, shardId#891939, version#891941, worklistShardItemId#891940L, product#891942]
(100) LogicalRDD
Arguments: [shardId#891957, worklistShardItemId#891958L, qty#891959, demandChannel#891960, demandStream#891961, kpis#891962], false
(101) Project
Arguments: [shardId#891957 AS cachedShardId#891963, worklistShardItemId#891958L AS cachedWorklistShardItemId#891964L, qty#891959 AS cachedQty#891965, demandChannel#891960, demandStream#891961, kpis#891962 AS cachedKpis#891966]
(102) Join
Arguments: Inner, ((worklistShardItemId#891940L = cachedWorklistShardItemId#891964L) AND (shardId#891939 = cachedShardId#891963))
(103) Project
Arguments: [shardId#891939, worklistShardItemId#891940L, version#891941, product#891942, plant#891943, cachedQty#891965 AS qty#891967, demandChannel#891960, demandStream#891961, cachedKpis#891966 AS kpis#891968]
(104) Project
Arguments: [shardId#891939, worklistShardItemId#891940L, version#891941, product#891942, plant#891943, qty#891967]
(105) LogicalRDD
Arguments: [shardId#891969, worklistShardItemId#891970L, version#891971, product#891972, plant#891973, periodStart#891974, periodEnd#891975, qty#891976], false
(106) RepartitionByExpression
Arguments: [product#891972, plant#891973], 37
(107) Project
Arguments: [shardId#891969, worklistShardItemId#891970L, version#891971, product#891972, plant#891973, qty#891976]
(108) LogicalRDD
Arguments: [shardId#891977, worklistShardItemId#891978L, qty#891979, demandChannel#891980, demandStream#891981, kpis#891982], false
(109) Project
Arguments: [shardId#891977 AS cachedShardId#891983, worklistShardItemId#891978L AS cachedWorklistShardItemId#891984L, qty#891979 AS cachedQty#891985, demandChannel#891980, demandStream#891981, kpis#891982 AS cachedKpis#891986]
(110) Join
Arguments: Inner, (((worklistShardItemId#891970L = cachedWorklistShardItemId#891984L) AND (shardId#891969 = cachedShardId#891983)) AND isnull(qty#891976))
(111) Project
Arguments: [shardId#891969, worklistShardItemId#891970L, version#891971, product#891972, plant#891973, qty#891976]
(112) Project
Arguments: [shardId#891969, worklistShardItemId#891970L, version#891971, product#891972, plant#891973, qty#891976]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#891931 <=> shardId#891939) AND (worklistShardItemId#891932L <=> worklistShardItemId#891940L)) AND (version#891933 <=> version#891941)) AND (product#891934 <=> product#891942)) AND (plant#891935 <=> plant#891943)) AND (qty#891938 <=> qty#891967))
(115) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, version#891933, product#891934, plant#891935, qty#891938]
(116) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, version#891933, product#891934, plant#891935, qty#891938, cast(null as string) AS demandChannel#891987]
(117) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, version#891933, product#891934, plant#891935, qty#891938, demandChannel#891987, cast(null as string) AS demandStream#891988]
(118) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, version#891933, product#891934, plant#891935, qty#891938, demandChannel#891987, demandStream#891988, array() AS kpis#891989]
(119) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, version#891933, product#891934, plant#891935, qty#891938, demandChannel#891987, demandStream#891988, kpis#891989, true AS isNewlyCalculated#891990]
(120) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, version#891933, product#891934, plant#891935, qty#891938, demandChannel#891987, demandStream#891988, cast(kpis#891989 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#891991, isNewlyCalculated#891990]
(121) LogicalRDD
Arguments: [shardId#891992, worklistShardItemId#891993L, version#891994, product#891995, plant#891996, periodStart#891997, periodEnd#891998, qty#891999], false
(122) RepartitionByExpression
Arguments: [product#891995, plant#891996], 37
(123) Project
Arguments: [shardId#891992, worklistShardItemId#891993L, version#891994, product#891995, plant#891996, qty#891999]
(124) LogicalRDD
Arguments: [shardId#892000, worklistShardItemId#892001L, qty#892002, demandChannel#892003, demandStream#892004, kpis#892005], false
(125) Project
Arguments: [shardId#892000 AS cachedShardId#892006, worklistShardItemId#892001L AS cachedWorklistShardItemId#892007L, qty#892002 AS cachedQty#892008, demandChannel#892003, demandStream#892004, kpis#892005 AS cachedKpis#892009]
(126) Join
Arguments: Inner, (((worklistShardItemId#891993L = cachedWorklistShardItemId#892007L) AND (shardId#891992 = cachedShardId#892006)) AND ((qty#891999 = cachedQty#892008) OR isnull(qty#891999)))
(127) Project
Arguments: [shardId#891992, worklistShardItemId#891993L, version#891994, product#891995, plant#891996]
(128) Deduplicate
Arguments: [plant#891996, shardId#891992, version#891994, worklistShardItemId#891993L, product#891995]
(129) LogicalRDD
Arguments: [shardId#892010, worklistShardItemId#892011L, qty#892012, demandChannel#892013, demandStream#892014, kpis#892015], false
(130) Project
Arguments: [shardId#892010 AS cachedShardId#892016, worklistShardItemId#892011L AS cachedWorklistShardItemId#892017L, qty#892012 AS cachedQty#892018, demandChannel#892013, demandStream#892014, kpis#892015 AS cachedKpis#892019]
(131) Join
Arguments: Inner, ((worklistShardItemId#891993L = cachedWorklistShardItemId#892017L) AND (shardId#891992 = cachedShardId#892016))
(132) Project
Arguments: [shardId#891992, worklistShardItemId#891993L, version#891994, product#891995, plant#891996, cachedQty#892018 AS qty#892020, demandChannel#892013, demandStream#892014, cachedKpis#892019 AS kpis#892021]
(133) Project
Arguments: [shardId#891992, worklistShardItemId#891993L, version#891994, product#891995, plant#891996, qty#892020, demandChannel#892013, demandStream#892014, kpis#892021, false AS isNewlyCalculated#892022]
(134) Project
Arguments: [shardId#891992, worklistShardItemId#891993L, version#891994, product#891995, plant#891996, qty#892020, demandChannel#892013, demandStream#892014, kpis#892021, isNewlyCalculated#892022]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#891990 <=> true)
(137) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, product#891934, plant#891935, qty#891938, kpis#891991]
(138) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, product#891934, plant#891935, qty#891938]
(139) Deduplicate
Arguments: [plant#891935, shardId#891931, qty#891938, worklistShardItemId#891932L, product#891934]
(140) Join
Arguments: Inner, ((product#891086 <=> product#891934) AND ((plant#891087 <=> plant#891935) AND ((qty#891113 <=> qty#891938) OR isnull(qty#891938))))
(141) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, qty#891113, demandChannel#891093, demandStream#891094, kpis#891122]
(142) Deduplicate
Arguments: [demandChannel#891093, shardId#891931, qty#891113, worklistShardItemId#891932L, demandStream#891094]
(143) Project
Arguments: [shardId#891931, worklistShardItemId#891932L, qty#891113, demandChannel#891093, demandStream#891094, kpis#891122]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025, product#892026, plant#892027, periodStart#892028, periodEnd#892029, qty#892030], false
(146) RepartitionByExpression
Arguments: [product#892026, plant#892027], 37
(147) Project
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025, product#892026, plant#892027, qty#892030]
(148) LogicalRDD
Arguments: [shardId#892031, worklistShardItemId#892032L, version#892033, product#892034, plant#892035, periodStart#892036, periodEnd#892037, qty#892038], false
(149) RepartitionByExpression
Arguments: [product#892034, plant#892035], 37
(150) Project
Arguments: [shardId#892031, worklistShardItemId#892032L, version#892033, product#892034, plant#892035, qty#892038]
(151) LogicalRDD
Arguments: [shardId#892039, worklistShardItemId#892040L, qty#892041, demandChannel#892042, demandStream#892043, kpis#892044], false
(152) Project
Arguments: [shardId#892039 AS cachedShardId#892045, worklistShardItemId#892040L AS cachedWorklistShardItemId#892046L, qty#892041 AS cachedQty#892047, demandChannel#892042, demandStream#892043, kpis#892044 AS cachedKpis#892048]
(153) Join
Arguments: Inner, (((worklistShardItemId#892032L = cachedWorklistShardItemId#892046L) AND (shardId#892031 = cachedShardId#892045)) AND ((qty#892038 = cachedQty#892047) OR isnull(qty#892038)))
(154) Project
Arguments: [shardId#892031, worklistShardItemId#892032L, version#892033, product#892034, plant#892035]
(155) Deduplicate
Arguments: [plant#892035, shardId#892031, version#892033, worklistShardItemId#892032L, product#892034]
(156) LogicalRDD
Arguments: [shardId#892049, worklistShardItemId#892050L, qty#892051, demandChannel#892052, demandStream#892053, kpis#892054], false
(157) Project
Arguments: [shardId#892049 AS cachedShardId#892055, worklistShardItemId#892050L AS cachedWorklistShardItemId#892056L, qty#892051 AS cachedQty#892057, demandChannel#892052, demandStream#892053, kpis#892054 AS cachedKpis#892058]
(158) Join
Arguments: Inner, ((worklistShardItemId#892032L = cachedWorklistShardItemId#892056L) AND (shardId#892031 = cachedShardId#892055))
(159) Project
Arguments: [shardId#892031, worklistShardItemId#892032L, version#892033, product#892034, plant#892035, cachedQty#892057 AS qty#892059, demandChannel#892052, demandStream#892053, cachedKpis#892058 AS kpis#892060]
(160) Project
Arguments: [shardId#892031, worklistShardItemId#892032L, version#892033, product#892034, plant#892035, qty#892059]
(161) LogicalRDD
Arguments: [shardId#892061, worklistShardItemId#892062L, version#892063, product#892064, plant#892065, periodStart#892066, periodEnd#892067, qty#892068], false
(162) RepartitionByExpression
Arguments: [product#892064, plant#892065], 37
(163) Project
Arguments: [shardId#892061, worklistShardItemId#892062L, version#892063, product#892064, plant#892065, qty#892068]
(164) LogicalRDD
Arguments: [shardId#892069, worklistShardItemId#892070L, qty#892071, demandChannel#892072, demandStream#892073, kpis#892074], false
(165) Project
Arguments: [shardId#892069 AS cachedShardId#892075, worklistShardItemId#892070L AS cachedWorklistShardItemId#892076L, qty#892071 AS cachedQty#892077, demandChannel#892072, demandStream#892073, kpis#892074 AS cachedKpis#892078]
(166) Join
Arguments: Inner, (((worklistShardItemId#892062L = cachedWorklistShardItemId#892076L) AND (shardId#892061 = cachedShardId#892075)) AND isnull(qty#892068))
(167) Project
Arguments: [shardId#892061, worklistShardItemId#892062L, version#892063, product#892064, plant#892065, qty#892068]
(168) Project
Arguments: [shardId#892061, worklistShardItemId#892062L, version#892063, product#892064, plant#892065, qty#892068]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#892023 <=> shardId#892031) AND (worklistShardItemId#892024L <=> worklistShardItemId#892032L)) AND (version#892025 <=> version#892033)) AND (product#892026 <=> product#892034)) AND (plant#892027 <=> plant#892035)) AND (qty#892030 <=> qty#892059))
(171) Project
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025, product#892026, plant#892027, qty#892030]
(172) Project
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025, product#892026, plant#892027, qty#892030, cast(null as string) AS demandChannel#892079]
(173) Project
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025, product#892026, plant#892027, qty#892030, demandChannel#892079, cast(null as string) AS demandStream#892080]
(174) Project
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025, product#892026, plant#892027, qty#892030, demandChannel#892079, demandStream#892080, array() AS kpis#892081]
(175) Project
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025, product#892026, plant#892027, qty#892030, demandChannel#892079, demandStream#892080, kpis#892081, true AS isNewlyCalculated#892082]
(176) Project
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025, product#892026, plant#892027, qty#892030, demandChannel#892079, demandStream#892080, cast(kpis#892081 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#892083, isNewlyCalculated#892082]
(177) LogicalRDD
Arguments: [shardId#892084, worklistShardItemId#892085L, version#892086, product#892087, plant#892088, periodStart#892089, periodEnd#892090, qty#892091], false
(178) RepartitionByExpression
Arguments: [product#892087, plant#892088], 37
(179) Project
Arguments: [shardId#892084, worklistShardItemId#892085L, version#892086, product#892087, plant#892088, qty#892091]
(180) LogicalRDD
Arguments: [shardId#892092, worklistShardItemId#892093L, qty#892094, demandChannel#892095, demandStream#892096, kpis#892097], false
(181) Project
Arguments: [shardId#892092 AS cachedShardId#892098, worklistShardItemId#892093L AS cachedWorklistShardItemId#892099L, qty#892094 AS cachedQty#892100, demandChannel#892095, demandStream#892096, kpis#892097 AS cachedKpis#892101]
(182) Join
Arguments: Inner, (((worklistShardItemId#892085L = cachedWorklistShardItemId#892099L) AND (shardId#892084 = cachedShardId#892098)) AND ((qty#892091 = cachedQty#892100) OR isnull(qty#892091)))
(183) Project
Arguments: [shardId#892084, worklistShardItemId#892085L, version#892086, product#892087, plant#892088]
(184) Deduplicate
Arguments: [plant#892088, shardId#892084, version#892086, worklistShardItemId#892085L, product#892087]
(185) LogicalRDD
Arguments: [shardId#892102, worklistShardItemId#892103L, qty#892104, demandChannel#892105, demandStream#892106, kpis#892107], false
(186) Project
Arguments: [shardId#892102 AS cachedShardId#892108, worklistShardItemId#892103L AS cachedWorklistShardItemId#892109L, qty#892104 AS cachedQty#892110, demandChannel#892105, demandStream#892106, kpis#892107 AS cachedKpis#892111]
(187) Join
Arguments: Inner, ((worklistShardItemId#892085L = cachedWorklistShardItemId#892109L) AND (shardId#892084 = cachedShardId#892108))
(188) Project
Arguments: [shardId#892084, worklistShardItemId#892085L, version#892086, product#892087, plant#892088, cachedQty#892110 AS qty#892112, demandChannel#892105, demandStream#892106, cachedKpis#892111 AS kpis#892113]
(189) Project
Arguments: [shardId#892084, worklistShardItemId#892085L, version#892086, product#892087, plant#892088, qty#892112, demandChannel#892105, demandStream#892106, kpis#892113, false AS isNewlyCalculated#892114]
(190) Project
Arguments: [shardId#892084, worklistShardItemId#892085L, version#892086, product#892087, plant#892088, qty#892112, demandChannel#892105, demandStream#892106, kpis#892113, isNewlyCalculated#892114]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#892023, worklistShardItemId#892024L, version#892025]
(193) Aggregate
Arguments: [shardId#892023, worklistShardItemId#892024L], [shardId#892023, worklistShardItemId#892024L, (max(version#892025) + 1) AS version#891926]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#892023) AND (worklistShardItemId#815741L = worklistShardItemId#892024L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#888557, demandStream#888558, kpis#888592, version#891926]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#891926, qty#815747, demandChannel#888557, demandStream#888558, kpis#888592]