== 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@3fb2d6b5, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000347/stream-10000000347-1], Append
(3) LogicalRDD
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, periodStart#815745, periodEnd#815746, qty#815747], false
(4) RepartitionByExpression
Arguments: [product#815743, plant#815744], 37
(5) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(6) LogicalRDD
Arguments: [shardId#849322, worklistShardItemId#849323L, version#849324, product#849325, plant#849326, periodStart#849327, periodEnd#849328, qty#849329], false
(7) RepartitionByExpression
Arguments: [product#849325, plant#849326], 37
(8) Project
Arguments: [shardId#849322, worklistShardItemId#849323L, version#849324, product#849325, plant#849326, qty#849329]
(9) LogicalRDD
Arguments: [shardId#849077, worklistShardItemId#849078L, qty#849079, demandChannel#849080, demandStream#849081, kpis#849082], false
(10) Project
Arguments: [shardId#849077 AS cachedShardId#849083, worklistShardItemId#849078L AS cachedWorklistShardItemId#849084L, qty#849079 AS cachedQty#849085, demandChannel#849080, demandStream#849081, kpis#849082 AS cachedKpis#849086]
(11) Join
Arguments: Inner, (((worklistShardItemId#849323L = cachedWorklistShardItemId#849084L) AND (shardId#849322 = cachedShardId#849083)) AND ((qty#849329 = cachedQty#849085) OR isnull(qty#849329)))
(12) Project
Arguments: [shardId#849322, worklistShardItemId#849323L, version#849324, product#849325, plant#849326]
(13) Deduplicate
Arguments: [plant#849326, shardId#849322, version#849324, worklistShardItemId#849323L, product#849325]
(14) LogicalRDD
Arguments: [shardId#849087, worklistShardItemId#849088L, qty#849089, demandChannel#849090, demandStream#849091, kpis#849092], false
(15) Project
Arguments: [shardId#849087 AS cachedShardId#849093, worklistShardItemId#849088L AS cachedWorklistShardItemId#849094L, qty#849089 AS cachedQty#849095, demandChannel#849090, demandStream#849091, kpis#849092 AS cachedKpis#849096]
(16) Join
Arguments: Inner, ((worklistShardItemId#849323L = cachedWorklistShardItemId#849094L) AND (shardId#849322 = cachedShardId#849093))
(17) Project
Arguments: [shardId#849322, worklistShardItemId#849323L, version#849324, product#849325, plant#849326, cachedQty#849095 AS qty#849097, demandChannel#849090, demandStream#849091, cachedKpis#849096 AS kpis#849098]
(18) Project
Arguments: [shardId#849322, worklistShardItemId#849323L, version#849324, product#849325, plant#849326, qty#849097]
(19) LogicalRDD
Arguments: [shardId#849304, worklistShardItemId#849305L, version#849306, product#849307, plant#849308, periodStart#849309, periodEnd#849310, qty#849311], false
(20) RepartitionByExpression
Arguments: [product#849307, plant#849308], 37
(21) Project
Arguments: [shardId#849304, worklistShardItemId#849305L, version#849306, product#849307, plant#849308, qty#849311]
(22) LogicalRDD
Arguments: [shardId#849312, worklistShardItemId#849313L, qty#849314, demandChannel#849315, demandStream#849316, kpis#849317], false
(23) Project
Arguments: [shardId#849312 AS cachedShardId#849318, worklistShardItemId#849313L AS cachedWorklistShardItemId#849319L, qty#849314 AS cachedQty#849320, demandChannel#849315, demandStream#849316, kpis#849317 AS cachedKpis#849321]
(24) Join
Arguments: Inner, (((worklistShardItemId#849305L = cachedWorklistShardItemId#849319L) AND (shardId#849304 = cachedShardId#849318)) AND isnull(qty#849311))
(25) Project
Arguments: [shardId#849304, worklistShardItemId#849305L, version#849306, product#849307, plant#849308, qty#849311]
(26) Project
Arguments: [shardId#849304, worklistShardItemId#849305L, version#849306, product#849307, plant#849308, qty#849311]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#849322) AND (worklistShardItemId#815741L <=> worklistShardItemId#849323L)) AND (version#815742 <=> version#849324)) AND (product#815743 <=> product#849325)) AND (plant#815744 <=> plant#849326)) AND (qty#815747 <=> qty#849097))
(29) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(30) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, cast(null as string) AS demandChannel#849330]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#849330, cast(null as string) AS demandStream#849331]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#849330, demandStream#849331, array() AS kpis#849332]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#849330, demandStream#849331, kpis#849332, true AS isNewlyCalculated#849333]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#849330, demandStream#849331, cast(kpis#849332 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#849365, isNewlyCalculated#849333]
(35) LogicalRDD
Arguments: [shardId#849335, worklistShardItemId#849336L, version#849337, product#849338, plant#849339, periodStart#849340, periodEnd#849341, qty#849342], false
(36) RepartitionByExpression
Arguments: [product#849338, plant#849339], 37
(37) Project
Arguments: [shardId#849335, worklistShardItemId#849336L, version#849337, product#849338, plant#849339, qty#849342]
(38) LogicalRDD
Arguments: [shardId#849343, worklistShardItemId#849344L, qty#849345, demandChannel#849346, demandStream#849347, kpis#849348], false
(39) Project
Arguments: [shardId#849343 AS cachedShardId#849349, worklistShardItemId#849344L AS cachedWorklistShardItemId#849350L, qty#849345 AS cachedQty#849351, demandChannel#849346, demandStream#849347, kpis#849348 AS cachedKpis#849352]
(40) Join
Arguments: Inner, (((worklistShardItemId#849336L = cachedWorklistShardItemId#849350L) AND (shardId#849335 = cachedShardId#849349)) AND ((qty#849342 = cachedQty#849351) OR isnull(qty#849342)))
(41) Project
Arguments: [shardId#849335, worklistShardItemId#849336L, version#849337, product#849338, plant#849339]
(42) Deduplicate
Arguments: [plant#849339, shardId#849335, version#849337, worklistShardItemId#849336L, product#849338]
(43) LogicalRDD
Arguments: [shardId#849353, worklistShardItemId#849354L, qty#849355, demandChannel#849356, demandStream#849357, kpis#849358], false
(44) Project
Arguments: [shardId#849353 AS cachedShardId#849359, worklistShardItemId#849354L AS cachedWorklistShardItemId#849360L, qty#849355 AS cachedQty#849361, demandChannel#849356, demandStream#849357, kpis#849358 AS cachedKpis#849362]
(45) Join
Arguments: Inner, ((worklistShardItemId#849336L = cachedWorklistShardItemId#849360L) AND (shardId#849335 = cachedShardId#849359))
(46) Project
Arguments: [shardId#849335, worklistShardItemId#849336L, version#849337, product#849338, plant#849339, cachedQty#849361 AS qty#849363, demandChannel#849356, demandStream#849357, cachedKpis#849362 AS kpis#849364]
(47) Project
Arguments: [shardId#849335, worklistShardItemId#849336L, version#849337, product#849338, plant#849339, qty#849363, demandChannel#849356, demandStream#849357, kpis#849364, false AS isNewlyCalculated#849334]
(48) Project
Arguments: [shardId#849335, worklistShardItemId#849336L, version#849337, product#849338, plant#849339, qty#849363, demandChannel#849356, demandStream#849357, kpis#849364, isNewlyCalculated#849334]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#849333 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#849330, demandStream#849331, kpis#849365]
(52) ExternalRDD
Arguments: [obj#851829]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67496), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67496), 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, 67496), 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, 67496), 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, 67496), 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, 67496), 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#851832, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67497), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67497), 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, 67498), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67498), 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, 67498), 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, 67498), 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, 67499), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67499), 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, 67499), 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, 67499), 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, 67499), 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, 67498), 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, 67497), 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, 67500), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67500), 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, 67500), 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, 67500), 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, 67500), 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, 67497), 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, 67497), 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, 67497), 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, 67501), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67501), 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, 67502), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67502), 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, 67502), 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, 67502), 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, 67502), 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, 67501), 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, 67501), 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, 67497), 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#851833]
(54) Generate
Arguments: explode(prodPlantResults#851833), false, [prodPlantResults#851840]
(55) Project
Arguments: [prodPlantResults#851840]
(56) Project
Arguments: [prodPlantResults#851840.productId AS product#851859, prodPlantResults#851840.plantId AS plant#851860, prodPlantResults#851840.kpiResults AS kpis#851861]
(57) Project
Arguments: [product#851859, plant#851860, kpis#851861, null AS qty#851865]
(58) Project
Arguments: [product#851859, plant#851860, kpis#851861, qty#851865, cast(null as string) AS demandChannel#851866]
(59) Project
Arguments: [product#851859, plant#851860, kpis#851861, qty#851865, demandChannel#851866, cast(null as string) AS demandStream#851867]
(60) Project
Arguments: [product#851859, plant#851860, kpis#851861, cast(qty#851865 as double) AS qty#851886, demandChannel#851866, demandStream#851867]
(61) ExternalRDD
Arguments: [obj#851882]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67496), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67496), 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, 67496), 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, 67496), 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, 67496), 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, 67496), 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#851883, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67497), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67497), 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, 67498), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67498), 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, 67498), 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, 67498), 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, 67499), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67499), 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, 67499), 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, 67499), 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, 67499), 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, 67498), 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, 67497), 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, 67500), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67500), 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, 67500), 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, 67500), 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, 67500), 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, 67497), 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, 67497), 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, 67497), 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, 67501), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67501), 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, 67502), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67502), 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, 67502), 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, 67502), 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, 67502), 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, 67501), 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, 67501), 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, 67497), 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#851884]
(63) Generate
Arguments: explode(prodPlantResults#851884), false, [prodPlantResults#851885]
(64) Project
Arguments: [prodPlantResults#851885]
(65) Generate
Arguments: explode(prodPlantResults#851885.quantityKpiResults), false, [quantityKpiResults#851852]
(66) Project
Arguments: [prodPlantResults#851885.productId AS product#851846, prodPlantResults#851885.plantId AS plant#851847, quantityKpiResults#851852]
(67) Project
Arguments: [product#851846, plant#851847, quantityKpiResults#851852, quantityKpiResults#851852.quantity AS qty#851853]
(68) Project
Arguments: [product#851846, plant#851847, quantityKpiResults#851852, qty#851853, cast(null as string) AS demandChannel#851855]
(69) Project
Arguments: [product#851846, plant#851847, quantityKpiResults#851852, qty#851853, demandChannel#851855, cast(null as string) AS demandStream#851856]
(70) Project
Arguments: [product#851846, plant#851847, quantityKpiResults#851852, qty#851853, demandChannel#851855, demandStream#851856, quantityKpiResults#851852.kpiResults AS kpis#851857]
(71) Project
Arguments: [product#851846, plant#851847, qty#851853, demandChannel#851855, demandStream#851856, kpis#851857]
(72) Project
Arguments: [product#851846, plant#851847, kpis#851857, qty#851853, demandChannel#851855, demandStream#851856]
(73) ExternalRDD
Arguments: [obj#851887]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67496), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67496), 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, 67496), 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, 67496), 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, 67496), 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, 67496), 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#851888, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67497), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67497), 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, 67498), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67498), 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, 67498), 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, 67498), 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, 67499), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67499), 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, 67499), 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, 67499), 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, 67499), 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, 67498), 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, 67497), 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, 67500), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67500), 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, 67500), 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, 67500), 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, 67500), 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, 67497), 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, 67497), 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, 67497), 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, 67501), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67501), 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, 67502), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67502), 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, 67502), 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, 67502), 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, 67502), 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, 67501), 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, 67501), 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, 67497), 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#851889]
(75) Generate
Arguments: explode(prodPlantResults#851889), false, [prodPlantResults#851890]
(76) Project
Arguments: [prodPlantResults#851890]
(77) Generate
Arguments: explode(prodPlantResults#851890.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#851874]
(78) Project
Arguments: [prodPlantResults#851890.productId AS product#851868, prodPlantResults#851890.plantId AS plant#851869, demandChannelStreamKpiResults#851874]
(79) Project
Arguments: [product#851868, plant#851869, demandChannelStreamKpiResults#851874, null AS qty#851875]
(80) Project
Arguments: [product#851868, plant#851869, demandChannelStreamKpiResults#851874, qty#851875, demandChannelStreamKpiResults#851874.demandChannel AS demandChannel#851876]
(81) Project
Arguments: [product#851868, plant#851869, demandChannelStreamKpiResults#851874, qty#851875, demandChannel#851876, demandChannelStreamKpiResults#851874.demandStream AS demandStream#851878]
(82) Project
Arguments: [product#851868, plant#851869, demandChannelStreamKpiResults#851874, qty#851875, demandChannel#851876, demandStream#851878, demandChannelStreamKpiResults#851874.kpiResults AS kpis#851880]
(83) Project
Arguments: [product#851868, plant#851869, qty#851875, demandChannel#851876, demandStream#851878, kpis#851880]
(84) Project
Arguments: [product#851868, plant#851869, kpis#851880, qty#851875, demandChannel#851876, demandStream#851878]
(85) Project
Arguments: [product#851868, plant#851869, kpis#851880, cast(qty#851875 as double) AS qty#851891, demandChannel#851876, demandStream#851878]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#851859, plant#851860, transform(kpis#851861, lambdafunction(struct(label, lambda kpi#851896.label, dateTime, lambda kpi#851896.datetime, value, lambda kpi#851896.value), lambda kpi#851896, false)) AS kpis#851895, qty#851886, demandChannel#851866, demandStream#851867]
(88) Project
Arguments: [product#851859, plant#851860, qty#851886, demandChannel#851866, demandStream#851867, kpis#851895]
(89) LogicalRDD
Arguments: [shardId#852704, worklistShardItemId#852705L, version#852706, product#852707, plant#852708, periodStart#852709, periodEnd#852710, qty#852711], false
(90) RepartitionByExpression
Arguments: [product#852707, plant#852708], 37
(91) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, version#852706, product#852707, plant#852708, qty#852711]
(92) LogicalRDD
Arguments: [shardId#852712, worklistShardItemId#852713L, version#852714, product#852715, plant#852716, periodStart#852717, periodEnd#852718, qty#852719], false
(93) RepartitionByExpression
Arguments: [product#852715, plant#852716], 37
(94) Project
Arguments: [shardId#852712, worklistShardItemId#852713L, version#852714, product#852715, plant#852716, qty#852719]
(95) LogicalRDD
Arguments: [shardId#852720, worklistShardItemId#852721L, qty#852722, demandChannel#852723, demandStream#852724, kpis#852725], false
(96) Project
Arguments: [shardId#852720 AS cachedShardId#852726, worklistShardItemId#852721L AS cachedWorklistShardItemId#852727L, qty#852722 AS cachedQty#852728, demandChannel#852723, demandStream#852724, kpis#852725 AS cachedKpis#852729]
(97) Join
Arguments: Inner, (((worklistShardItemId#852713L = cachedWorklistShardItemId#852727L) AND (shardId#852712 = cachedShardId#852726)) AND ((qty#852719 = cachedQty#852728) OR isnull(qty#852719)))
(98) Project
Arguments: [shardId#852712, worklistShardItemId#852713L, version#852714, product#852715, plant#852716]
(99) Deduplicate
Arguments: [plant#852716, shardId#852712, version#852714, worklistShardItemId#852713L, product#852715]
(100) LogicalRDD
Arguments: [shardId#852730, worklistShardItemId#852731L, qty#852732, demandChannel#852733, demandStream#852734, kpis#852735], false
(101) Project
Arguments: [shardId#852730 AS cachedShardId#852736, worklistShardItemId#852731L AS cachedWorklistShardItemId#852737L, qty#852732 AS cachedQty#852738, demandChannel#852733, demandStream#852734, kpis#852735 AS cachedKpis#852739]
(102) Join
Arguments: Inner, ((worklistShardItemId#852713L = cachedWorklistShardItemId#852737L) AND (shardId#852712 = cachedShardId#852736))
(103) Project
Arguments: [shardId#852712, worklistShardItemId#852713L, version#852714, product#852715, plant#852716, cachedQty#852738 AS qty#852740, demandChannel#852733, demandStream#852734, cachedKpis#852739 AS kpis#852741]
(104) Project
Arguments: [shardId#852712, worklistShardItemId#852713L, version#852714, product#852715, plant#852716, qty#852740]
(105) LogicalRDD
Arguments: [shardId#852742, worklistShardItemId#852743L, version#852744, product#852745, plant#852746, periodStart#852747, periodEnd#852748, qty#852749], false
(106) RepartitionByExpression
Arguments: [product#852745, plant#852746], 37
(107) Project
Arguments: [shardId#852742, worklistShardItemId#852743L, version#852744, product#852745, plant#852746, qty#852749]
(108) LogicalRDD
Arguments: [shardId#852750, worklistShardItemId#852751L, qty#852752, demandChannel#852753, demandStream#852754, kpis#852755], false
(109) Project
Arguments: [shardId#852750 AS cachedShardId#852756, worklistShardItemId#852751L AS cachedWorklistShardItemId#852757L, qty#852752 AS cachedQty#852758, demandChannel#852753, demandStream#852754, kpis#852755 AS cachedKpis#852759]
(110) Join
Arguments: Inner, (((worklistShardItemId#852743L = cachedWorklistShardItemId#852757L) AND (shardId#852742 = cachedShardId#852756)) AND isnull(qty#852749))
(111) Project
Arguments: [shardId#852742, worklistShardItemId#852743L, version#852744, product#852745, plant#852746, qty#852749]
(112) Project
Arguments: [shardId#852742, worklistShardItemId#852743L, version#852744, product#852745, plant#852746, qty#852749]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#852704 <=> shardId#852712) AND (worklistShardItemId#852705L <=> worklistShardItemId#852713L)) AND (version#852706 <=> version#852714)) AND (product#852707 <=> product#852715)) AND (plant#852708 <=> plant#852716)) AND (qty#852711 <=> qty#852740))
(115) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, version#852706, product#852707, plant#852708, qty#852711]
(116) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, version#852706, product#852707, plant#852708, qty#852711, cast(null as string) AS demandChannel#852760]
(117) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, version#852706, product#852707, plant#852708, qty#852711, demandChannel#852760, cast(null as string) AS demandStream#852761]
(118) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, version#852706, product#852707, plant#852708, qty#852711, demandChannel#852760, demandStream#852761, array() AS kpis#852762]
(119) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, version#852706, product#852707, plant#852708, qty#852711, demandChannel#852760, demandStream#852761, kpis#852762, true AS isNewlyCalculated#852763]
(120) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, version#852706, product#852707, plant#852708, qty#852711, demandChannel#852760, demandStream#852761, cast(kpis#852762 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#852764, isNewlyCalculated#852763]
(121) LogicalRDD
Arguments: [shardId#852765, worklistShardItemId#852766L, version#852767, product#852768, plant#852769, periodStart#852770, periodEnd#852771, qty#852772], false
(122) RepartitionByExpression
Arguments: [product#852768, plant#852769], 37
(123) Project
Arguments: [shardId#852765, worklistShardItemId#852766L, version#852767, product#852768, plant#852769, qty#852772]
(124) LogicalRDD
Arguments: [shardId#852773, worklistShardItemId#852774L, qty#852775, demandChannel#852776, demandStream#852777, kpis#852778], false
(125) Project
Arguments: [shardId#852773 AS cachedShardId#852779, worklistShardItemId#852774L AS cachedWorklistShardItemId#852780L, qty#852775 AS cachedQty#852781, demandChannel#852776, demandStream#852777, kpis#852778 AS cachedKpis#852782]
(126) Join
Arguments: Inner, (((worklistShardItemId#852766L = cachedWorklistShardItemId#852780L) AND (shardId#852765 = cachedShardId#852779)) AND ((qty#852772 = cachedQty#852781) OR isnull(qty#852772)))
(127) Project
Arguments: [shardId#852765, worklistShardItemId#852766L, version#852767, product#852768, plant#852769]
(128) Deduplicate
Arguments: [plant#852769, shardId#852765, version#852767, worklistShardItemId#852766L, product#852768]
(129) LogicalRDD
Arguments: [shardId#852783, worklistShardItemId#852784L, qty#852785, demandChannel#852786, demandStream#852787, kpis#852788], false
(130) Project
Arguments: [shardId#852783 AS cachedShardId#852789, worklistShardItemId#852784L AS cachedWorklistShardItemId#852790L, qty#852785 AS cachedQty#852791, demandChannel#852786, demandStream#852787, kpis#852788 AS cachedKpis#852792]
(131) Join
Arguments: Inner, ((worklistShardItemId#852766L = cachedWorklistShardItemId#852790L) AND (shardId#852765 = cachedShardId#852789))
(132) Project
Arguments: [shardId#852765, worklistShardItemId#852766L, version#852767, product#852768, plant#852769, cachedQty#852791 AS qty#852793, demandChannel#852786, demandStream#852787, cachedKpis#852792 AS kpis#852794]
(133) Project
Arguments: [shardId#852765, worklistShardItemId#852766L, version#852767, product#852768, plant#852769, qty#852793, demandChannel#852786, demandStream#852787, kpis#852794, false AS isNewlyCalculated#852795]
(134) Project
Arguments: [shardId#852765, worklistShardItemId#852766L, version#852767, product#852768, plant#852769, qty#852793, demandChannel#852786, demandStream#852787, kpis#852794, isNewlyCalculated#852795]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#852763 <=> true)
(137) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, product#852707, plant#852708, qty#852711, kpis#852764]
(138) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, product#852707, plant#852708, qty#852711]
(139) Deduplicate
Arguments: [plant#852708, shardId#852704, qty#852711, worklistShardItemId#852705L, product#852707]
(140) Join
Arguments: Inner, ((product#851859 <=> product#852707) AND ((plant#851860 <=> plant#852708) AND ((qty#851886 <=> qty#852711) OR isnull(qty#852711))))
(141) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, qty#851886, demandChannel#851866, demandStream#851867, kpis#851895]
(142) Deduplicate
Arguments: [demandChannel#851866, shardId#852704, qty#851886, worklistShardItemId#852705L, demandStream#851867]
(143) Project
Arguments: [shardId#852704, worklistShardItemId#852705L, qty#851886, demandChannel#851866, demandStream#851867, kpis#851895]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798, product#852799, plant#852800, periodStart#852801, periodEnd#852802, qty#852803], false
(146) RepartitionByExpression
Arguments: [product#852799, plant#852800], 37
(147) Project
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798, product#852799, plant#852800, qty#852803]
(148) LogicalRDD
Arguments: [shardId#852804, worklistShardItemId#852805L, version#852806, product#852807, plant#852808, periodStart#852809, periodEnd#852810, qty#852811], false
(149) RepartitionByExpression
Arguments: [product#852807, plant#852808], 37
(150) Project
Arguments: [shardId#852804, worklistShardItemId#852805L, version#852806, product#852807, plant#852808, qty#852811]
(151) LogicalRDD
Arguments: [shardId#852812, worklistShardItemId#852813L, qty#852814, demandChannel#852815, demandStream#852816, kpis#852817], false
(152) Project
Arguments: [shardId#852812 AS cachedShardId#852818, worklistShardItemId#852813L AS cachedWorklistShardItemId#852819L, qty#852814 AS cachedQty#852820, demandChannel#852815, demandStream#852816, kpis#852817 AS cachedKpis#852821]
(153) Join
Arguments: Inner, (((worklistShardItemId#852805L = cachedWorklistShardItemId#852819L) AND (shardId#852804 = cachedShardId#852818)) AND ((qty#852811 = cachedQty#852820) OR isnull(qty#852811)))
(154) Project
Arguments: [shardId#852804, worklistShardItemId#852805L, version#852806, product#852807, plant#852808]
(155) Deduplicate
Arguments: [plant#852808, shardId#852804, version#852806, worklistShardItemId#852805L, product#852807]
(156) LogicalRDD
Arguments: [shardId#852822, worklistShardItemId#852823L, qty#852824, demandChannel#852825, demandStream#852826, kpis#852827], false
(157) Project
Arguments: [shardId#852822 AS cachedShardId#852828, worklistShardItemId#852823L AS cachedWorklistShardItemId#852829L, qty#852824 AS cachedQty#852830, demandChannel#852825, demandStream#852826, kpis#852827 AS cachedKpis#852831]
(158) Join
Arguments: Inner, ((worklistShardItemId#852805L = cachedWorklistShardItemId#852829L) AND (shardId#852804 = cachedShardId#852828))
(159) Project
Arguments: [shardId#852804, worklistShardItemId#852805L, version#852806, product#852807, plant#852808, cachedQty#852830 AS qty#852832, demandChannel#852825, demandStream#852826, cachedKpis#852831 AS kpis#852833]
(160) Project
Arguments: [shardId#852804, worklistShardItemId#852805L, version#852806, product#852807, plant#852808, qty#852832]
(161) LogicalRDD
Arguments: [shardId#852834, worklistShardItemId#852835L, version#852836, product#852837, plant#852838, periodStart#852839, periodEnd#852840, qty#852841], false
(162) RepartitionByExpression
Arguments: [product#852837, plant#852838], 37
(163) Project
Arguments: [shardId#852834, worklistShardItemId#852835L, version#852836, product#852837, plant#852838, qty#852841]
(164) LogicalRDD
Arguments: [shardId#852842, worklistShardItemId#852843L, qty#852844, demandChannel#852845, demandStream#852846, kpis#852847], false
(165) Project
Arguments: [shardId#852842 AS cachedShardId#852848, worklistShardItemId#852843L AS cachedWorklistShardItemId#852849L, qty#852844 AS cachedQty#852850, demandChannel#852845, demandStream#852846, kpis#852847 AS cachedKpis#852851]
(166) Join
Arguments: Inner, (((worklistShardItemId#852835L = cachedWorklistShardItemId#852849L) AND (shardId#852834 = cachedShardId#852848)) AND isnull(qty#852841))
(167) Project
Arguments: [shardId#852834, worklistShardItemId#852835L, version#852836, product#852837, plant#852838, qty#852841]
(168) Project
Arguments: [shardId#852834, worklistShardItemId#852835L, version#852836, product#852837, plant#852838, qty#852841]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#852796 <=> shardId#852804) AND (worklistShardItemId#852797L <=> worklistShardItemId#852805L)) AND (version#852798 <=> version#852806)) AND (product#852799 <=> product#852807)) AND (plant#852800 <=> plant#852808)) AND (qty#852803 <=> qty#852832))
(171) Project
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798, product#852799, plant#852800, qty#852803]
(172) Project
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798, product#852799, plant#852800, qty#852803, cast(null as string) AS demandChannel#852852]
(173) Project
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798, product#852799, plant#852800, qty#852803, demandChannel#852852, cast(null as string) AS demandStream#852853]
(174) Project
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798, product#852799, plant#852800, qty#852803, demandChannel#852852, demandStream#852853, array() AS kpis#852854]
(175) Project
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798, product#852799, plant#852800, qty#852803, demandChannel#852852, demandStream#852853, kpis#852854, true AS isNewlyCalculated#852855]
(176) Project
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798, product#852799, plant#852800, qty#852803, demandChannel#852852, demandStream#852853, cast(kpis#852854 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#852856, isNewlyCalculated#852855]
(177) LogicalRDD
Arguments: [shardId#852857, worklistShardItemId#852858L, version#852859, product#852860, plant#852861, periodStart#852862, periodEnd#852863, qty#852864], false
(178) RepartitionByExpression
Arguments: [product#852860, plant#852861], 37
(179) Project
Arguments: [shardId#852857, worklistShardItemId#852858L, version#852859, product#852860, plant#852861, qty#852864]
(180) LogicalRDD
Arguments: [shardId#852865, worklistShardItemId#852866L, qty#852867, demandChannel#852868, demandStream#852869, kpis#852870], false
(181) Project
Arguments: [shardId#852865 AS cachedShardId#852871, worklistShardItemId#852866L AS cachedWorklistShardItemId#852872L, qty#852867 AS cachedQty#852873, demandChannel#852868, demandStream#852869, kpis#852870 AS cachedKpis#852874]
(182) Join
Arguments: Inner, (((worklistShardItemId#852858L = cachedWorklistShardItemId#852872L) AND (shardId#852857 = cachedShardId#852871)) AND ((qty#852864 = cachedQty#852873) OR isnull(qty#852864)))
(183) Project
Arguments: [shardId#852857, worklistShardItemId#852858L, version#852859, product#852860, plant#852861]
(184) Deduplicate
Arguments: [plant#852861, shardId#852857, version#852859, worklistShardItemId#852858L, product#852860]
(185) LogicalRDD
Arguments: [shardId#852875, worklistShardItemId#852876L, qty#852877, demandChannel#852878, demandStream#852879, kpis#852880], false
(186) Project
Arguments: [shardId#852875 AS cachedShardId#852881, worklistShardItemId#852876L AS cachedWorklistShardItemId#852882L, qty#852877 AS cachedQty#852883, demandChannel#852878, demandStream#852879, kpis#852880 AS cachedKpis#852884]
(187) Join
Arguments: Inner, ((worklistShardItemId#852858L = cachedWorklistShardItemId#852882L) AND (shardId#852857 = cachedShardId#852881))
(188) Project
Arguments: [shardId#852857, worklistShardItemId#852858L, version#852859, product#852860, plant#852861, cachedQty#852883 AS qty#852885, demandChannel#852878, demandStream#852879, cachedKpis#852884 AS kpis#852886]
(189) Project
Arguments: [shardId#852857, worklistShardItemId#852858L, version#852859, product#852860, plant#852861, qty#852885, demandChannel#852878, demandStream#852879, kpis#852886, false AS isNewlyCalculated#852887]
(190) Project
Arguments: [shardId#852857, worklistShardItemId#852858L, version#852859, product#852860, plant#852861, qty#852885, demandChannel#852878, demandStream#852879, kpis#852886, isNewlyCalculated#852887]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#852796, worklistShardItemId#852797L, version#852798]
(193) Aggregate
Arguments: [shardId#852796, worklistShardItemId#852797L], [shardId#852796, worklistShardItemId#852797L, (max(version#852798) + 1) AS version#852699]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#852796) AND (worklistShardItemId#815741L = worklistShardItemId#852797L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#849330, demandStream#849331, kpis#849365, version#852699]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#852699, qty#815747, demandChannel#849330, demandStream#849331, kpis#849365]