== 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@47460245, [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#978976, worklistShardItemId#978977L, version#978978, product#978979, plant#978980, periodStart#978981, periodEnd#978982, qty#978983], false
(7) RepartitionByExpression
Arguments: [product#978979, plant#978980], 37
(8) Project
Arguments: [shardId#978976, worklistShardItemId#978977L, version#978978, product#978979, plant#978980, qty#978983]
(9) LogicalRDD
Arguments: [shardId#978731, worklistShardItemId#978732L, qty#978733, demandChannel#978734, demandStream#978735, kpis#978736], false
(10) Project
Arguments: [shardId#978731 AS cachedShardId#978737, worklistShardItemId#978732L AS cachedWorklistShardItemId#978738L, qty#978733 AS cachedQty#978739, demandChannel#978734, demandStream#978735, kpis#978736 AS cachedKpis#978740]
(11) Join
Arguments: Inner, (((worklistShardItemId#978977L = cachedWorklistShardItemId#978738L) AND (shardId#978976 = cachedShardId#978737)) AND ((qty#978983 = cachedQty#978739) OR isnull(qty#978983)))
(12) Project
Arguments: [shardId#978976, worklistShardItemId#978977L, version#978978, product#978979, plant#978980]
(13) Deduplicate
Arguments: [plant#978980, shardId#978976, version#978978, worklistShardItemId#978977L, product#978979]
(14) LogicalRDD
Arguments: [shardId#978741, worklistShardItemId#978742L, qty#978743, demandChannel#978744, demandStream#978745, kpis#978746], false
(15) Project
Arguments: [shardId#978741 AS cachedShardId#978747, worklistShardItemId#978742L AS cachedWorklistShardItemId#978748L, qty#978743 AS cachedQty#978749, demandChannel#978744, demandStream#978745, kpis#978746 AS cachedKpis#978750]
(16) Join
Arguments: Inner, ((worklistShardItemId#978977L = cachedWorklistShardItemId#978748L) AND (shardId#978976 = cachedShardId#978747))
(17) Project
Arguments: [shardId#978976, worklistShardItemId#978977L, version#978978, product#978979, plant#978980, cachedQty#978749 AS qty#978751, demandChannel#978744, demandStream#978745, cachedKpis#978750 AS kpis#978752]
(18) Project
Arguments: [shardId#978976, worklistShardItemId#978977L, version#978978, product#978979, plant#978980, qty#978751]
(19) LogicalRDD
Arguments: [shardId#978958, worklistShardItemId#978959L, version#978960, product#978961, plant#978962, periodStart#978963, periodEnd#978964, qty#978965], false
(20) RepartitionByExpression
Arguments: [product#978961, plant#978962], 37
(21) Project
Arguments: [shardId#978958, worklistShardItemId#978959L, version#978960, product#978961, plant#978962, qty#978965]
(22) LogicalRDD
Arguments: [shardId#978966, worklistShardItemId#978967L, qty#978968, demandChannel#978969, demandStream#978970, kpis#978971], false
(23) Project
Arguments: [shardId#978966 AS cachedShardId#978972, worklistShardItemId#978967L AS cachedWorklistShardItemId#978973L, qty#978968 AS cachedQty#978974, demandChannel#978969, demandStream#978970, kpis#978971 AS cachedKpis#978975]
(24) Join
Arguments: Inner, (((worklistShardItemId#978959L = cachedWorklistShardItemId#978973L) AND (shardId#978958 = cachedShardId#978972)) AND isnull(qty#978965))
(25) Project
Arguments: [shardId#978958, worklistShardItemId#978959L, version#978960, product#978961, plant#978962, qty#978965]
(26) Project
Arguments: [shardId#978958, worklistShardItemId#978959L, version#978960, product#978961, plant#978962, qty#978965]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#943631 <=> shardId#978976) AND (worklistShardItemId#943632L <=> worklistShardItemId#978977L)) AND (version#943633 <=> version#978978)) AND (product#943634 <=> product#978979)) AND (plant#943635 <=> plant#978980)) AND (qty#943638 <=> qty#978751))
(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#978984]
(31) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#978984, cast(null as string) AS demandStream#978985]
(32) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#978984, demandStream#978985, array() AS kpis#978986]
(33) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#978984, demandStream#978985, kpis#978986, true AS isNewlyCalculated#978987]
(34) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#978984, demandStream#978985, cast(kpis#978986 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#979019, isNewlyCalculated#978987]
(35) LogicalRDD
Arguments: [shardId#978989, worklistShardItemId#978990L, version#978991, product#978992, plant#978993, periodStart#978994, periodEnd#978995, qty#978996], false
(36) RepartitionByExpression
Arguments: [product#978992, plant#978993], 37
(37) Project
Arguments: [shardId#978989, worklistShardItemId#978990L, version#978991, product#978992, plant#978993, qty#978996]
(38) LogicalRDD
Arguments: [shardId#978997, worklistShardItemId#978998L, qty#978999, demandChannel#979000, demandStream#979001, kpis#979002], false
(39) Project
Arguments: [shardId#978997 AS cachedShardId#979003, worklistShardItemId#978998L AS cachedWorklistShardItemId#979004L, qty#978999 AS cachedQty#979005, demandChannel#979000, demandStream#979001, kpis#979002 AS cachedKpis#979006]
(40) Join
Arguments: Inner, (((worklistShardItemId#978990L = cachedWorklistShardItemId#979004L) AND (shardId#978989 = cachedShardId#979003)) AND ((qty#978996 = cachedQty#979005) OR isnull(qty#978996)))
(41) Project
Arguments: [shardId#978989, worklistShardItemId#978990L, version#978991, product#978992, plant#978993]
(42) Deduplicate
Arguments: [plant#978993, shardId#978989, version#978991, worklistShardItemId#978990L, product#978992]
(43) LogicalRDD
Arguments: [shardId#979007, worklistShardItemId#979008L, qty#979009, demandChannel#979010, demandStream#979011, kpis#979012], false
(44) Project
Arguments: [shardId#979007 AS cachedShardId#979013, worklistShardItemId#979008L AS cachedWorklistShardItemId#979014L, qty#979009 AS cachedQty#979015, demandChannel#979010, demandStream#979011, kpis#979012 AS cachedKpis#979016]
(45) Join
Arguments: Inner, ((worklistShardItemId#978990L = cachedWorklistShardItemId#979014L) AND (shardId#978989 = cachedShardId#979013))
(46) Project
Arguments: [shardId#978989, worklistShardItemId#978990L, version#978991, product#978992, plant#978993, cachedQty#979015 AS qty#979017, demandChannel#979010, demandStream#979011, cachedKpis#979016 AS kpis#979018]
(47) Project
Arguments: [shardId#978989, worklistShardItemId#978990L, version#978991, product#978992, plant#978993, qty#979017, demandChannel#979010, demandStream#979011, kpis#979018, false AS isNewlyCalculated#978988]
(48) Project
Arguments: [shardId#978989, worklistShardItemId#978990L, version#978991, product#978992, plant#978993, qty#979017, demandChannel#979010, demandStream#979011, kpis#979018, isNewlyCalculated#978988]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#978987 <=> false)
(51) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#978984, demandStream#978985, kpis#979019]
(52) ExternalRDD
Arguments: [obj#981483]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78006), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78006), 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, 78006), 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, 78006), 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, 78006), 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, 78006), 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#981486, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78007), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78007), 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, 78008), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78008), 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, 78008), 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, 78008), 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, 78009), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78009), 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, 78009), 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, 78009), 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, 78009), 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, 78008), 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, 78007), 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, 78010), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78010), 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, 78010), 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, 78010), 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, 78010), 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, 78007), 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, 78007), 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, 78007), 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, 78011), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78011), 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, 78012), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78012), 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, 78012), 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, 78012), 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, 78012), 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, 78011), 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, 78011), 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, 78007), 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#981487]
(54) Generate
Arguments: explode(prodPlantResults#981487), false, [prodPlantResults#981494]
(55) Project
Arguments: [prodPlantResults#981494]
(56) Project
Arguments: [prodPlantResults#981494.productId AS product#981513, prodPlantResults#981494.plantId AS plant#981514, prodPlantResults#981494.kpiResults AS kpis#981515]
(57) Project
Arguments: [product#981513, plant#981514, kpis#981515, null AS qty#981519]
(58) Project
Arguments: [product#981513, plant#981514, kpis#981515, qty#981519, cast(null as string) AS demandChannel#981520]
(59) Project
Arguments: [product#981513, plant#981514, kpis#981515, qty#981519, demandChannel#981520, cast(null as string) AS demandStream#981521]
(60) Project
Arguments: [product#981513, plant#981514, kpis#981515, cast(qty#981519 as double) AS qty#981540, demandChannel#981520, demandStream#981521]
(61) ExternalRDD
Arguments: [obj#981536]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78006), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78006), 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, 78006), 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, 78006), 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, 78006), 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, 78006), 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#981537, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78007), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78007), 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, 78008), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78008), 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, 78008), 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, 78008), 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, 78009), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78009), 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, 78009), 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, 78009), 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, 78009), 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, 78008), 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, 78007), 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, 78010), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78010), 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, 78010), 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, 78010), 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, 78010), 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, 78007), 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, 78007), 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, 78007), 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, 78011), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78011), 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, 78012), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78012), 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, 78012), 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, 78012), 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, 78012), 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, 78011), 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, 78011), 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, 78007), 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#981538]
(63) Generate
Arguments: explode(prodPlantResults#981538), false, [prodPlantResults#981539]
(64) Project
Arguments: [prodPlantResults#981539]
(65) Generate
Arguments: explode(prodPlantResults#981539.quantityKpiResults), false, [quantityKpiResults#981506]
(66) Project
Arguments: [prodPlantResults#981539.productId AS product#981500, prodPlantResults#981539.plantId AS plant#981501, quantityKpiResults#981506]
(67) Project
Arguments: [product#981500, plant#981501, quantityKpiResults#981506, quantityKpiResults#981506.quantity AS qty#981507]
(68) Project
Arguments: [product#981500, plant#981501, quantityKpiResults#981506, qty#981507, cast(null as string) AS demandChannel#981509]
(69) Project
Arguments: [product#981500, plant#981501, quantityKpiResults#981506, qty#981507, demandChannel#981509, cast(null as string) AS demandStream#981510]
(70) Project
Arguments: [product#981500, plant#981501, quantityKpiResults#981506, qty#981507, demandChannel#981509, demandStream#981510, quantityKpiResults#981506.kpiResults AS kpis#981511]
(71) Project
Arguments: [product#981500, plant#981501, qty#981507, demandChannel#981509, demandStream#981510, kpis#981511]
(72) Project
Arguments: [product#981500, plant#981501, kpis#981511, qty#981507, demandChannel#981509, demandStream#981510]
(73) ExternalRDD
Arguments: [obj#981541]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78006), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78006), 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, 78006), 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, 78006), 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, 78006), 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, 78006), 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#981542, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78007), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78007), 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, 78008), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78008), 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, 78008), 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, 78008), 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, 78009), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78009), 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, 78009), 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, 78009), 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, 78009), 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, 78008), 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, 78007), 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, 78010), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78010), 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, 78010), 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, 78010), 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, 78010), 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, 78007), 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, 78007), 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, 78007), 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, 78011), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78011), 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, 78012), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 78012), 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, 78012), 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, 78012), 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, 78012), 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, 78011), 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, 78011), 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, 78007), 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#981543]
(75) Generate
Arguments: explode(prodPlantResults#981543), false, [prodPlantResults#981544]
(76) Project
Arguments: [prodPlantResults#981544]
(77) Generate
Arguments: explode(prodPlantResults#981544.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#981528]
(78) Project
Arguments: [prodPlantResults#981544.productId AS product#981522, prodPlantResults#981544.plantId AS plant#981523, demandChannelStreamKpiResults#981528]
(79) Project
Arguments: [product#981522, plant#981523, demandChannelStreamKpiResults#981528, null AS qty#981529]
(80) Project
Arguments: [product#981522, plant#981523, demandChannelStreamKpiResults#981528, qty#981529, demandChannelStreamKpiResults#981528.demandChannel AS demandChannel#981530]
(81) Project
Arguments: [product#981522, plant#981523, demandChannelStreamKpiResults#981528, qty#981529, demandChannel#981530, demandChannelStreamKpiResults#981528.demandStream AS demandStream#981532]
(82) Project
Arguments: [product#981522, plant#981523, demandChannelStreamKpiResults#981528, qty#981529, demandChannel#981530, demandStream#981532, demandChannelStreamKpiResults#981528.kpiResults AS kpis#981534]
(83) Project
Arguments: [product#981522, plant#981523, qty#981529, demandChannel#981530, demandStream#981532, kpis#981534]
(84) Project
Arguments: [product#981522, plant#981523, kpis#981534, qty#981529, demandChannel#981530, demandStream#981532]
(85) Project
Arguments: [product#981522, plant#981523, kpis#981534, cast(qty#981529 as double) AS qty#981545, demandChannel#981530, demandStream#981532]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#981513, plant#981514, transform(kpis#981515, lambdafunction(struct(label, lambda kpi#981550.label, dateTime, lambda kpi#981550.datetime, value, lambda kpi#981550.value), lambda kpi#981550, false)) AS kpis#981549, qty#981540, demandChannel#981520, demandStream#981521]
(88) Project
Arguments: [product#981513, plant#981514, qty#981540, demandChannel#981520, demandStream#981521, kpis#981549]
(89) LogicalRDD
Arguments: [shardId#982358, worklistShardItemId#982359L, version#982360, product#982361, plant#982362, periodStart#982363, periodEnd#982364, qty#982365], false
(90) RepartitionByExpression
Arguments: [product#982361, plant#982362], 37
(91) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, version#982360, product#982361, plant#982362, qty#982365]
(92) LogicalRDD
Arguments: [shardId#982366, worklistShardItemId#982367L, version#982368, product#982369, plant#982370, periodStart#982371, periodEnd#982372, qty#982373], false
(93) RepartitionByExpression
Arguments: [product#982369, plant#982370], 37
(94) Project
Arguments: [shardId#982366, worklistShardItemId#982367L, version#982368, product#982369, plant#982370, qty#982373]
(95) LogicalRDD
Arguments: [shardId#982374, worklistShardItemId#982375L, qty#982376, demandChannel#982377, demandStream#982378, kpis#982379], false
(96) Project
Arguments: [shardId#982374 AS cachedShardId#982380, worklistShardItemId#982375L AS cachedWorklistShardItemId#982381L, qty#982376 AS cachedQty#982382, demandChannel#982377, demandStream#982378, kpis#982379 AS cachedKpis#982383]
(97) Join
Arguments: Inner, (((worklistShardItemId#982367L = cachedWorklistShardItemId#982381L) AND (shardId#982366 = cachedShardId#982380)) AND ((qty#982373 = cachedQty#982382) OR isnull(qty#982373)))
(98) Project
Arguments: [shardId#982366, worklistShardItemId#982367L, version#982368, product#982369, plant#982370]
(99) Deduplicate
Arguments: [plant#982370, shardId#982366, version#982368, worklistShardItemId#982367L, product#982369]
(100) LogicalRDD
Arguments: [shardId#982384, worklistShardItemId#982385L, qty#982386, demandChannel#982387, demandStream#982388, kpis#982389], false
(101) Project
Arguments: [shardId#982384 AS cachedShardId#982390, worklistShardItemId#982385L AS cachedWorklistShardItemId#982391L, qty#982386 AS cachedQty#982392, demandChannel#982387, demandStream#982388, kpis#982389 AS cachedKpis#982393]
(102) Join
Arguments: Inner, ((worklistShardItemId#982367L = cachedWorklistShardItemId#982391L) AND (shardId#982366 = cachedShardId#982390))
(103) Project
Arguments: [shardId#982366, worklistShardItemId#982367L, version#982368, product#982369, plant#982370, cachedQty#982392 AS qty#982394, demandChannel#982387, demandStream#982388, cachedKpis#982393 AS kpis#982395]
(104) Project
Arguments: [shardId#982366, worklistShardItemId#982367L, version#982368, product#982369, plant#982370, qty#982394]
(105) LogicalRDD
Arguments: [shardId#982396, worklistShardItemId#982397L, version#982398, product#982399, plant#982400, periodStart#982401, periodEnd#982402, qty#982403], false
(106) RepartitionByExpression
Arguments: [product#982399, plant#982400], 37
(107) Project
Arguments: [shardId#982396, worklistShardItemId#982397L, version#982398, product#982399, plant#982400, qty#982403]
(108) LogicalRDD
Arguments: [shardId#982404, worklistShardItemId#982405L, qty#982406, demandChannel#982407, demandStream#982408, kpis#982409], false
(109) Project
Arguments: [shardId#982404 AS cachedShardId#982410, worklistShardItemId#982405L AS cachedWorklistShardItemId#982411L, qty#982406 AS cachedQty#982412, demandChannel#982407, demandStream#982408, kpis#982409 AS cachedKpis#982413]
(110) Join
Arguments: Inner, (((worklistShardItemId#982397L = cachedWorklistShardItemId#982411L) AND (shardId#982396 = cachedShardId#982410)) AND isnull(qty#982403))
(111) Project
Arguments: [shardId#982396, worklistShardItemId#982397L, version#982398, product#982399, plant#982400, qty#982403]
(112) Project
Arguments: [shardId#982396, worklistShardItemId#982397L, version#982398, product#982399, plant#982400, qty#982403]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#982358 <=> shardId#982366) AND (worklistShardItemId#982359L <=> worklistShardItemId#982367L)) AND (version#982360 <=> version#982368)) AND (product#982361 <=> product#982369)) AND (plant#982362 <=> plant#982370)) AND (qty#982365 <=> qty#982394))
(115) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, version#982360, product#982361, plant#982362, qty#982365]
(116) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, version#982360, product#982361, plant#982362, qty#982365, cast(null as string) AS demandChannel#982414]
(117) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, version#982360, product#982361, plant#982362, qty#982365, demandChannel#982414, cast(null as string) AS demandStream#982415]
(118) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, version#982360, product#982361, plant#982362, qty#982365, demandChannel#982414, demandStream#982415, array() AS kpis#982416]
(119) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, version#982360, product#982361, plant#982362, qty#982365, demandChannel#982414, demandStream#982415, kpis#982416, true AS isNewlyCalculated#982417]
(120) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, version#982360, product#982361, plant#982362, qty#982365, demandChannel#982414, demandStream#982415, cast(kpis#982416 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#982418, isNewlyCalculated#982417]
(121) LogicalRDD
Arguments: [shardId#982419, worklistShardItemId#982420L, version#982421, product#982422, plant#982423, periodStart#982424, periodEnd#982425, qty#982426], false
(122) RepartitionByExpression
Arguments: [product#982422, plant#982423], 37
(123) Project
Arguments: [shardId#982419, worklistShardItemId#982420L, version#982421, product#982422, plant#982423, qty#982426]
(124) LogicalRDD
Arguments: [shardId#982427, worklistShardItemId#982428L, qty#982429, demandChannel#982430, demandStream#982431, kpis#982432], false
(125) Project
Arguments: [shardId#982427 AS cachedShardId#982433, worklistShardItemId#982428L AS cachedWorklistShardItemId#982434L, qty#982429 AS cachedQty#982435, demandChannel#982430, demandStream#982431, kpis#982432 AS cachedKpis#982436]
(126) Join
Arguments: Inner, (((worklistShardItemId#982420L = cachedWorklistShardItemId#982434L) AND (shardId#982419 = cachedShardId#982433)) AND ((qty#982426 = cachedQty#982435) OR isnull(qty#982426)))
(127) Project
Arguments: [shardId#982419, worklistShardItemId#982420L, version#982421, product#982422, plant#982423]
(128) Deduplicate
Arguments: [plant#982423, shardId#982419, version#982421, worklistShardItemId#982420L, product#982422]
(129) LogicalRDD
Arguments: [shardId#982437, worklistShardItemId#982438L, qty#982439, demandChannel#982440, demandStream#982441, kpis#982442], false
(130) Project
Arguments: [shardId#982437 AS cachedShardId#982443, worklistShardItemId#982438L AS cachedWorklistShardItemId#982444L, qty#982439 AS cachedQty#982445, demandChannel#982440, demandStream#982441, kpis#982442 AS cachedKpis#982446]
(131) Join
Arguments: Inner, ((worklistShardItemId#982420L = cachedWorklistShardItemId#982444L) AND (shardId#982419 = cachedShardId#982443))
(132) Project
Arguments: [shardId#982419, worklistShardItemId#982420L, version#982421, product#982422, plant#982423, cachedQty#982445 AS qty#982447, demandChannel#982440, demandStream#982441, cachedKpis#982446 AS kpis#982448]
(133) Project
Arguments: [shardId#982419, worklistShardItemId#982420L, version#982421, product#982422, plant#982423, qty#982447, demandChannel#982440, demandStream#982441, kpis#982448, false AS isNewlyCalculated#982449]
(134) Project
Arguments: [shardId#982419, worklistShardItemId#982420L, version#982421, product#982422, plant#982423, qty#982447, demandChannel#982440, demandStream#982441, kpis#982448, isNewlyCalculated#982449]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#982417 <=> true)
(137) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, product#982361, plant#982362, qty#982365, kpis#982418]
(138) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, product#982361, plant#982362, qty#982365]
(139) Deduplicate
Arguments: [plant#982362, shardId#982358, qty#982365, worklistShardItemId#982359L, product#982361]
(140) Join
Arguments: Inner, ((product#981513 <=> product#982361) AND ((plant#981514 <=> plant#982362) AND ((qty#981540 <=> qty#982365) OR isnull(qty#982365))))
(141) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, qty#981540, demandChannel#981520, demandStream#981521, kpis#981549]
(142) Deduplicate
Arguments: [demandChannel#981520, shardId#982358, qty#981540, worklistShardItemId#982359L, demandStream#981521]
(143) Project
Arguments: [shardId#982358, worklistShardItemId#982359L, qty#981540, demandChannel#981520, demandStream#981521, kpis#981549]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452, product#982453, plant#982454, periodStart#982455, periodEnd#982456, qty#982457], false
(146) RepartitionByExpression
Arguments: [product#982453, plant#982454], 37
(147) Project
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452, product#982453, plant#982454, qty#982457]
(148) LogicalRDD
Arguments: [shardId#982458, worklistShardItemId#982459L, version#982460, product#982461, plant#982462, periodStart#982463, periodEnd#982464, qty#982465], false
(149) RepartitionByExpression
Arguments: [product#982461, plant#982462], 37
(150) Project
Arguments: [shardId#982458, worklistShardItemId#982459L, version#982460, product#982461, plant#982462, qty#982465]
(151) LogicalRDD
Arguments: [shardId#982466, worklistShardItemId#982467L, qty#982468, demandChannel#982469, demandStream#982470, kpis#982471], false
(152) Project
Arguments: [shardId#982466 AS cachedShardId#982472, worklistShardItemId#982467L AS cachedWorklistShardItemId#982473L, qty#982468 AS cachedQty#982474, demandChannel#982469, demandStream#982470, kpis#982471 AS cachedKpis#982475]
(153) Join
Arguments: Inner, (((worklistShardItemId#982459L = cachedWorklistShardItemId#982473L) AND (shardId#982458 = cachedShardId#982472)) AND ((qty#982465 = cachedQty#982474) OR isnull(qty#982465)))
(154) Project
Arguments: [shardId#982458, worklistShardItemId#982459L, version#982460, product#982461, plant#982462]
(155) Deduplicate
Arguments: [plant#982462, shardId#982458, version#982460, worklistShardItemId#982459L, product#982461]
(156) LogicalRDD
Arguments: [shardId#982476, worklistShardItemId#982477L, qty#982478, demandChannel#982479, demandStream#982480, kpis#982481], false
(157) Project
Arguments: [shardId#982476 AS cachedShardId#982482, worklistShardItemId#982477L AS cachedWorklistShardItemId#982483L, qty#982478 AS cachedQty#982484, demandChannel#982479, demandStream#982480, kpis#982481 AS cachedKpis#982485]
(158) Join
Arguments: Inner, ((worklistShardItemId#982459L = cachedWorklistShardItemId#982483L) AND (shardId#982458 = cachedShardId#982482))
(159) Project
Arguments: [shardId#982458, worklistShardItemId#982459L, version#982460, product#982461, plant#982462, cachedQty#982484 AS qty#982486, demandChannel#982479, demandStream#982480, cachedKpis#982485 AS kpis#982487]
(160) Project
Arguments: [shardId#982458, worklistShardItemId#982459L, version#982460, product#982461, plant#982462, qty#982486]
(161) LogicalRDD
Arguments: [shardId#982488, worklistShardItemId#982489L, version#982490, product#982491, plant#982492, periodStart#982493, periodEnd#982494, qty#982495], false
(162) RepartitionByExpression
Arguments: [product#982491, plant#982492], 37
(163) Project
Arguments: [shardId#982488, worklistShardItemId#982489L, version#982490, product#982491, plant#982492, qty#982495]
(164) LogicalRDD
Arguments: [shardId#982496, worklistShardItemId#982497L, qty#982498, demandChannel#982499, demandStream#982500, kpis#982501], false
(165) Project
Arguments: [shardId#982496 AS cachedShardId#982502, worklistShardItemId#982497L AS cachedWorklistShardItemId#982503L, qty#982498 AS cachedQty#982504, demandChannel#982499, demandStream#982500, kpis#982501 AS cachedKpis#982505]
(166) Join
Arguments: Inner, (((worklistShardItemId#982489L = cachedWorklistShardItemId#982503L) AND (shardId#982488 = cachedShardId#982502)) AND isnull(qty#982495))
(167) Project
Arguments: [shardId#982488, worklistShardItemId#982489L, version#982490, product#982491, plant#982492, qty#982495]
(168) Project
Arguments: [shardId#982488, worklistShardItemId#982489L, version#982490, product#982491, plant#982492, qty#982495]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#982450 <=> shardId#982458) AND (worklistShardItemId#982451L <=> worklistShardItemId#982459L)) AND (version#982452 <=> version#982460)) AND (product#982453 <=> product#982461)) AND (plant#982454 <=> plant#982462)) AND (qty#982457 <=> qty#982486))
(171) Project
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452, product#982453, plant#982454, qty#982457]
(172) Project
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452, product#982453, plant#982454, qty#982457, cast(null as string) AS demandChannel#982506]
(173) Project
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452, product#982453, plant#982454, qty#982457, demandChannel#982506, cast(null as string) AS demandStream#982507]
(174) Project
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452, product#982453, plant#982454, qty#982457, demandChannel#982506, demandStream#982507, array() AS kpis#982508]
(175) Project
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452, product#982453, plant#982454, qty#982457, demandChannel#982506, demandStream#982507, kpis#982508, true AS isNewlyCalculated#982509]
(176) Project
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452, product#982453, plant#982454, qty#982457, demandChannel#982506, demandStream#982507, cast(kpis#982508 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#982510, isNewlyCalculated#982509]
(177) LogicalRDD
Arguments: [shardId#982511, worklistShardItemId#982512L, version#982513, product#982514, plant#982515, periodStart#982516, periodEnd#982517, qty#982518], false
(178) RepartitionByExpression
Arguments: [product#982514, plant#982515], 37
(179) Project
Arguments: [shardId#982511, worklistShardItemId#982512L, version#982513, product#982514, plant#982515, qty#982518]
(180) LogicalRDD
Arguments: [shardId#982519, worklistShardItemId#982520L, qty#982521, demandChannel#982522, demandStream#982523, kpis#982524], false
(181) Project
Arguments: [shardId#982519 AS cachedShardId#982525, worklistShardItemId#982520L AS cachedWorklistShardItemId#982526L, qty#982521 AS cachedQty#982527, demandChannel#982522, demandStream#982523, kpis#982524 AS cachedKpis#982528]
(182) Join
Arguments: Inner, (((worklistShardItemId#982512L = cachedWorklistShardItemId#982526L) AND (shardId#982511 = cachedShardId#982525)) AND ((qty#982518 = cachedQty#982527) OR isnull(qty#982518)))
(183) Project
Arguments: [shardId#982511, worklistShardItemId#982512L, version#982513, product#982514, plant#982515]
(184) Deduplicate
Arguments: [plant#982515, shardId#982511, version#982513, worklistShardItemId#982512L, product#982514]
(185) LogicalRDD
Arguments: [shardId#982529, worklistShardItemId#982530L, qty#982531, demandChannel#982532, demandStream#982533, kpis#982534], false
(186) Project
Arguments: [shardId#982529 AS cachedShardId#982535, worklistShardItemId#982530L AS cachedWorklistShardItemId#982536L, qty#982531 AS cachedQty#982537, demandChannel#982532, demandStream#982533, kpis#982534 AS cachedKpis#982538]
(187) Join
Arguments: Inner, ((worklistShardItemId#982512L = cachedWorklistShardItemId#982536L) AND (shardId#982511 = cachedShardId#982535))
(188) Project
Arguments: [shardId#982511, worklistShardItemId#982512L, version#982513, product#982514, plant#982515, cachedQty#982537 AS qty#982539, demandChannel#982532, demandStream#982533, cachedKpis#982538 AS kpis#982540]
(189) Project
Arguments: [shardId#982511, worklistShardItemId#982512L, version#982513, product#982514, plant#982515, qty#982539, demandChannel#982532, demandStream#982533, kpis#982540, false AS isNewlyCalculated#982541]
(190) Project
Arguments: [shardId#982511, worklistShardItemId#982512L, version#982513, product#982514, plant#982515, qty#982539, demandChannel#982532, demandStream#982533, kpis#982540, isNewlyCalculated#982541]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#982450, worklistShardItemId#982451L, version#982452]
(193) Aggregate
Arguments: [shardId#982450, worklistShardItemId#982451L], [shardId#982450, worklistShardItemId#982451L, (max(version#982452) + 1) AS version#982353]
(194) Join
Arguments: Inner, ((shardId#943631 = shardId#982450) AND (worklistShardItemId#943632L = worklistShardItemId#982451L))
(195) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#978984, demandStream#978985, kpis#979019, version#982353]
(196) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#982353, qty#943638, demandChannel#978984, demandStream#978985, kpis#979019]