== 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@3ab811ed, [path=hdlfs://770f0770-bd0c-456f-b83b-9649926e0857.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000678/stream-10000000678-1], Append
(3) LogicalRDD
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, periodStart#943636, periodEnd#943637, qty#943638], false
(4) RepartitionByExpression
Arguments: [product#943634, plant#943635], 37
(5) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(6) LogicalRDD
Arguments: [shardId#1001208, worklistShardItemId#1001209L, version#1001210, product#1001211, plant#1001212, periodStart#1001213, periodEnd#1001214, qty#1001215], false
(7) RepartitionByExpression
Arguments: [product#1001211, plant#1001212], 37
(8) Project
Arguments: [shardId#1001208, worklistShardItemId#1001209L, version#1001210, product#1001211, plant#1001212, qty#1001215]
(9) LogicalRDD
Arguments: [shardId#1000963, worklistShardItemId#1000964L, qty#1000965, demandChannel#1000966, demandStream#1000967, kpis#1000968], false
(10) Project
Arguments: [shardId#1000963 AS cachedShardId#1000969, worklistShardItemId#1000964L AS cachedWorklistShardItemId#1000970L, qty#1000965 AS cachedQty#1000971, demandChannel#1000966, demandStream#1000967, kpis#1000968 AS cachedKpis#1000972]
(11) Join
Arguments: Inner, (((worklistShardItemId#1001209L = cachedWorklistShardItemId#1000970L) AND (shardId#1001208 = cachedShardId#1000969)) AND ((qty#1001215 = cachedQty#1000971) OR isnull(qty#1001215)))
(12) Project
Arguments: [shardId#1001208, worklistShardItemId#1001209L, version#1001210, product#1001211, plant#1001212]
(13) Deduplicate
Arguments: [plant#1001212, shardId#1001208, version#1001210, worklistShardItemId#1001209L, product#1001211]
(14) LogicalRDD
Arguments: [shardId#1000973, worklistShardItemId#1000974L, qty#1000975, demandChannel#1000976, demandStream#1000977, kpis#1000978], false
(15) Project
Arguments: [shardId#1000973 AS cachedShardId#1000979, worklistShardItemId#1000974L AS cachedWorklistShardItemId#1000980L, qty#1000975 AS cachedQty#1000981, demandChannel#1000976, demandStream#1000977, kpis#1000978 AS cachedKpis#1000982]
(16) Join
Arguments: Inner, ((worklistShardItemId#1001209L = cachedWorklistShardItemId#1000980L) AND (shardId#1001208 = cachedShardId#1000979))
(17) Project
Arguments: [shardId#1001208, worklistShardItemId#1001209L, version#1001210, product#1001211, plant#1001212, cachedQty#1000981 AS qty#1000983, demandChannel#1000976, demandStream#1000977, cachedKpis#1000982 AS kpis#1000984]
(18) Project
Arguments: [shardId#1001208, worklistShardItemId#1001209L, version#1001210, product#1001211, plant#1001212, qty#1000983]
(19) LogicalRDD
Arguments: [shardId#1001190, worklistShardItemId#1001191L, version#1001192, product#1001193, plant#1001194, periodStart#1001195, periodEnd#1001196, qty#1001197], false
(20) RepartitionByExpression
Arguments: [product#1001193, plant#1001194], 37
(21) Project
Arguments: [shardId#1001190, worklistShardItemId#1001191L, version#1001192, product#1001193, plant#1001194, qty#1001197]
(22) LogicalRDD
Arguments: [shardId#1001198, worklistShardItemId#1001199L, qty#1001200, demandChannel#1001201, demandStream#1001202, kpis#1001203], false
(23) Project
Arguments: [shardId#1001198 AS cachedShardId#1001204, worklistShardItemId#1001199L AS cachedWorklistShardItemId#1001205L, qty#1001200 AS cachedQty#1001206, demandChannel#1001201, demandStream#1001202, kpis#1001203 AS cachedKpis#1001207]
(24) Join
Arguments: Inner, (((worklistShardItemId#1001191L = cachedWorklistShardItemId#1001205L) AND (shardId#1001190 = cachedShardId#1001204)) AND isnull(qty#1001197))
(25) Project
Arguments: [shardId#1001190, worklistShardItemId#1001191L, version#1001192, product#1001193, plant#1001194, qty#1001197]
(26) Project
Arguments: [shardId#1001190, worklistShardItemId#1001191L, version#1001192, product#1001193, plant#1001194, qty#1001197]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#943631 <=> shardId#1001208) AND (worklistShardItemId#943632L <=> worklistShardItemId#1001209L)) AND (version#943633 <=> version#1001210)) AND (product#943634 <=> product#1001211)) AND (plant#943635 <=> plant#1001212)) AND (qty#943638 <=> qty#1000983))
(29) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(30) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, cast(null as string) AS demandChannel#1001216]
(31) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#1001216, cast(null as string) AS demandStream#1001217]
(32) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#1001216, demandStream#1001217, array() AS kpis#1001218]
(33) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#1001216, demandStream#1001217, kpis#1001218, true AS isNewlyCalculated#1001219]
(34) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#1001216, demandStream#1001217, cast(kpis#1001218 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1001251, isNewlyCalculated#1001219]
(35) LogicalRDD
Arguments: [shardId#1001221, worklistShardItemId#1001222L, version#1001223, product#1001224, plant#1001225, periodStart#1001226, periodEnd#1001227, qty#1001228], false
(36) RepartitionByExpression
Arguments: [product#1001224, plant#1001225], 37
(37) Project
Arguments: [shardId#1001221, worklistShardItemId#1001222L, version#1001223, product#1001224, plant#1001225, qty#1001228]
(38) LogicalRDD
Arguments: [shardId#1001229, worklistShardItemId#1001230L, qty#1001231, demandChannel#1001232, demandStream#1001233, kpis#1001234], false
(39) Project
Arguments: [shardId#1001229 AS cachedShardId#1001235, worklistShardItemId#1001230L AS cachedWorklistShardItemId#1001236L, qty#1001231 AS cachedQty#1001237, demandChannel#1001232, demandStream#1001233, kpis#1001234 AS cachedKpis#1001238]
(40) Join
Arguments: Inner, (((worklistShardItemId#1001222L = cachedWorklistShardItemId#1001236L) AND (shardId#1001221 = cachedShardId#1001235)) AND ((qty#1001228 = cachedQty#1001237) OR isnull(qty#1001228)))
(41) Project
Arguments: [shardId#1001221, worklistShardItemId#1001222L, version#1001223, product#1001224, plant#1001225]
(42) Deduplicate
Arguments: [plant#1001225, shardId#1001221, version#1001223, worklistShardItemId#1001222L, product#1001224]
(43) LogicalRDD
Arguments: [shardId#1001239, worklistShardItemId#1001240L, qty#1001241, demandChannel#1001242, demandStream#1001243, kpis#1001244], false
(44) Project
Arguments: [shardId#1001239 AS cachedShardId#1001245, worklistShardItemId#1001240L AS cachedWorklistShardItemId#1001246L, qty#1001241 AS cachedQty#1001247, demandChannel#1001242, demandStream#1001243, kpis#1001244 AS cachedKpis#1001248]
(45) Join
Arguments: Inner, ((worklistShardItemId#1001222L = cachedWorklistShardItemId#1001246L) AND (shardId#1001221 = cachedShardId#1001245))
(46) Project
Arguments: [shardId#1001221, worklistShardItemId#1001222L, version#1001223, product#1001224, plant#1001225, cachedQty#1001247 AS qty#1001249, demandChannel#1001242, demandStream#1001243, cachedKpis#1001248 AS kpis#1001250]
(47) Project
Arguments: [shardId#1001221, worklistShardItemId#1001222L, version#1001223, product#1001224, plant#1001225, qty#1001249, demandChannel#1001242, demandStream#1001243, kpis#1001250, false AS isNewlyCalculated#1001220]
(48) Project
Arguments: [shardId#1001221, worklistShardItemId#1001222L, version#1001223, product#1001224, plant#1001225, qty#1001249, demandChannel#1001242, demandStream#1001243, kpis#1001250, isNewlyCalculated#1001220]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1001219 <=> false)
(51) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#1001216, demandStream#1001217, kpis#1001251]
(52) ExternalRDD
Arguments: [obj#1003715]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79346), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79346), 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, 79346), 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, 79346), 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, 79346), 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, 79346), 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#1003718, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79347), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79347), 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, 79348), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79348), 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, 79348), 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, 79348), 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, 79349), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79349), 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, 79349), 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, 79349), 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, 79349), 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, 79348), 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, 79347), 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, 79350), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79350), 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, 79350), 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, 79350), 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, 79350), 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, 79347), 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, 79347), 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, 79347), 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, 79351), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79351), 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, 79352), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79352), 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, 79352), 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, 79352), 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, 79352), 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, 79351), 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, 79351), 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, 79347), 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#1003719]
(54) Generate
Arguments: explode(prodPlantResults#1003719), false, [prodPlantResults#1003726]
(55) Project
Arguments: [prodPlantResults#1003726]
(56) Project
Arguments: [prodPlantResults#1003726.productId AS product#1003745, prodPlantResults#1003726.plantId AS plant#1003746, prodPlantResults#1003726.kpiResults AS kpis#1003747]
(57) Project
Arguments: [product#1003745, plant#1003746, kpis#1003747, null AS qty#1003751]
(58) Project
Arguments: [product#1003745, plant#1003746, kpis#1003747, qty#1003751, cast(null as string) AS demandChannel#1003752]
(59) Project
Arguments: [product#1003745, plant#1003746, kpis#1003747, qty#1003751, demandChannel#1003752, cast(null as string) AS demandStream#1003753]
(60) Project
Arguments: [product#1003745, plant#1003746, kpis#1003747, cast(qty#1003751 as double) AS qty#1003772, demandChannel#1003752, demandStream#1003753]
(61) ExternalRDD
Arguments: [obj#1003768]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79346), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79346), 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, 79346), 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, 79346), 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, 79346), 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, 79346), 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#1003769, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79347), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79347), 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, 79348), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79348), 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, 79348), 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, 79348), 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, 79349), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79349), 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, 79349), 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, 79349), 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, 79349), 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, 79348), 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, 79347), 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, 79350), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79350), 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, 79350), 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, 79350), 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, 79350), 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, 79347), 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, 79347), 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, 79347), 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, 79351), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79351), 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, 79352), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79352), 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, 79352), 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, 79352), 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, 79352), 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, 79351), 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, 79351), 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, 79347), 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#1003770]
(63) Generate
Arguments: explode(prodPlantResults#1003770), false, [prodPlantResults#1003771]
(64) Project
Arguments: [prodPlantResults#1003771]
(65) Generate
Arguments: explode(prodPlantResults#1003771.quantityKpiResults), false, [quantityKpiResults#1003738]
(66) Project
Arguments: [prodPlantResults#1003771.productId AS product#1003732, prodPlantResults#1003771.plantId AS plant#1003733, quantityKpiResults#1003738]
(67) Project
Arguments: [product#1003732, plant#1003733, quantityKpiResults#1003738, quantityKpiResults#1003738.quantity AS qty#1003739]
(68) Project
Arguments: [product#1003732, plant#1003733, quantityKpiResults#1003738, qty#1003739, cast(null as string) AS demandChannel#1003741]
(69) Project
Arguments: [product#1003732, plant#1003733, quantityKpiResults#1003738, qty#1003739, demandChannel#1003741, cast(null as string) AS demandStream#1003742]
(70) Project
Arguments: [product#1003732, plant#1003733, quantityKpiResults#1003738, qty#1003739, demandChannel#1003741, demandStream#1003742, quantityKpiResults#1003738.kpiResults AS kpis#1003743]
(71) Project
Arguments: [product#1003732, plant#1003733, qty#1003739, demandChannel#1003741, demandStream#1003742, kpis#1003743]
(72) Project
Arguments: [product#1003732, plant#1003733, kpis#1003743, qty#1003739, demandChannel#1003741, demandStream#1003742]
(73) ExternalRDD
Arguments: [obj#1003773]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79346), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79346), 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, 79346), 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, 79346), 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, 79346), 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, 79346), 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#1003774, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79347), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79347), 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, 79348), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79348), 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, 79348), 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, 79348), 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, 79349), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79349), 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, 79349), 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, 79349), 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, 79349), 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, 79348), 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, 79347), 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, 79350), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79350), 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, 79350), 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, 79350), 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, 79350), 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, 79347), 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, 79347), 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, 79347), 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, 79351), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79351), 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, 79352), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 79352), 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, 79352), 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, 79352), 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, 79352), 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, 79351), 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, 79351), 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, 79347), 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#1003775]
(75) Generate
Arguments: explode(prodPlantResults#1003775), false, [prodPlantResults#1003776]
(76) Project
Arguments: [prodPlantResults#1003776]
(77) Generate
Arguments: explode(prodPlantResults#1003776.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1003760]
(78) Project
Arguments: [prodPlantResults#1003776.productId AS product#1003754, prodPlantResults#1003776.plantId AS plant#1003755, demandChannelStreamKpiResults#1003760]
(79) Project
Arguments: [product#1003754, plant#1003755, demandChannelStreamKpiResults#1003760, null AS qty#1003761]
(80) Project
Arguments: [product#1003754, plant#1003755, demandChannelStreamKpiResults#1003760, qty#1003761, demandChannelStreamKpiResults#1003760.demandChannel AS demandChannel#1003762]
(81) Project
Arguments: [product#1003754, plant#1003755, demandChannelStreamKpiResults#1003760, qty#1003761, demandChannel#1003762, demandChannelStreamKpiResults#1003760.demandStream AS demandStream#1003764]
(82) Project
Arguments: [product#1003754, plant#1003755, demandChannelStreamKpiResults#1003760, qty#1003761, demandChannel#1003762, demandStream#1003764, demandChannelStreamKpiResults#1003760.kpiResults AS kpis#1003766]
(83) Project
Arguments: [product#1003754, plant#1003755, qty#1003761, demandChannel#1003762, demandStream#1003764, kpis#1003766]
(84) Project
Arguments: [product#1003754, plant#1003755, kpis#1003766, qty#1003761, demandChannel#1003762, demandStream#1003764]
(85) Project
Arguments: [product#1003754, plant#1003755, kpis#1003766, cast(qty#1003761 as double) AS qty#1003777, demandChannel#1003762, demandStream#1003764]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1003745, plant#1003746, transform(kpis#1003747, lambdafunction(struct(label, lambda kpi#1003782.label, dateTime, lambda kpi#1003782.datetime, value, lambda kpi#1003782.value), lambda kpi#1003782, false)) AS kpis#1003781, qty#1003772, demandChannel#1003752, demandStream#1003753]
(88) Project
Arguments: [product#1003745, plant#1003746, qty#1003772, demandChannel#1003752, demandStream#1003753, kpis#1003781]
(89) LogicalRDD
Arguments: [shardId#1004590, worklistShardItemId#1004591L, version#1004592, product#1004593, plant#1004594, periodStart#1004595, periodEnd#1004596, qty#1004597], false
(90) RepartitionByExpression
Arguments: [product#1004593, plant#1004594], 37
(91) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, version#1004592, product#1004593, plant#1004594, qty#1004597]
(92) LogicalRDD
Arguments: [shardId#1004598, worklistShardItemId#1004599L, version#1004600, product#1004601, plant#1004602, periodStart#1004603, periodEnd#1004604, qty#1004605], false
(93) RepartitionByExpression
Arguments: [product#1004601, plant#1004602], 37
(94) Project
Arguments: [shardId#1004598, worklistShardItemId#1004599L, version#1004600, product#1004601, plant#1004602, qty#1004605]
(95) LogicalRDD
Arguments: [shardId#1004606, worklistShardItemId#1004607L, qty#1004608, demandChannel#1004609, demandStream#1004610, kpis#1004611], false
(96) Project
Arguments: [shardId#1004606 AS cachedShardId#1004612, worklistShardItemId#1004607L AS cachedWorklistShardItemId#1004613L, qty#1004608 AS cachedQty#1004614, demandChannel#1004609, demandStream#1004610, kpis#1004611 AS cachedKpis#1004615]
(97) Join
Arguments: Inner, (((worklistShardItemId#1004599L = cachedWorklistShardItemId#1004613L) AND (shardId#1004598 = cachedShardId#1004612)) AND ((qty#1004605 = cachedQty#1004614) OR isnull(qty#1004605)))
(98) Project
Arguments: [shardId#1004598, worklistShardItemId#1004599L, version#1004600, product#1004601, plant#1004602]
(99) Deduplicate
Arguments: [plant#1004602, shardId#1004598, version#1004600, worklistShardItemId#1004599L, product#1004601]
(100) LogicalRDD
Arguments: [shardId#1004616, worklistShardItemId#1004617L, qty#1004618, demandChannel#1004619, demandStream#1004620, kpis#1004621], false
(101) Project
Arguments: [shardId#1004616 AS cachedShardId#1004622, worklistShardItemId#1004617L AS cachedWorklistShardItemId#1004623L, qty#1004618 AS cachedQty#1004624, demandChannel#1004619, demandStream#1004620, kpis#1004621 AS cachedKpis#1004625]
(102) Join
Arguments: Inner, ((worklistShardItemId#1004599L = cachedWorklistShardItemId#1004623L) AND (shardId#1004598 = cachedShardId#1004622))
(103) Project
Arguments: [shardId#1004598, worklistShardItemId#1004599L, version#1004600, product#1004601, plant#1004602, cachedQty#1004624 AS qty#1004626, demandChannel#1004619, demandStream#1004620, cachedKpis#1004625 AS kpis#1004627]
(104) Project
Arguments: [shardId#1004598, worklistShardItemId#1004599L, version#1004600, product#1004601, plant#1004602, qty#1004626]
(105) LogicalRDD
Arguments: [shardId#1004628, worklistShardItemId#1004629L, version#1004630, product#1004631, plant#1004632, periodStart#1004633, periodEnd#1004634, qty#1004635], false
(106) RepartitionByExpression
Arguments: [product#1004631, plant#1004632], 37
(107) Project
Arguments: [shardId#1004628, worklistShardItemId#1004629L, version#1004630, product#1004631, plant#1004632, qty#1004635]
(108) LogicalRDD
Arguments: [shardId#1004636, worklistShardItemId#1004637L, qty#1004638, demandChannel#1004639, demandStream#1004640, kpis#1004641], false
(109) Project
Arguments: [shardId#1004636 AS cachedShardId#1004642, worklistShardItemId#1004637L AS cachedWorklistShardItemId#1004643L, qty#1004638 AS cachedQty#1004644, demandChannel#1004639, demandStream#1004640, kpis#1004641 AS cachedKpis#1004645]
(110) Join
Arguments: Inner, (((worklistShardItemId#1004629L = cachedWorklistShardItemId#1004643L) AND (shardId#1004628 = cachedShardId#1004642)) AND isnull(qty#1004635))
(111) Project
Arguments: [shardId#1004628, worklistShardItemId#1004629L, version#1004630, product#1004631, plant#1004632, qty#1004635]
(112) Project
Arguments: [shardId#1004628, worklistShardItemId#1004629L, version#1004630, product#1004631, plant#1004632, qty#1004635]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1004590 <=> shardId#1004598) AND (worklistShardItemId#1004591L <=> worklistShardItemId#1004599L)) AND (version#1004592 <=> version#1004600)) AND (product#1004593 <=> product#1004601)) AND (plant#1004594 <=> plant#1004602)) AND (qty#1004597 <=> qty#1004626))
(115) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, version#1004592, product#1004593, plant#1004594, qty#1004597]
(116) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, version#1004592, product#1004593, plant#1004594, qty#1004597, cast(null as string) AS demandChannel#1004646]
(117) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, version#1004592, product#1004593, plant#1004594, qty#1004597, demandChannel#1004646, cast(null as string) AS demandStream#1004647]
(118) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, version#1004592, product#1004593, plant#1004594, qty#1004597, demandChannel#1004646, demandStream#1004647, array() AS kpis#1004648]
(119) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, version#1004592, product#1004593, plant#1004594, qty#1004597, demandChannel#1004646, demandStream#1004647, kpis#1004648, true AS isNewlyCalculated#1004649]
(120) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, version#1004592, product#1004593, plant#1004594, qty#1004597, demandChannel#1004646, demandStream#1004647, cast(kpis#1004648 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1004650, isNewlyCalculated#1004649]
(121) LogicalRDD
Arguments: [shardId#1004651, worklistShardItemId#1004652L, version#1004653, product#1004654, plant#1004655, periodStart#1004656, periodEnd#1004657, qty#1004658], false
(122) RepartitionByExpression
Arguments: [product#1004654, plant#1004655], 37
(123) Project
Arguments: [shardId#1004651, worklistShardItemId#1004652L, version#1004653, product#1004654, plant#1004655, qty#1004658]
(124) LogicalRDD
Arguments: [shardId#1004659, worklistShardItemId#1004660L, qty#1004661, demandChannel#1004662, demandStream#1004663, kpis#1004664], false
(125) Project
Arguments: [shardId#1004659 AS cachedShardId#1004665, worklistShardItemId#1004660L AS cachedWorklistShardItemId#1004666L, qty#1004661 AS cachedQty#1004667, demandChannel#1004662, demandStream#1004663, kpis#1004664 AS cachedKpis#1004668]
(126) Join
Arguments: Inner, (((worklistShardItemId#1004652L = cachedWorklistShardItemId#1004666L) AND (shardId#1004651 = cachedShardId#1004665)) AND ((qty#1004658 = cachedQty#1004667) OR isnull(qty#1004658)))
(127) Project
Arguments: [shardId#1004651, worklistShardItemId#1004652L, version#1004653, product#1004654, plant#1004655]
(128) Deduplicate
Arguments: [plant#1004655, shardId#1004651, version#1004653, worklistShardItemId#1004652L, product#1004654]
(129) LogicalRDD
Arguments: [shardId#1004669, worklistShardItemId#1004670L, qty#1004671, demandChannel#1004672, demandStream#1004673, kpis#1004674], false
(130) Project
Arguments: [shardId#1004669 AS cachedShardId#1004675, worklistShardItemId#1004670L AS cachedWorklistShardItemId#1004676L, qty#1004671 AS cachedQty#1004677, demandChannel#1004672, demandStream#1004673, kpis#1004674 AS cachedKpis#1004678]
(131) Join
Arguments: Inner, ((worklistShardItemId#1004652L = cachedWorklistShardItemId#1004676L) AND (shardId#1004651 = cachedShardId#1004675))
(132) Project
Arguments: [shardId#1004651, worklistShardItemId#1004652L, version#1004653, product#1004654, plant#1004655, cachedQty#1004677 AS qty#1004679, demandChannel#1004672, demandStream#1004673, cachedKpis#1004678 AS kpis#1004680]
(133) Project
Arguments: [shardId#1004651, worklistShardItemId#1004652L, version#1004653, product#1004654, plant#1004655, qty#1004679, demandChannel#1004672, demandStream#1004673, kpis#1004680, false AS isNewlyCalculated#1004681]
(134) Project
Arguments: [shardId#1004651, worklistShardItemId#1004652L, version#1004653, product#1004654, plant#1004655, qty#1004679, demandChannel#1004672, demandStream#1004673, kpis#1004680, isNewlyCalculated#1004681]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1004649 <=> true)
(137) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, product#1004593, plant#1004594, qty#1004597, kpis#1004650]
(138) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, product#1004593, plant#1004594, qty#1004597]
(139) Deduplicate
Arguments: [plant#1004594, shardId#1004590, qty#1004597, worklistShardItemId#1004591L, product#1004593]
(140) Join
Arguments: Inner, ((product#1003745 <=> product#1004593) AND ((plant#1003746 <=> plant#1004594) AND ((qty#1003772 <=> qty#1004597) OR isnull(qty#1004597))))
(141) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, qty#1003772, demandChannel#1003752, demandStream#1003753, kpis#1003781]
(142) Deduplicate
Arguments: [demandChannel#1003752, shardId#1004590, qty#1003772, worklistShardItemId#1004591L, demandStream#1003753]
(143) Project
Arguments: [shardId#1004590, worklistShardItemId#1004591L, qty#1003772, demandChannel#1003752, demandStream#1003753, kpis#1003781]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684, product#1004685, plant#1004686, periodStart#1004687, periodEnd#1004688, qty#1004689], false
(146) RepartitionByExpression
Arguments: [product#1004685, plant#1004686], 37
(147) Project
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684, product#1004685, plant#1004686, qty#1004689]
(148) LogicalRDD
Arguments: [shardId#1004690, worklistShardItemId#1004691L, version#1004692, product#1004693, plant#1004694, periodStart#1004695, periodEnd#1004696, qty#1004697], false
(149) RepartitionByExpression
Arguments: [product#1004693, plant#1004694], 37
(150) Project
Arguments: [shardId#1004690, worklistShardItemId#1004691L, version#1004692, product#1004693, plant#1004694, qty#1004697]
(151) LogicalRDD
Arguments: [shardId#1004698, worklistShardItemId#1004699L, qty#1004700, demandChannel#1004701, demandStream#1004702, kpis#1004703], false
(152) Project
Arguments: [shardId#1004698 AS cachedShardId#1004704, worklistShardItemId#1004699L AS cachedWorklistShardItemId#1004705L, qty#1004700 AS cachedQty#1004706, demandChannel#1004701, demandStream#1004702, kpis#1004703 AS cachedKpis#1004707]
(153) Join
Arguments: Inner, (((worklistShardItemId#1004691L = cachedWorklistShardItemId#1004705L) AND (shardId#1004690 = cachedShardId#1004704)) AND ((qty#1004697 = cachedQty#1004706) OR isnull(qty#1004697)))
(154) Project
Arguments: [shardId#1004690, worklistShardItemId#1004691L, version#1004692, product#1004693, plant#1004694]
(155) Deduplicate
Arguments: [plant#1004694, shardId#1004690, version#1004692, worklistShardItemId#1004691L, product#1004693]
(156) LogicalRDD
Arguments: [shardId#1004708, worklistShardItemId#1004709L, qty#1004710, demandChannel#1004711, demandStream#1004712, kpis#1004713], false
(157) Project
Arguments: [shardId#1004708 AS cachedShardId#1004714, worklistShardItemId#1004709L AS cachedWorklistShardItemId#1004715L, qty#1004710 AS cachedQty#1004716, demandChannel#1004711, demandStream#1004712, kpis#1004713 AS cachedKpis#1004717]
(158) Join
Arguments: Inner, ((worklistShardItemId#1004691L = cachedWorklistShardItemId#1004715L) AND (shardId#1004690 = cachedShardId#1004714))
(159) Project
Arguments: [shardId#1004690, worklistShardItemId#1004691L, version#1004692, product#1004693, plant#1004694, cachedQty#1004716 AS qty#1004718, demandChannel#1004711, demandStream#1004712, cachedKpis#1004717 AS kpis#1004719]
(160) Project
Arguments: [shardId#1004690, worklistShardItemId#1004691L, version#1004692, product#1004693, plant#1004694, qty#1004718]
(161) LogicalRDD
Arguments: [shardId#1004720, worklistShardItemId#1004721L, version#1004722, product#1004723, plant#1004724, periodStart#1004725, periodEnd#1004726, qty#1004727], false
(162) RepartitionByExpression
Arguments: [product#1004723, plant#1004724], 37
(163) Project
Arguments: [shardId#1004720, worklistShardItemId#1004721L, version#1004722, product#1004723, plant#1004724, qty#1004727]
(164) LogicalRDD
Arguments: [shardId#1004728, worklistShardItemId#1004729L, qty#1004730, demandChannel#1004731, demandStream#1004732, kpis#1004733], false
(165) Project
Arguments: [shardId#1004728 AS cachedShardId#1004734, worklistShardItemId#1004729L AS cachedWorklistShardItemId#1004735L, qty#1004730 AS cachedQty#1004736, demandChannel#1004731, demandStream#1004732, kpis#1004733 AS cachedKpis#1004737]
(166) Join
Arguments: Inner, (((worklistShardItemId#1004721L = cachedWorklistShardItemId#1004735L) AND (shardId#1004720 = cachedShardId#1004734)) AND isnull(qty#1004727))
(167) Project
Arguments: [shardId#1004720, worklistShardItemId#1004721L, version#1004722, product#1004723, plant#1004724, qty#1004727]
(168) Project
Arguments: [shardId#1004720, worklistShardItemId#1004721L, version#1004722, product#1004723, plant#1004724, qty#1004727]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1004682 <=> shardId#1004690) AND (worklistShardItemId#1004683L <=> worklistShardItemId#1004691L)) AND (version#1004684 <=> version#1004692)) AND (product#1004685 <=> product#1004693)) AND (plant#1004686 <=> plant#1004694)) AND (qty#1004689 <=> qty#1004718))
(171) Project
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684, product#1004685, plant#1004686, qty#1004689]
(172) Project
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684, product#1004685, plant#1004686, qty#1004689, cast(null as string) AS demandChannel#1004738]
(173) Project
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684, product#1004685, plant#1004686, qty#1004689, demandChannel#1004738, cast(null as string) AS demandStream#1004739]
(174) Project
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684, product#1004685, plant#1004686, qty#1004689, demandChannel#1004738, demandStream#1004739, array() AS kpis#1004740]
(175) Project
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684, product#1004685, plant#1004686, qty#1004689, demandChannel#1004738, demandStream#1004739, kpis#1004740, true AS isNewlyCalculated#1004741]
(176) Project
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684, product#1004685, plant#1004686, qty#1004689, demandChannel#1004738, demandStream#1004739, cast(kpis#1004740 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1004742, isNewlyCalculated#1004741]
(177) LogicalRDD
Arguments: [shardId#1004743, worklistShardItemId#1004744L, version#1004745, product#1004746, plant#1004747, periodStart#1004748, periodEnd#1004749, qty#1004750], false
(178) RepartitionByExpression
Arguments: [product#1004746, plant#1004747], 37
(179) Project
Arguments: [shardId#1004743, worklistShardItemId#1004744L, version#1004745, product#1004746, plant#1004747, qty#1004750]
(180) LogicalRDD
Arguments: [shardId#1004751, worklistShardItemId#1004752L, qty#1004753, demandChannel#1004754, demandStream#1004755, kpis#1004756], false
(181) Project
Arguments: [shardId#1004751 AS cachedShardId#1004757, worklistShardItemId#1004752L AS cachedWorklistShardItemId#1004758L, qty#1004753 AS cachedQty#1004759, demandChannel#1004754, demandStream#1004755, kpis#1004756 AS cachedKpis#1004760]
(182) Join
Arguments: Inner, (((worklistShardItemId#1004744L = cachedWorklistShardItemId#1004758L) AND (shardId#1004743 = cachedShardId#1004757)) AND ((qty#1004750 = cachedQty#1004759) OR isnull(qty#1004750)))
(183) Project
Arguments: [shardId#1004743, worklistShardItemId#1004744L, version#1004745, product#1004746, plant#1004747]
(184) Deduplicate
Arguments: [plant#1004747, shardId#1004743, version#1004745, worklistShardItemId#1004744L, product#1004746]
(185) LogicalRDD
Arguments: [shardId#1004761, worklistShardItemId#1004762L, qty#1004763, demandChannel#1004764, demandStream#1004765, kpis#1004766], false
(186) Project
Arguments: [shardId#1004761 AS cachedShardId#1004767, worklistShardItemId#1004762L AS cachedWorklistShardItemId#1004768L, qty#1004763 AS cachedQty#1004769, demandChannel#1004764, demandStream#1004765, kpis#1004766 AS cachedKpis#1004770]
(187) Join
Arguments: Inner, ((worklistShardItemId#1004744L = cachedWorklistShardItemId#1004768L) AND (shardId#1004743 = cachedShardId#1004767))
(188) Project
Arguments: [shardId#1004743, worklistShardItemId#1004744L, version#1004745, product#1004746, plant#1004747, cachedQty#1004769 AS qty#1004771, demandChannel#1004764, demandStream#1004765, cachedKpis#1004770 AS kpis#1004772]
(189) Project
Arguments: [shardId#1004743, worklistShardItemId#1004744L, version#1004745, product#1004746, plant#1004747, qty#1004771, demandChannel#1004764, demandStream#1004765, kpis#1004772, false AS isNewlyCalculated#1004773]
(190) Project
Arguments: [shardId#1004743, worklistShardItemId#1004744L, version#1004745, product#1004746, plant#1004747, qty#1004771, demandChannel#1004764, demandStream#1004765, kpis#1004772, isNewlyCalculated#1004773]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1004682, worklistShardItemId#1004683L, version#1004684]
(193) Aggregate
Arguments: [shardId#1004682, worklistShardItemId#1004683L], [shardId#1004682, worklistShardItemId#1004683L, (max(version#1004684) + 1) AS version#1004585]
(194) Join
Arguments: Inner, ((shardId#943631 = shardId#1004682) AND (worklistShardItemId#943632L = worklistShardItemId#1004683L))
(195) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#1001216, demandStream#1001217, kpis#1001251, version#1004585]
(196) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#1004585, qty#943638, demandChannel#1001216, demandStream#1001217, kpis#1001251]