== 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@be893b4, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000350/stream-10000000350-1], Append
(3) LogicalRDD
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, periodStart#1100462, periodEnd#1100463, qty#1100464], false
(4) RepartitionByExpression
Arguments: [product#1100460, plant#1100461], 37
(5) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464]
(6) LogicalRDD
Arguments: [shardId#1128671, worklistShardItemId#1128672L, version#1128673, product#1128674, plant#1128675, periodStart#1128676, periodEnd#1128677, qty#1128678], false
(7) RepartitionByExpression
Arguments: [product#1128674, plant#1128675], 37
(8) Project
Arguments: [shardId#1128671, worklistShardItemId#1128672L, version#1128673, product#1128674, plant#1128675, qty#1128678]
(9) LogicalRDD
Arguments: [shardId#1128426, worklistShardItemId#1128427L, qty#1128428, demandChannel#1128429, demandStream#1128430, kpis#1128431], false
(10) Project
Arguments: [shardId#1128426 AS cachedShardId#1128432, worklistShardItemId#1128427L AS cachedWorklistShardItemId#1128433L, qty#1128428 AS cachedQty#1128434, demandChannel#1128429, demandStream#1128430, kpis#1128431 AS cachedKpis#1128435]
(11) Join
Arguments: Inner, (((worklistShardItemId#1128672L = cachedWorklistShardItemId#1128433L) AND (shardId#1128671 = cachedShardId#1128432)) AND ((qty#1128678 = cachedQty#1128434) OR isnull(qty#1128678)))
(12) Project
Arguments: [shardId#1128671, worklistShardItemId#1128672L, version#1128673, product#1128674, plant#1128675]
(13) Deduplicate
Arguments: [plant#1128675, shardId#1128671, version#1128673, worklistShardItemId#1128672L, product#1128674]
(14) LogicalRDD
Arguments: [shardId#1128436, worklistShardItemId#1128437L, qty#1128438, demandChannel#1128439, demandStream#1128440, kpis#1128441], false
(15) Project
Arguments: [shardId#1128436 AS cachedShardId#1128442, worklistShardItemId#1128437L AS cachedWorklistShardItemId#1128443L, qty#1128438 AS cachedQty#1128444, demandChannel#1128439, demandStream#1128440, kpis#1128441 AS cachedKpis#1128445]
(16) Join
Arguments: Inner, ((worklistShardItemId#1128672L = cachedWorklistShardItemId#1128443L) AND (shardId#1128671 = cachedShardId#1128442))
(17) Project
Arguments: [shardId#1128671, worklistShardItemId#1128672L, version#1128673, product#1128674, plant#1128675, cachedQty#1128444 AS qty#1128446, demandChannel#1128439, demandStream#1128440, cachedKpis#1128445 AS kpis#1128447]
(18) Project
Arguments: [shardId#1128671, worklistShardItemId#1128672L, version#1128673, product#1128674, plant#1128675, qty#1128446]
(19) LogicalRDD
Arguments: [shardId#1128653, worklistShardItemId#1128654L, version#1128655, product#1128656, plant#1128657, periodStart#1128658, periodEnd#1128659, qty#1128660], false
(20) RepartitionByExpression
Arguments: [product#1128656, plant#1128657], 37
(21) Project
Arguments: [shardId#1128653, worklistShardItemId#1128654L, version#1128655, product#1128656, plant#1128657, qty#1128660]
(22) LogicalRDD
Arguments: [shardId#1128661, worklistShardItemId#1128662L, qty#1128663, demandChannel#1128664, demandStream#1128665, kpis#1128666], false
(23) Project
Arguments: [shardId#1128661 AS cachedShardId#1128667, worklistShardItemId#1128662L AS cachedWorklistShardItemId#1128668L, qty#1128663 AS cachedQty#1128669, demandChannel#1128664, demandStream#1128665, kpis#1128666 AS cachedKpis#1128670]
(24) Join
Arguments: Inner, (((worklistShardItemId#1128654L = cachedWorklistShardItemId#1128668L) AND (shardId#1128653 = cachedShardId#1128667)) AND isnull(qty#1128660))
(25) Project
Arguments: [shardId#1128653, worklistShardItemId#1128654L, version#1128655, product#1128656, plant#1128657, qty#1128660]
(26) Project
Arguments: [shardId#1128653, worklistShardItemId#1128654L, version#1128655, product#1128656, plant#1128657, qty#1128660]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1100457 <=> shardId#1128671) AND (worklistShardItemId#1100458L <=> worklistShardItemId#1128672L)) AND (version#1100459 <=> version#1128673)) AND (product#1100460 <=> product#1128674)) AND (plant#1100461 <=> plant#1128675)) AND (qty#1100464 <=> qty#1128446))
(29) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464]
(30) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, cast(null as string) AS demandChannel#1128679]
(31) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1128679, cast(null as string) AS demandStream#1128680]
(32) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1128679, demandStream#1128680, array() AS kpis#1128681]
(33) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1128679, demandStream#1128680, kpis#1128681, true AS isNewlyCalculated#1128682]
(34) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1128679, demandStream#1128680, cast(kpis#1128681 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1128714, isNewlyCalculated#1128682]
(35) LogicalRDD
Arguments: [shardId#1128684, worklistShardItemId#1128685L, version#1128686, product#1128687, plant#1128688, periodStart#1128689, periodEnd#1128690, qty#1128691], false
(36) RepartitionByExpression
Arguments: [product#1128687, plant#1128688], 37
(37) Project
Arguments: [shardId#1128684, worklistShardItemId#1128685L, version#1128686, product#1128687, plant#1128688, qty#1128691]
(38) LogicalRDD
Arguments: [shardId#1128692, worklistShardItemId#1128693L, qty#1128694, demandChannel#1128695, demandStream#1128696, kpis#1128697], false
(39) Project
Arguments: [shardId#1128692 AS cachedShardId#1128698, worklistShardItemId#1128693L AS cachedWorklistShardItemId#1128699L, qty#1128694 AS cachedQty#1128700, demandChannel#1128695, demandStream#1128696, kpis#1128697 AS cachedKpis#1128701]
(40) Join
Arguments: Inner, (((worklistShardItemId#1128685L = cachedWorklistShardItemId#1128699L) AND (shardId#1128684 = cachedShardId#1128698)) AND ((qty#1128691 = cachedQty#1128700) OR isnull(qty#1128691)))
(41) Project
Arguments: [shardId#1128684, worklistShardItemId#1128685L, version#1128686, product#1128687, plant#1128688]
(42) Deduplicate
Arguments: [plant#1128688, shardId#1128684, version#1128686, worklistShardItemId#1128685L, product#1128687]
(43) LogicalRDD
Arguments: [shardId#1128702, worklistShardItemId#1128703L, qty#1128704, demandChannel#1128705, demandStream#1128706, kpis#1128707], false
(44) Project
Arguments: [shardId#1128702 AS cachedShardId#1128708, worklistShardItemId#1128703L AS cachedWorklistShardItemId#1128709L, qty#1128704 AS cachedQty#1128710, demandChannel#1128705, demandStream#1128706, kpis#1128707 AS cachedKpis#1128711]
(45) Join
Arguments: Inner, ((worklistShardItemId#1128685L = cachedWorklistShardItemId#1128709L) AND (shardId#1128684 = cachedShardId#1128708))
(46) Project
Arguments: [shardId#1128684, worklistShardItemId#1128685L, version#1128686, product#1128687, plant#1128688, cachedQty#1128710 AS qty#1128712, demandChannel#1128705, demandStream#1128706, cachedKpis#1128711 AS kpis#1128713]
(47) Project
Arguments: [shardId#1128684, worklistShardItemId#1128685L, version#1128686, product#1128687, plant#1128688, qty#1128712, demandChannel#1128705, demandStream#1128706, kpis#1128713, false AS isNewlyCalculated#1128683]
(48) Project
Arguments: [shardId#1128684, worklistShardItemId#1128685L, version#1128686, product#1128687, plant#1128688, qty#1128712, demandChannel#1128705, demandStream#1128706, kpis#1128713, isNewlyCalculated#1128683]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1128682 <=> false)
(51) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, qty#1100464, demandChannel#1128679, demandStream#1128680, kpis#1128714]
(52) ExternalRDD
Arguments: [obj#1131178]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89450), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89450), 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, 89450), 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, 89450), 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, 89450), 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, 89450), 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#1131181, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89451), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89451), 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, 89452), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89452), 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, 89452), 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, 89452), 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, 89453), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89453), 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, 89453), 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, 89453), 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, 89453), 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, 89452), 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, 89451), 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, 89454), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89454), 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, 89454), 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, 89454), 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, 89454), 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, 89451), 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, 89451), 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, 89451), 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, 89455), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89455), 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, 89456), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89456), 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, 89456), 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, 89456), 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, 89456), 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, 89455), 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, 89455), 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, 89451), 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#1131182]
(54) Generate
Arguments: explode(prodPlantResults#1131182), false, [prodPlantResults#1131189]
(55) Project
Arguments: [prodPlantResults#1131189]
(56) Project
Arguments: [prodPlantResults#1131189.productId AS product#1131208, prodPlantResults#1131189.plantId AS plant#1131209, prodPlantResults#1131189.kpiResults AS kpis#1131210]
(57) Project
Arguments: [product#1131208, plant#1131209, kpis#1131210, null AS qty#1131214]
(58) Project
Arguments: [product#1131208, plant#1131209, kpis#1131210, qty#1131214, cast(null as string) AS demandChannel#1131215]
(59) Project
Arguments: [product#1131208, plant#1131209, kpis#1131210, qty#1131214, demandChannel#1131215, cast(null as string) AS demandStream#1131216]
(60) Project
Arguments: [product#1131208, plant#1131209, kpis#1131210, cast(qty#1131214 as double) AS qty#1131235, demandChannel#1131215, demandStream#1131216]
(61) ExternalRDD
Arguments: [obj#1131231]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89450), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89450), 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, 89450), 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, 89450), 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, 89450), 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, 89450), 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#1131232, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89451), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89451), 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, 89452), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89452), 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, 89452), 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, 89452), 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, 89453), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89453), 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, 89453), 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, 89453), 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, 89453), 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, 89452), 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, 89451), 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, 89454), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89454), 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, 89454), 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, 89454), 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, 89454), 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, 89451), 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, 89451), 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, 89451), 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, 89455), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89455), 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, 89456), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89456), 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, 89456), 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, 89456), 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, 89456), 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, 89455), 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, 89455), 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, 89451), 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#1131233]
(63) Generate
Arguments: explode(prodPlantResults#1131233), false, [prodPlantResults#1131234]
(64) Project
Arguments: [prodPlantResults#1131234]
(65) Generate
Arguments: explode(prodPlantResults#1131234.quantityKpiResults), false, [quantityKpiResults#1131201]
(66) Project
Arguments: [prodPlantResults#1131234.productId AS product#1131195, prodPlantResults#1131234.plantId AS plant#1131196, quantityKpiResults#1131201]
(67) Project
Arguments: [product#1131195, plant#1131196, quantityKpiResults#1131201, quantityKpiResults#1131201.quantity AS qty#1131202]
(68) Project
Arguments: [product#1131195, plant#1131196, quantityKpiResults#1131201, qty#1131202, cast(null as string) AS demandChannel#1131204]
(69) Project
Arguments: [product#1131195, plant#1131196, quantityKpiResults#1131201, qty#1131202, demandChannel#1131204, cast(null as string) AS demandStream#1131205]
(70) Project
Arguments: [product#1131195, plant#1131196, quantityKpiResults#1131201, qty#1131202, demandChannel#1131204, demandStream#1131205, quantityKpiResults#1131201.kpiResults AS kpis#1131206]
(71) Project
Arguments: [product#1131195, plant#1131196, qty#1131202, demandChannel#1131204, demandStream#1131205, kpis#1131206]
(72) Project
Arguments: [product#1131195, plant#1131196, kpis#1131206, qty#1131202, demandChannel#1131204, demandStream#1131205]
(73) ExternalRDD
Arguments: [obj#1131236]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89450), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89450), 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, 89450), 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, 89450), 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, 89450), 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, 89450), 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#1131237, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89451), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89451), 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, 89452), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89452), 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, 89452), 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, 89452), 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, 89453), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89453), 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, 89453), 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, 89453), 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, 89453), 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, 89452), 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, 89451), 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, 89454), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89454), 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, 89454), 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, 89454), 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, 89454), 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, 89451), 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, 89451), 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, 89451), 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, 89455), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89455), 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, 89456), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89456), 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, 89456), 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, 89456), 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, 89456), 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, 89455), 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, 89455), 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, 89451), 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#1131238]
(75) Generate
Arguments: explode(prodPlantResults#1131238), false, [prodPlantResults#1131239]
(76) Project
Arguments: [prodPlantResults#1131239]
(77) Generate
Arguments: explode(prodPlantResults#1131239.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1131223]
(78) Project
Arguments: [prodPlantResults#1131239.productId AS product#1131217, prodPlantResults#1131239.plantId AS plant#1131218, demandChannelStreamKpiResults#1131223]
(79) Project
Arguments: [product#1131217, plant#1131218, demandChannelStreamKpiResults#1131223, null AS qty#1131224]
(80) Project
Arguments: [product#1131217, plant#1131218, demandChannelStreamKpiResults#1131223, qty#1131224, demandChannelStreamKpiResults#1131223.demandChannel AS demandChannel#1131225]
(81) Project
Arguments: [product#1131217, plant#1131218, demandChannelStreamKpiResults#1131223, qty#1131224, demandChannel#1131225, demandChannelStreamKpiResults#1131223.demandStream AS demandStream#1131227]
(82) Project
Arguments: [product#1131217, plant#1131218, demandChannelStreamKpiResults#1131223, qty#1131224, demandChannel#1131225, demandStream#1131227, demandChannelStreamKpiResults#1131223.kpiResults AS kpis#1131229]
(83) Project
Arguments: [product#1131217, plant#1131218, qty#1131224, demandChannel#1131225, demandStream#1131227, kpis#1131229]
(84) Project
Arguments: [product#1131217, plant#1131218, kpis#1131229, qty#1131224, demandChannel#1131225, demandStream#1131227]
(85) Project
Arguments: [product#1131217, plant#1131218, kpis#1131229, cast(qty#1131224 as double) AS qty#1131240, demandChannel#1131225, demandStream#1131227]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1131208, plant#1131209, transform(kpis#1131210, lambdafunction(struct(label, lambda kpi#1131245.label, dateTime, lambda kpi#1131245.datetime, value, lambda kpi#1131245.value), lambda kpi#1131245, false)) AS kpis#1131244, qty#1131235, demandChannel#1131215, demandStream#1131216]
(88) Project
Arguments: [product#1131208, plant#1131209, qty#1131235, demandChannel#1131215, demandStream#1131216, kpis#1131244]
(89) LogicalRDD
Arguments: [shardId#1132053, worklistShardItemId#1132054L, version#1132055, product#1132056, plant#1132057, periodStart#1132058, periodEnd#1132059, qty#1132060], false
(90) RepartitionByExpression
Arguments: [product#1132056, plant#1132057], 37
(91) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, version#1132055, product#1132056, plant#1132057, qty#1132060]
(92) LogicalRDD
Arguments: [shardId#1132061, worklistShardItemId#1132062L, version#1132063, product#1132064, plant#1132065, periodStart#1132066, periodEnd#1132067, qty#1132068], false
(93) RepartitionByExpression
Arguments: [product#1132064, plant#1132065], 37
(94) Project
Arguments: [shardId#1132061, worklistShardItemId#1132062L, version#1132063, product#1132064, plant#1132065, qty#1132068]
(95) LogicalRDD
Arguments: [shardId#1132069, worklistShardItemId#1132070L, qty#1132071, demandChannel#1132072, demandStream#1132073, kpis#1132074], false
(96) Project
Arguments: [shardId#1132069 AS cachedShardId#1132075, worklistShardItemId#1132070L AS cachedWorklistShardItemId#1132076L, qty#1132071 AS cachedQty#1132077, demandChannel#1132072, demandStream#1132073, kpis#1132074 AS cachedKpis#1132078]
(97) Join
Arguments: Inner, (((worklistShardItemId#1132062L = cachedWorklistShardItemId#1132076L) AND (shardId#1132061 = cachedShardId#1132075)) AND ((qty#1132068 = cachedQty#1132077) OR isnull(qty#1132068)))
(98) Project
Arguments: [shardId#1132061, worklistShardItemId#1132062L, version#1132063, product#1132064, plant#1132065]
(99) Deduplicate
Arguments: [plant#1132065, shardId#1132061, version#1132063, worklistShardItemId#1132062L, product#1132064]
(100) LogicalRDD
Arguments: [shardId#1132079, worklistShardItemId#1132080L, qty#1132081, demandChannel#1132082, demandStream#1132083, kpis#1132084], false
(101) Project
Arguments: [shardId#1132079 AS cachedShardId#1132085, worklistShardItemId#1132080L AS cachedWorklistShardItemId#1132086L, qty#1132081 AS cachedQty#1132087, demandChannel#1132082, demandStream#1132083, kpis#1132084 AS cachedKpis#1132088]
(102) Join
Arguments: Inner, ((worklistShardItemId#1132062L = cachedWorklistShardItemId#1132086L) AND (shardId#1132061 = cachedShardId#1132085))
(103) Project
Arguments: [shardId#1132061, worklistShardItemId#1132062L, version#1132063, product#1132064, plant#1132065, cachedQty#1132087 AS qty#1132089, demandChannel#1132082, demandStream#1132083, cachedKpis#1132088 AS kpis#1132090]
(104) Project
Arguments: [shardId#1132061, worklistShardItemId#1132062L, version#1132063, product#1132064, plant#1132065, qty#1132089]
(105) LogicalRDD
Arguments: [shardId#1132091, worklistShardItemId#1132092L, version#1132093, product#1132094, plant#1132095, periodStart#1132096, periodEnd#1132097, qty#1132098], false
(106) RepartitionByExpression
Arguments: [product#1132094, plant#1132095], 37
(107) Project
Arguments: [shardId#1132091, worklistShardItemId#1132092L, version#1132093, product#1132094, plant#1132095, qty#1132098]
(108) LogicalRDD
Arguments: [shardId#1132099, worklistShardItemId#1132100L, qty#1132101, demandChannel#1132102, demandStream#1132103, kpis#1132104], false
(109) Project
Arguments: [shardId#1132099 AS cachedShardId#1132105, worklistShardItemId#1132100L AS cachedWorklistShardItemId#1132106L, qty#1132101 AS cachedQty#1132107, demandChannel#1132102, demandStream#1132103, kpis#1132104 AS cachedKpis#1132108]
(110) Join
Arguments: Inner, (((worklistShardItemId#1132092L = cachedWorklistShardItemId#1132106L) AND (shardId#1132091 = cachedShardId#1132105)) AND isnull(qty#1132098))
(111) Project
Arguments: [shardId#1132091, worklistShardItemId#1132092L, version#1132093, product#1132094, plant#1132095, qty#1132098]
(112) Project
Arguments: [shardId#1132091, worklistShardItemId#1132092L, version#1132093, product#1132094, plant#1132095, qty#1132098]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1132053 <=> shardId#1132061) AND (worklistShardItemId#1132054L <=> worklistShardItemId#1132062L)) AND (version#1132055 <=> version#1132063)) AND (product#1132056 <=> product#1132064)) AND (plant#1132057 <=> plant#1132065)) AND (qty#1132060 <=> qty#1132089))
(115) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, version#1132055, product#1132056, plant#1132057, qty#1132060]
(116) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, version#1132055, product#1132056, plant#1132057, qty#1132060, cast(null as string) AS demandChannel#1132109]
(117) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, version#1132055, product#1132056, plant#1132057, qty#1132060, demandChannel#1132109, cast(null as string) AS demandStream#1132110]
(118) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, version#1132055, product#1132056, plant#1132057, qty#1132060, demandChannel#1132109, demandStream#1132110, array() AS kpis#1132111]
(119) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, version#1132055, product#1132056, plant#1132057, qty#1132060, demandChannel#1132109, demandStream#1132110, kpis#1132111, true AS isNewlyCalculated#1132112]
(120) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, version#1132055, product#1132056, plant#1132057, qty#1132060, demandChannel#1132109, demandStream#1132110, cast(kpis#1132111 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1132113, isNewlyCalculated#1132112]
(121) LogicalRDD
Arguments: [shardId#1132114, worklistShardItemId#1132115L, version#1132116, product#1132117, plant#1132118, periodStart#1132119, periodEnd#1132120, qty#1132121], false
(122) RepartitionByExpression
Arguments: [product#1132117, plant#1132118], 37
(123) Project
Arguments: [shardId#1132114, worklistShardItemId#1132115L, version#1132116, product#1132117, plant#1132118, qty#1132121]
(124) LogicalRDD
Arguments: [shardId#1132122, worklistShardItemId#1132123L, qty#1132124, demandChannel#1132125, demandStream#1132126, kpis#1132127], false
(125) Project
Arguments: [shardId#1132122 AS cachedShardId#1132128, worklistShardItemId#1132123L AS cachedWorklistShardItemId#1132129L, qty#1132124 AS cachedQty#1132130, demandChannel#1132125, demandStream#1132126, kpis#1132127 AS cachedKpis#1132131]
(126) Join
Arguments: Inner, (((worklistShardItemId#1132115L = cachedWorklistShardItemId#1132129L) AND (shardId#1132114 = cachedShardId#1132128)) AND ((qty#1132121 = cachedQty#1132130) OR isnull(qty#1132121)))
(127) Project
Arguments: [shardId#1132114, worklistShardItemId#1132115L, version#1132116, product#1132117, plant#1132118]
(128) Deduplicate
Arguments: [plant#1132118, shardId#1132114, version#1132116, worklistShardItemId#1132115L, product#1132117]
(129) LogicalRDD
Arguments: [shardId#1132132, worklistShardItemId#1132133L, qty#1132134, demandChannel#1132135, demandStream#1132136, kpis#1132137], false
(130) Project
Arguments: [shardId#1132132 AS cachedShardId#1132138, worklistShardItemId#1132133L AS cachedWorklistShardItemId#1132139L, qty#1132134 AS cachedQty#1132140, demandChannel#1132135, demandStream#1132136, kpis#1132137 AS cachedKpis#1132141]
(131) Join
Arguments: Inner, ((worklistShardItemId#1132115L = cachedWorklistShardItemId#1132139L) AND (shardId#1132114 = cachedShardId#1132138))
(132) Project
Arguments: [shardId#1132114, worklistShardItemId#1132115L, version#1132116, product#1132117, plant#1132118, cachedQty#1132140 AS qty#1132142, demandChannel#1132135, demandStream#1132136, cachedKpis#1132141 AS kpis#1132143]
(133) Project
Arguments: [shardId#1132114, worklistShardItemId#1132115L, version#1132116, product#1132117, plant#1132118, qty#1132142, demandChannel#1132135, demandStream#1132136, kpis#1132143, false AS isNewlyCalculated#1132144]
(134) Project
Arguments: [shardId#1132114, worklistShardItemId#1132115L, version#1132116, product#1132117, plant#1132118, qty#1132142, demandChannel#1132135, demandStream#1132136, kpis#1132143, isNewlyCalculated#1132144]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1132112 <=> true)
(137) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, product#1132056, plant#1132057, qty#1132060, kpis#1132113]
(138) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, product#1132056, plant#1132057, qty#1132060]
(139) Deduplicate
Arguments: [plant#1132057, shardId#1132053, qty#1132060, worklistShardItemId#1132054L, product#1132056]
(140) Join
Arguments: Inner, ((product#1131208 <=> product#1132056) AND ((plant#1131209 <=> plant#1132057) AND ((qty#1131235 <=> qty#1132060) OR isnull(qty#1132060))))
(141) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, qty#1131235, demandChannel#1131215, demandStream#1131216, kpis#1131244]
(142) Deduplicate
Arguments: [demandChannel#1131215, shardId#1132053, qty#1131235, worklistShardItemId#1132054L, demandStream#1131216]
(143) Project
Arguments: [shardId#1132053, worklistShardItemId#1132054L, qty#1131235, demandChannel#1131215, demandStream#1131216, kpis#1131244]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147, product#1132148, plant#1132149, periodStart#1132150, periodEnd#1132151, qty#1132152], false
(146) RepartitionByExpression
Arguments: [product#1132148, plant#1132149], 37
(147) Project
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147, product#1132148, plant#1132149, qty#1132152]
(148) LogicalRDD
Arguments: [shardId#1132153, worklistShardItemId#1132154L, version#1132155, product#1132156, plant#1132157, periodStart#1132158, periodEnd#1132159, qty#1132160], false
(149) RepartitionByExpression
Arguments: [product#1132156, plant#1132157], 37
(150) Project
Arguments: [shardId#1132153, worklistShardItemId#1132154L, version#1132155, product#1132156, plant#1132157, qty#1132160]
(151) LogicalRDD
Arguments: [shardId#1132161, worklistShardItemId#1132162L, qty#1132163, demandChannel#1132164, demandStream#1132165, kpis#1132166], false
(152) Project
Arguments: [shardId#1132161 AS cachedShardId#1132167, worklistShardItemId#1132162L AS cachedWorklistShardItemId#1132168L, qty#1132163 AS cachedQty#1132169, demandChannel#1132164, demandStream#1132165, kpis#1132166 AS cachedKpis#1132170]
(153) Join
Arguments: Inner, (((worklistShardItemId#1132154L = cachedWorklistShardItemId#1132168L) AND (shardId#1132153 = cachedShardId#1132167)) AND ((qty#1132160 = cachedQty#1132169) OR isnull(qty#1132160)))
(154) Project
Arguments: [shardId#1132153, worklistShardItemId#1132154L, version#1132155, product#1132156, plant#1132157]
(155) Deduplicate
Arguments: [plant#1132157, shardId#1132153, version#1132155, worklistShardItemId#1132154L, product#1132156]
(156) LogicalRDD
Arguments: [shardId#1132171, worklistShardItemId#1132172L, qty#1132173, demandChannel#1132174, demandStream#1132175, kpis#1132176], false
(157) Project
Arguments: [shardId#1132171 AS cachedShardId#1132177, worklistShardItemId#1132172L AS cachedWorklistShardItemId#1132178L, qty#1132173 AS cachedQty#1132179, demandChannel#1132174, demandStream#1132175, kpis#1132176 AS cachedKpis#1132180]
(158) Join
Arguments: Inner, ((worklistShardItemId#1132154L = cachedWorklistShardItemId#1132178L) AND (shardId#1132153 = cachedShardId#1132177))
(159) Project
Arguments: [shardId#1132153, worklistShardItemId#1132154L, version#1132155, product#1132156, plant#1132157, cachedQty#1132179 AS qty#1132181, demandChannel#1132174, demandStream#1132175, cachedKpis#1132180 AS kpis#1132182]
(160) Project
Arguments: [shardId#1132153, worklistShardItemId#1132154L, version#1132155, product#1132156, plant#1132157, qty#1132181]
(161) LogicalRDD
Arguments: [shardId#1132183, worklistShardItemId#1132184L, version#1132185, product#1132186, plant#1132187, periodStart#1132188, periodEnd#1132189, qty#1132190], false
(162) RepartitionByExpression
Arguments: [product#1132186, plant#1132187], 37
(163) Project
Arguments: [shardId#1132183, worklistShardItemId#1132184L, version#1132185, product#1132186, plant#1132187, qty#1132190]
(164) LogicalRDD
Arguments: [shardId#1132191, worklistShardItemId#1132192L, qty#1132193, demandChannel#1132194, demandStream#1132195, kpis#1132196], false
(165) Project
Arguments: [shardId#1132191 AS cachedShardId#1132197, worklistShardItemId#1132192L AS cachedWorklistShardItemId#1132198L, qty#1132193 AS cachedQty#1132199, demandChannel#1132194, demandStream#1132195, kpis#1132196 AS cachedKpis#1132200]
(166) Join
Arguments: Inner, (((worklistShardItemId#1132184L = cachedWorklistShardItemId#1132198L) AND (shardId#1132183 = cachedShardId#1132197)) AND isnull(qty#1132190))
(167) Project
Arguments: [shardId#1132183, worklistShardItemId#1132184L, version#1132185, product#1132186, plant#1132187, qty#1132190]
(168) Project
Arguments: [shardId#1132183, worklistShardItemId#1132184L, version#1132185, product#1132186, plant#1132187, qty#1132190]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1132145 <=> shardId#1132153) AND (worklistShardItemId#1132146L <=> worklistShardItemId#1132154L)) AND (version#1132147 <=> version#1132155)) AND (product#1132148 <=> product#1132156)) AND (plant#1132149 <=> plant#1132157)) AND (qty#1132152 <=> qty#1132181))
(171) Project
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147, product#1132148, plant#1132149, qty#1132152]
(172) Project
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147, product#1132148, plant#1132149, qty#1132152, cast(null as string) AS demandChannel#1132201]
(173) Project
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147, product#1132148, plant#1132149, qty#1132152, demandChannel#1132201, cast(null as string) AS demandStream#1132202]
(174) Project
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147, product#1132148, plant#1132149, qty#1132152, demandChannel#1132201, demandStream#1132202, array() AS kpis#1132203]
(175) Project
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147, product#1132148, plant#1132149, qty#1132152, demandChannel#1132201, demandStream#1132202, kpis#1132203, true AS isNewlyCalculated#1132204]
(176) Project
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147, product#1132148, plant#1132149, qty#1132152, demandChannel#1132201, demandStream#1132202, cast(kpis#1132203 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1132205, isNewlyCalculated#1132204]
(177) LogicalRDD
Arguments: [shardId#1132206, worklistShardItemId#1132207L, version#1132208, product#1132209, plant#1132210, periodStart#1132211, periodEnd#1132212, qty#1132213], false
(178) RepartitionByExpression
Arguments: [product#1132209, plant#1132210], 37
(179) Project
Arguments: [shardId#1132206, worklistShardItemId#1132207L, version#1132208, product#1132209, plant#1132210, qty#1132213]
(180) LogicalRDD
Arguments: [shardId#1132214, worklistShardItemId#1132215L, qty#1132216, demandChannel#1132217, demandStream#1132218, kpis#1132219], false
(181) Project
Arguments: [shardId#1132214 AS cachedShardId#1132220, worklistShardItemId#1132215L AS cachedWorklistShardItemId#1132221L, qty#1132216 AS cachedQty#1132222, demandChannel#1132217, demandStream#1132218, kpis#1132219 AS cachedKpis#1132223]
(182) Join
Arguments: Inner, (((worklistShardItemId#1132207L = cachedWorklistShardItemId#1132221L) AND (shardId#1132206 = cachedShardId#1132220)) AND ((qty#1132213 = cachedQty#1132222) OR isnull(qty#1132213)))
(183) Project
Arguments: [shardId#1132206, worklistShardItemId#1132207L, version#1132208, product#1132209, plant#1132210]
(184) Deduplicate
Arguments: [plant#1132210, shardId#1132206, version#1132208, worklistShardItemId#1132207L, product#1132209]
(185) LogicalRDD
Arguments: [shardId#1132224, worklistShardItemId#1132225L, qty#1132226, demandChannel#1132227, demandStream#1132228, kpis#1132229], false
(186) Project
Arguments: [shardId#1132224 AS cachedShardId#1132230, worklistShardItemId#1132225L AS cachedWorklistShardItemId#1132231L, qty#1132226 AS cachedQty#1132232, demandChannel#1132227, demandStream#1132228, kpis#1132229 AS cachedKpis#1132233]
(187) Join
Arguments: Inner, ((worklistShardItemId#1132207L = cachedWorklistShardItemId#1132231L) AND (shardId#1132206 = cachedShardId#1132230))
(188) Project
Arguments: [shardId#1132206, worklistShardItemId#1132207L, version#1132208, product#1132209, plant#1132210, cachedQty#1132232 AS qty#1132234, demandChannel#1132227, demandStream#1132228, cachedKpis#1132233 AS kpis#1132235]
(189) Project
Arguments: [shardId#1132206, worklistShardItemId#1132207L, version#1132208, product#1132209, plant#1132210, qty#1132234, demandChannel#1132227, demandStream#1132228, kpis#1132235, false AS isNewlyCalculated#1132236]
(190) Project
Arguments: [shardId#1132206, worklistShardItemId#1132207L, version#1132208, product#1132209, plant#1132210, qty#1132234, demandChannel#1132227, demandStream#1132228, kpis#1132235, isNewlyCalculated#1132236]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1132145, worklistShardItemId#1132146L, version#1132147]
(193) Aggregate
Arguments: [shardId#1132145, worklistShardItemId#1132146L], [shardId#1132145, worklistShardItemId#1132146L, (max(version#1132147) + 1) AS version#1132048]
(194) Join
Arguments: Inner, ((shardId#1100457 = shardId#1132145) AND (worklistShardItemId#1100458L = worklistShardItemId#1132146L))
(195) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, qty#1100464, demandChannel#1128679, demandStream#1128680, kpis#1128714, version#1132048]
(196) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1132048, qty#1100464, demandChannel#1128679, demandStream#1128680, kpis#1128714]