== 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@478a9913, [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#877134, worklistShardItemId#877135L, version#877136, product#877137, plant#877138, periodStart#877139, periodEnd#877140, qty#877141], false
(7) RepartitionByExpression
Arguments: [product#877137, plant#877138], 37
(8) Project
Arguments: [shardId#877134, worklistShardItemId#877135L, version#877136, product#877137, plant#877138, qty#877141]
(9) LogicalRDD
Arguments: [shardId#876889, worklistShardItemId#876890L, qty#876891, demandChannel#876892, demandStream#876893, kpis#876894], false
(10) Project
Arguments: [shardId#876889 AS cachedShardId#876895, worklistShardItemId#876890L AS cachedWorklistShardItemId#876896L, qty#876891 AS cachedQty#876897, demandChannel#876892, demandStream#876893, kpis#876894 AS cachedKpis#876898]
(11) Join
Arguments: Inner, (((worklistShardItemId#877135L = cachedWorklistShardItemId#876896L) AND (shardId#877134 = cachedShardId#876895)) AND ((qty#877141 = cachedQty#876897) OR isnull(qty#877141)))
(12) Project
Arguments: [shardId#877134, worklistShardItemId#877135L, version#877136, product#877137, plant#877138]
(13) Deduplicate
Arguments: [plant#877138, shardId#877134, version#877136, worklistShardItemId#877135L, product#877137]
(14) LogicalRDD
Arguments: [shardId#876899, worklistShardItemId#876900L, qty#876901, demandChannel#876902, demandStream#876903, kpis#876904], false
(15) Project
Arguments: [shardId#876899 AS cachedShardId#876905, worklistShardItemId#876900L AS cachedWorklistShardItemId#876906L, qty#876901 AS cachedQty#876907, demandChannel#876902, demandStream#876903, kpis#876904 AS cachedKpis#876908]
(16) Join
Arguments: Inner, ((worklistShardItemId#877135L = cachedWorklistShardItemId#876906L) AND (shardId#877134 = cachedShardId#876905))
(17) Project
Arguments: [shardId#877134, worklistShardItemId#877135L, version#877136, product#877137, plant#877138, cachedQty#876907 AS qty#876909, demandChannel#876902, demandStream#876903, cachedKpis#876908 AS kpis#876910]
(18) Project
Arguments: [shardId#877134, worklistShardItemId#877135L, version#877136, product#877137, plant#877138, qty#876909]
(19) LogicalRDD
Arguments: [shardId#877116, worklistShardItemId#877117L, version#877118, product#877119, plant#877120, periodStart#877121, periodEnd#877122, qty#877123], false
(20) RepartitionByExpression
Arguments: [product#877119, plant#877120], 37
(21) Project
Arguments: [shardId#877116, worklistShardItemId#877117L, version#877118, product#877119, plant#877120, qty#877123]
(22) LogicalRDD
Arguments: [shardId#877124, worklistShardItemId#877125L, qty#877126, demandChannel#877127, demandStream#877128, kpis#877129], false
(23) Project
Arguments: [shardId#877124 AS cachedShardId#877130, worklistShardItemId#877125L AS cachedWorklistShardItemId#877131L, qty#877126 AS cachedQty#877132, demandChannel#877127, demandStream#877128, kpis#877129 AS cachedKpis#877133]
(24) Join
Arguments: Inner, (((worklistShardItemId#877117L = cachedWorklistShardItemId#877131L) AND (shardId#877116 = cachedShardId#877130)) AND isnull(qty#877123))
(25) Project
Arguments: [shardId#877116, worklistShardItemId#877117L, version#877118, product#877119, plant#877120, qty#877123]
(26) Project
Arguments: [shardId#877116, worklistShardItemId#877117L, version#877118, product#877119, plant#877120, qty#877123]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#877134) AND (worklistShardItemId#815741L <=> worklistShardItemId#877135L)) AND (version#815742 <=> version#877136)) AND (product#815743 <=> product#877137)) AND (plant#815744 <=> plant#877138)) AND (qty#815747 <=> qty#876909))
(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#877142]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#877142, cast(null as string) AS demandStream#877143]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#877142, demandStream#877143, array() AS kpis#877144]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#877142, demandStream#877143, kpis#877144, true AS isNewlyCalculated#877145]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#877142, demandStream#877143, cast(kpis#877144 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#877177, isNewlyCalculated#877145]
(35) LogicalRDD
Arguments: [shardId#877147, worklistShardItemId#877148L, version#877149, product#877150, plant#877151, periodStart#877152, periodEnd#877153, qty#877154], false
(36) RepartitionByExpression
Arguments: [product#877150, plant#877151], 37
(37) Project
Arguments: [shardId#877147, worklistShardItemId#877148L, version#877149, product#877150, plant#877151, qty#877154]
(38) LogicalRDD
Arguments: [shardId#877155, worklistShardItemId#877156L, qty#877157, demandChannel#877158, demandStream#877159, kpis#877160], false
(39) Project
Arguments: [shardId#877155 AS cachedShardId#877161, worklistShardItemId#877156L AS cachedWorklistShardItemId#877162L, qty#877157 AS cachedQty#877163, demandChannel#877158, demandStream#877159, kpis#877160 AS cachedKpis#877164]
(40) Join
Arguments: Inner, (((worklistShardItemId#877148L = cachedWorklistShardItemId#877162L) AND (shardId#877147 = cachedShardId#877161)) AND ((qty#877154 = cachedQty#877163) OR isnull(qty#877154)))
(41) Project
Arguments: [shardId#877147, worklistShardItemId#877148L, version#877149, product#877150, plant#877151]
(42) Deduplicate
Arguments: [plant#877151, shardId#877147, version#877149, worklistShardItemId#877148L, product#877150]
(43) LogicalRDD
Arguments: [shardId#877165, worklistShardItemId#877166L, qty#877167, demandChannel#877168, demandStream#877169, kpis#877170], false
(44) Project
Arguments: [shardId#877165 AS cachedShardId#877171, worklistShardItemId#877166L AS cachedWorklistShardItemId#877172L, qty#877167 AS cachedQty#877173, demandChannel#877168, demandStream#877169, kpis#877170 AS cachedKpis#877174]
(45) Join
Arguments: Inner, ((worklistShardItemId#877148L = cachedWorklistShardItemId#877172L) AND (shardId#877147 = cachedShardId#877171))
(46) Project
Arguments: [shardId#877147, worklistShardItemId#877148L, version#877149, product#877150, plant#877151, cachedQty#877173 AS qty#877175, demandChannel#877168, demandStream#877169, cachedKpis#877174 AS kpis#877176]
(47) Project
Arguments: [shardId#877147, worklistShardItemId#877148L, version#877149, product#877150, plant#877151, qty#877175, demandChannel#877168, demandStream#877169, kpis#877176, false AS isNewlyCalculated#877146]
(48) Project
Arguments: [shardId#877147, worklistShardItemId#877148L, version#877149, product#877150, plant#877151, qty#877175, demandChannel#877168, demandStream#877169, kpis#877176, isNewlyCalculated#877146]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#877145 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#877142, demandStream#877143, kpis#877177]
(52) ExternalRDD
Arguments: [obj#879641]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69178), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69178), 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, 69178), 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, 69178), 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, 69178), 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, 69178), 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#879644, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69179), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69179), 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, 69180), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69180), 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, 69180), 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, 69180), 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, 69181), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69181), 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, 69181), 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, 69181), 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, 69181), 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, 69180), 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, 69179), 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, 69182), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69182), 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, 69182), 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, 69182), 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, 69182), 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, 69179), 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, 69179), 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, 69179), 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, 69183), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69183), 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, 69184), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69184), 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, 69184), 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, 69184), 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, 69184), 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, 69183), 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, 69183), 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, 69179), 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#879645]
(54) Generate
Arguments: explode(prodPlantResults#879645), false, [prodPlantResults#879652]
(55) Project
Arguments: [prodPlantResults#879652]
(56) Project
Arguments: [prodPlantResults#879652.productId AS product#879671, prodPlantResults#879652.plantId AS plant#879672, prodPlantResults#879652.kpiResults AS kpis#879673]
(57) Project
Arguments: [product#879671, plant#879672, kpis#879673, null AS qty#879677]
(58) Project
Arguments: [product#879671, plant#879672, kpis#879673, qty#879677, cast(null as string) AS demandChannel#879678]
(59) Project
Arguments: [product#879671, plant#879672, kpis#879673, qty#879677, demandChannel#879678, cast(null as string) AS demandStream#879679]
(60) Project
Arguments: [product#879671, plant#879672, kpis#879673, cast(qty#879677 as double) AS qty#879698, demandChannel#879678, demandStream#879679]
(61) ExternalRDD
Arguments: [obj#879694]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69178), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69178), 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, 69178), 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, 69178), 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, 69178), 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, 69178), 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#879695, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69179), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69179), 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, 69180), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69180), 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, 69180), 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, 69180), 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, 69181), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69181), 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, 69181), 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, 69181), 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, 69181), 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, 69180), 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, 69179), 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, 69182), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69182), 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, 69182), 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, 69182), 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, 69182), 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, 69179), 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, 69179), 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, 69179), 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, 69183), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69183), 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, 69184), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69184), 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, 69184), 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, 69184), 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, 69184), 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, 69183), 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, 69183), 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, 69179), 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#879696]
(63) Generate
Arguments: explode(prodPlantResults#879696), false, [prodPlantResults#879697]
(64) Project
Arguments: [prodPlantResults#879697]
(65) Generate
Arguments: explode(prodPlantResults#879697.quantityKpiResults), false, [quantityKpiResults#879664]
(66) Project
Arguments: [prodPlantResults#879697.productId AS product#879658, prodPlantResults#879697.plantId AS plant#879659, quantityKpiResults#879664]
(67) Project
Arguments: [product#879658, plant#879659, quantityKpiResults#879664, quantityKpiResults#879664.quantity AS qty#879665]
(68) Project
Arguments: [product#879658, plant#879659, quantityKpiResults#879664, qty#879665, cast(null as string) AS demandChannel#879667]
(69) Project
Arguments: [product#879658, plant#879659, quantityKpiResults#879664, qty#879665, demandChannel#879667, cast(null as string) AS demandStream#879668]
(70) Project
Arguments: [product#879658, plant#879659, quantityKpiResults#879664, qty#879665, demandChannel#879667, demandStream#879668, quantityKpiResults#879664.kpiResults AS kpis#879669]
(71) Project
Arguments: [product#879658, plant#879659, qty#879665, demandChannel#879667, demandStream#879668, kpis#879669]
(72) Project
Arguments: [product#879658, plant#879659, kpis#879669, qty#879665, demandChannel#879667, demandStream#879668]
(73) ExternalRDD
Arguments: [obj#879699]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69178), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69178), 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, 69178), 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, 69178), 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, 69178), 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, 69178), 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#879700, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69179), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69179), 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, 69180), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69180), 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, 69180), 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, 69180), 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, 69181), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69181), 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, 69181), 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, 69181), 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, 69181), 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, 69180), 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, 69179), 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, 69182), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69182), 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, 69182), 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, 69182), 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, 69182), 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, 69179), 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, 69179), 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, 69179), 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, 69183), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69183), 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, 69184), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 69184), 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, 69184), 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, 69184), 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, 69184), 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, 69183), 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, 69183), 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, 69179), 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#879701]
(75) Generate
Arguments: explode(prodPlantResults#879701), false, [prodPlantResults#879702]
(76) Project
Arguments: [prodPlantResults#879702]
(77) Generate
Arguments: explode(prodPlantResults#879702.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#879686]
(78) Project
Arguments: [prodPlantResults#879702.productId AS product#879680, prodPlantResults#879702.plantId AS plant#879681, demandChannelStreamKpiResults#879686]
(79) Project
Arguments: [product#879680, plant#879681, demandChannelStreamKpiResults#879686, null AS qty#879687]
(80) Project
Arguments: [product#879680, plant#879681, demandChannelStreamKpiResults#879686, qty#879687, demandChannelStreamKpiResults#879686.demandChannel AS demandChannel#879688]
(81) Project
Arguments: [product#879680, plant#879681, demandChannelStreamKpiResults#879686, qty#879687, demandChannel#879688, demandChannelStreamKpiResults#879686.demandStream AS demandStream#879690]
(82) Project
Arguments: [product#879680, plant#879681, demandChannelStreamKpiResults#879686, qty#879687, demandChannel#879688, demandStream#879690, demandChannelStreamKpiResults#879686.kpiResults AS kpis#879692]
(83) Project
Arguments: [product#879680, plant#879681, qty#879687, demandChannel#879688, demandStream#879690, kpis#879692]
(84) Project
Arguments: [product#879680, plant#879681, kpis#879692, qty#879687, demandChannel#879688, demandStream#879690]
(85) Project
Arguments: [product#879680, plant#879681, kpis#879692, cast(qty#879687 as double) AS qty#879703, demandChannel#879688, demandStream#879690]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#879671, plant#879672, transform(kpis#879673, lambdafunction(struct(label, lambda kpi#879708.label, dateTime, lambda kpi#879708.datetime, value, lambda kpi#879708.value), lambda kpi#879708, false)) AS kpis#879707, qty#879698, demandChannel#879678, demandStream#879679]
(88) Project
Arguments: [product#879671, plant#879672, qty#879698, demandChannel#879678, demandStream#879679, kpis#879707]
(89) LogicalRDD
Arguments: [shardId#880516, worklistShardItemId#880517L, version#880518, product#880519, plant#880520, periodStart#880521, periodEnd#880522, qty#880523], false
(90) RepartitionByExpression
Arguments: [product#880519, plant#880520], 37
(91) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, version#880518, product#880519, plant#880520, qty#880523]
(92) LogicalRDD
Arguments: [shardId#880524, worklistShardItemId#880525L, version#880526, product#880527, plant#880528, periodStart#880529, periodEnd#880530, qty#880531], false
(93) RepartitionByExpression
Arguments: [product#880527, plant#880528], 37
(94) Project
Arguments: [shardId#880524, worklistShardItemId#880525L, version#880526, product#880527, plant#880528, qty#880531]
(95) LogicalRDD
Arguments: [shardId#880532, worklistShardItemId#880533L, qty#880534, demandChannel#880535, demandStream#880536, kpis#880537], false
(96) Project
Arguments: [shardId#880532 AS cachedShardId#880538, worklistShardItemId#880533L AS cachedWorklistShardItemId#880539L, qty#880534 AS cachedQty#880540, demandChannel#880535, demandStream#880536, kpis#880537 AS cachedKpis#880541]
(97) Join
Arguments: Inner, (((worklistShardItemId#880525L = cachedWorklistShardItemId#880539L) AND (shardId#880524 = cachedShardId#880538)) AND ((qty#880531 = cachedQty#880540) OR isnull(qty#880531)))
(98) Project
Arguments: [shardId#880524, worklistShardItemId#880525L, version#880526, product#880527, plant#880528]
(99) Deduplicate
Arguments: [plant#880528, shardId#880524, version#880526, worklistShardItemId#880525L, product#880527]
(100) LogicalRDD
Arguments: [shardId#880542, worklistShardItemId#880543L, qty#880544, demandChannel#880545, demandStream#880546, kpis#880547], false
(101) Project
Arguments: [shardId#880542 AS cachedShardId#880548, worklistShardItemId#880543L AS cachedWorklistShardItemId#880549L, qty#880544 AS cachedQty#880550, demandChannel#880545, demandStream#880546, kpis#880547 AS cachedKpis#880551]
(102) Join
Arguments: Inner, ((worklistShardItemId#880525L = cachedWorklistShardItemId#880549L) AND (shardId#880524 = cachedShardId#880548))
(103) Project
Arguments: [shardId#880524, worklistShardItemId#880525L, version#880526, product#880527, plant#880528, cachedQty#880550 AS qty#880552, demandChannel#880545, demandStream#880546, cachedKpis#880551 AS kpis#880553]
(104) Project
Arguments: [shardId#880524, worklistShardItemId#880525L, version#880526, product#880527, plant#880528, qty#880552]
(105) LogicalRDD
Arguments: [shardId#880554, worklistShardItemId#880555L, version#880556, product#880557, plant#880558, periodStart#880559, periodEnd#880560, qty#880561], false
(106) RepartitionByExpression
Arguments: [product#880557, plant#880558], 37
(107) Project
Arguments: [shardId#880554, worklistShardItemId#880555L, version#880556, product#880557, plant#880558, qty#880561]
(108) LogicalRDD
Arguments: [shardId#880562, worklistShardItemId#880563L, qty#880564, demandChannel#880565, demandStream#880566, kpis#880567], false
(109) Project
Arguments: [shardId#880562 AS cachedShardId#880568, worklistShardItemId#880563L AS cachedWorklistShardItemId#880569L, qty#880564 AS cachedQty#880570, demandChannel#880565, demandStream#880566, kpis#880567 AS cachedKpis#880571]
(110) Join
Arguments: Inner, (((worklistShardItemId#880555L = cachedWorklistShardItemId#880569L) AND (shardId#880554 = cachedShardId#880568)) AND isnull(qty#880561))
(111) Project
Arguments: [shardId#880554, worklistShardItemId#880555L, version#880556, product#880557, plant#880558, qty#880561]
(112) Project
Arguments: [shardId#880554, worklistShardItemId#880555L, version#880556, product#880557, plant#880558, qty#880561]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#880516 <=> shardId#880524) AND (worklistShardItemId#880517L <=> worklistShardItemId#880525L)) AND (version#880518 <=> version#880526)) AND (product#880519 <=> product#880527)) AND (plant#880520 <=> plant#880528)) AND (qty#880523 <=> qty#880552))
(115) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, version#880518, product#880519, plant#880520, qty#880523]
(116) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, version#880518, product#880519, plant#880520, qty#880523, cast(null as string) AS demandChannel#880572]
(117) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, version#880518, product#880519, plant#880520, qty#880523, demandChannel#880572, cast(null as string) AS demandStream#880573]
(118) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, version#880518, product#880519, plant#880520, qty#880523, demandChannel#880572, demandStream#880573, array() AS kpis#880574]
(119) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, version#880518, product#880519, plant#880520, qty#880523, demandChannel#880572, demandStream#880573, kpis#880574, true AS isNewlyCalculated#880575]
(120) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, version#880518, product#880519, plant#880520, qty#880523, demandChannel#880572, demandStream#880573, cast(kpis#880574 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#880576, isNewlyCalculated#880575]
(121) LogicalRDD
Arguments: [shardId#880577, worklistShardItemId#880578L, version#880579, product#880580, plant#880581, periodStart#880582, periodEnd#880583, qty#880584], false
(122) RepartitionByExpression
Arguments: [product#880580, plant#880581], 37
(123) Project
Arguments: [shardId#880577, worklistShardItemId#880578L, version#880579, product#880580, plant#880581, qty#880584]
(124) LogicalRDD
Arguments: [shardId#880585, worklistShardItemId#880586L, qty#880587, demandChannel#880588, demandStream#880589, kpis#880590], false
(125) Project
Arguments: [shardId#880585 AS cachedShardId#880591, worklistShardItemId#880586L AS cachedWorklistShardItemId#880592L, qty#880587 AS cachedQty#880593, demandChannel#880588, demandStream#880589, kpis#880590 AS cachedKpis#880594]
(126) Join
Arguments: Inner, (((worklistShardItemId#880578L = cachedWorklistShardItemId#880592L) AND (shardId#880577 = cachedShardId#880591)) AND ((qty#880584 = cachedQty#880593) OR isnull(qty#880584)))
(127) Project
Arguments: [shardId#880577, worklistShardItemId#880578L, version#880579, product#880580, plant#880581]
(128) Deduplicate
Arguments: [plant#880581, shardId#880577, version#880579, worklistShardItemId#880578L, product#880580]
(129) LogicalRDD
Arguments: [shardId#880595, worklistShardItemId#880596L, qty#880597, demandChannel#880598, demandStream#880599, kpis#880600], false
(130) Project
Arguments: [shardId#880595 AS cachedShardId#880601, worklistShardItemId#880596L AS cachedWorklistShardItemId#880602L, qty#880597 AS cachedQty#880603, demandChannel#880598, demandStream#880599, kpis#880600 AS cachedKpis#880604]
(131) Join
Arguments: Inner, ((worklistShardItemId#880578L = cachedWorklistShardItemId#880602L) AND (shardId#880577 = cachedShardId#880601))
(132) Project
Arguments: [shardId#880577, worklistShardItemId#880578L, version#880579, product#880580, plant#880581, cachedQty#880603 AS qty#880605, demandChannel#880598, demandStream#880599, cachedKpis#880604 AS kpis#880606]
(133) Project
Arguments: [shardId#880577, worklistShardItemId#880578L, version#880579, product#880580, plant#880581, qty#880605, demandChannel#880598, demandStream#880599, kpis#880606, false AS isNewlyCalculated#880607]
(134) Project
Arguments: [shardId#880577, worklistShardItemId#880578L, version#880579, product#880580, plant#880581, qty#880605, demandChannel#880598, demandStream#880599, kpis#880606, isNewlyCalculated#880607]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#880575 <=> true)
(137) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, product#880519, plant#880520, qty#880523, kpis#880576]
(138) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, product#880519, plant#880520, qty#880523]
(139) Deduplicate
Arguments: [plant#880520, shardId#880516, qty#880523, worklistShardItemId#880517L, product#880519]
(140) Join
Arguments: Inner, ((product#879671 <=> product#880519) AND ((plant#879672 <=> plant#880520) AND ((qty#879698 <=> qty#880523) OR isnull(qty#880523))))
(141) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, qty#879698, demandChannel#879678, demandStream#879679, kpis#879707]
(142) Deduplicate
Arguments: [demandChannel#879678, shardId#880516, qty#879698, worklistShardItemId#880517L, demandStream#879679]
(143) Project
Arguments: [shardId#880516, worklistShardItemId#880517L, qty#879698, demandChannel#879678, demandStream#879679, kpis#879707]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610, product#880611, plant#880612, periodStart#880613, periodEnd#880614, qty#880615], false
(146) RepartitionByExpression
Arguments: [product#880611, plant#880612], 37
(147) Project
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610, product#880611, plant#880612, qty#880615]
(148) LogicalRDD
Arguments: [shardId#880616, worklistShardItemId#880617L, version#880618, product#880619, plant#880620, periodStart#880621, periodEnd#880622, qty#880623], false
(149) RepartitionByExpression
Arguments: [product#880619, plant#880620], 37
(150) Project
Arguments: [shardId#880616, worklistShardItemId#880617L, version#880618, product#880619, plant#880620, qty#880623]
(151) LogicalRDD
Arguments: [shardId#880624, worklistShardItemId#880625L, qty#880626, demandChannel#880627, demandStream#880628, kpis#880629], false
(152) Project
Arguments: [shardId#880624 AS cachedShardId#880630, worklistShardItemId#880625L AS cachedWorklistShardItemId#880631L, qty#880626 AS cachedQty#880632, demandChannel#880627, demandStream#880628, kpis#880629 AS cachedKpis#880633]
(153) Join
Arguments: Inner, (((worklistShardItemId#880617L = cachedWorklistShardItemId#880631L) AND (shardId#880616 = cachedShardId#880630)) AND ((qty#880623 = cachedQty#880632) OR isnull(qty#880623)))
(154) Project
Arguments: [shardId#880616, worklistShardItemId#880617L, version#880618, product#880619, plant#880620]
(155) Deduplicate
Arguments: [plant#880620, shardId#880616, version#880618, worklistShardItemId#880617L, product#880619]
(156) LogicalRDD
Arguments: [shardId#880634, worklistShardItemId#880635L, qty#880636, demandChannel#880637, demandStream#880638, kpis#880639], false
(157) Project
Arguments: [shardId#880634 AS cachedShardId#880640, worklistShardItemId#880635L AS cachedWorklistShardItemId#880641L, qty#880636 AS cachedQty#880642, demandChannel#880637, demandStream#880638, kpis#880639 AS cachedKpis#880643]
(158) Join
Arguments: Inner, ((worklistShardItemId#880617L = cachedWorklistShardItemId#880641L) AND (shardId#880616 = cachedShardId#880640))
(159) Project
Arguments: [shardId#880616, worklistShardItemId#880617L, version#880618, product#880619, plant#880620, cachedQty#880642 AS qty#880644, demandChannel#880637, demandStream#880638, cachedKpis#880643 AS kpis#880645]
(160) Project
Arguments: [shardId#880616, worklistShardItemId#880617L, version#880618, product#880619, plant#880620, qty#880644]
(161) LogicalRDD
Arguments: [shardId#880646, worklistShardItemId#880647L, version#880648, product#880649, plant#880650, periodStart#880651, periodEnd#880652, qty#880653], false
(162) RepartitionByExpression
Arguments: [product#880649, plant#880650], 37
(163) Project
Arguments: [shardId#880646, worklistShardItemId#880647L, version#880648, product#880649, plant#880650, qty#880653]
(164) LogicalRDD
Arguments: [shardId#880654, worklistShardItemId#880655L, qty#880656, demandChannel#880657, demandStream#880658, kpis#880659], false
(165) Project
Arguments: [shardId#880654 AS cachedShardId#880660, worklistShardItemId#880655L AS cachedWorklistShardItemId#880661L, qty#880656 AS cachedQty#880662, demandChannel#880657, demandStream#880658, kpis#880659 AS cachedKpis#880663]
(166) Join
Arguments: Inner, (((worklistShardItemId#880647L = cachedWorklistShardItemId#880661L) AND (shardId#880646 = cachedShardId#880660)) AND isnull(qty#880653))
(167) Project
Arguments: [shardId#880646, worklistShardItemId#880647L, version#880648, product#880649, plant#880650, qty#880653]
(168) Project
Arguments: [shardId#880646, worklistShardItemId#880647L, version#880648, product#880649, plant#880650, qty#880653]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#880608 <=> shardId#880616) AND (worklistShardItemId#880609L <=> worklistShardItemId#880617L)) AND (version#880610 <=> version#880618)) AND (product#880611 <=> product#880619)) AND (plant#880612 <=> plant#880620)) AND (qty#880615 <=> qty#880644))
(171) Project
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610, product#880611, plant#880612, qty#880615]
(172) Project
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610, product#880611, plant#880612, qty#880615, cast(null as string) AS demandChannel#880664]
(173) Project
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610, product#880611, plant#880612, qty#880615, demandChannel#880664, cast(null as string) AS demandStream#880665]
(174) Project
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610, product#880611, plant#880612, qty#880615, demandChannel#880664, demandStream#880665, array() AS kpis#880666]
(175) Project
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610, product#880611, plant#880612, qty#880615, demandChannel#880664, demandStream#880665, kpis#880666, true AS isNewlyCalculated#880667]
(176) Project
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610, product#880611, plant#880612, qty#880615, demandChannel#880664, demandStream#880665, cast(kpis#880666 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#880668, isNewlyCalculated#880667]
(177) LogicalRDD
Arguments: [shardId#880669, worklistShardItemId#880670L, version#880671, product#880672, plant#880673, periodStart#880674, periodEnd#880675, qty#880676], false
(178) RepartitionByExpression
Arguments: [product#880672, plant#880673], 37
(179) Project
Arguments: [shardId#880669, worklistShardItemId#880670L, version#880671, product#880672, plant#880673, qty#880676]
(180) LogicalRDD
Arguments: [shardId#880677, worklistShardItemId#880678L, qty#880679, demandChannel#880680, demandStream#880681, kpis#880682], false
(181) Project
Arguments: [shardId#880677 AS cachedShardId#880683, worklistShardItemId#880678L AS cachedWorklistShardItemId#880684L, qty#880679 AS cachedQty#880685, demandChannel#880680, demandStream#880681, kpis#880682 AS cachedKpis#880686]
(182) Join
Arguments: Inner, (((worklistShardItemId#880670L = cachedWorklistShardItemId#880684L) AND (shardId#880669 = cachedShardId#880683)) AND ((qty#880676 = cachedQty#880685) OR isnull(qty#880676)))
(183) Project
Arguments: [shardId#880669, worklistShardItemId#880670L, version#880671, product#880672, plant#880673]
(184) Deduplicate
Arguments: [plant#880673, shardId#880669, version#880671, worklistShardItemId#880670L, product#880672]
(185) LogicalRDD
Arguments: [shardId#880687, worklistShardItemId#880688L, qty#880689, demandChannel#880690, demandStream#880691, kpis#880692], false
(186) Project
Arguments: [shardId#880687 AS cachedShardId#880693, worklistShardItemId#880688L AS cachedWorklistShardItemId#880694L, qty#880689 AS cachedQty#880695, demandChannel#880690, demandStream#880691, kpis#880692 AS cachedKpis#880696]
(187) Join
Arguments: Inner, ((worklistShardItemId#880670L = cachedWorklistShardItemId#880694L) AND (shardId#880669 = cachedShardId#880693))
(188) Project
Arguments: [shardId#880669, worklistShardItemId#880670L, version#880671, product#880672, plant#880673, cachedQty#880695 AS qty#880697, demandChannel#880690, demandStream#880691, cachedKpis#880696 AS kpis#880698]
(189) Project
Arguments: [shardId#880669, worklistShardItemId#880670L, version#880671, product#880672, plant#880673, qty#880697, demandChannel#880690, demandStream#880691, kpis#880698, false AS isNewlyCalculated#880699]
(190) Project
Arguments: [shardId#880669, worklistShardItemId#880670L, version#880671, product#880672, plant#880673, qty#880697, demandChannel#880690, demandStream#880691, kpis#880698, isNewlyCalculated#880699]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#880608, worklistShardItemId#880609L, version#880610]
(193) Aggregate
Arguments: [shardId#880608, worklistShardItemId#880609L], [shardId#880608, worklistShardItemId#880609L, (max(version#880610) + 1) AS version#880511]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#880608) AND (worklistShardItemId#815741L = worklistShardItemId#880609L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#877142, demandStream#877143, kpis#877177, version#880511]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#880511, qty#815747, demandChannel#877142, demandStream#877143, kpis#877177]