== 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@1f71cf5a, [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#843764, worklistShardItemId#843765L, version#843766, product#843767, plant#843768, periodStart#843769, periodEnd#843770, qty#843771], false
(7) RepartitionByExpression
Arguments: [product#843767, plant#843768], 37
(8) Project
Arguments: [shardId#843764, worklistShardItemId#843765L, version#843766, product#843767, plant#843768, qty#843771]
(9) LogicalRDD
Arguments: [shardId#843519, worklistShardItemId#843520L, qty#843521, demandChannel#843522, demandStream#843523, kpis#843524], false
(10) Project
Arguments: [shardId#843519 AS cachedShardId#843525, worklistShardItemId#843520L AS cachedWorklistShardItemId#843526L, qty#843521 AS cachedQty#843527, demandChannel#843522, demandStream#843523, kpis#843524 AS cachedKpis#843528]
(11) Join
Arguments: Inner, (((worklistShardItemId#843765L = cachedWorklistShardItemId#843526L) AND (shardId#843764 = cachedShardId#843525)) AND ((qty#843771 = cachedQty#843527) OR isnull(qty#843771)))
(12) Project
Arguments: [shardId#843764, worklistShardItemId#843765L, version#843766, product#843767, plant#843768]
(13) Deduplicate
Arguments: [plant#843768, shardId#843764, version#843766, worklistShardItemId#843765L, product#843767]
(14) LogicalRDD
Arguments: [shardId#843529, worklistShardItemId#843530L, qty#843531, demandChannel#843532, demandStream#843533, kpis#843534], false
(15) Project
Arguments: [shardId#843529 AS cachedShardId#843535, worklistShardItemId#843530L AS cachedWorklistShardItemId#843536L, qty#843531 AS cachedQty#843537, demandChannel#843532, demandStream#843533, kpis#843534 AS cachedKpis#843538]
(16) Join
Arguments: Inner, ((worklistShardItemId#843765L = cachedWorklistShardItemId#843536L) AND (shardId#843764 = cachedShardId#843535))
(17) Project
Arguments: [shardId#843764, worklistShardItemId#843765L, version#843766, product#843767, plant#843768, cachedQty#843537 AS qty#843539, demandChannel#843532, demandStream#843533, cachedKpis#843538 AS kpis#843540]
(18) Project
Arguments: [shardId#843764, worklistShardItemId#843765L, version#843766, product#843767, plant#843768, qty#843539]
(19) LogicalRDD
Arguments: [shardId#843746, worklistShardItemId#843747L, version#843748, product#843749, plant#843750, periodStart#843751, periodEnd#843752, qty#843753], false
(20) RepartitionByExpression
Arguments: [product#843749, plant#843750], 37
(21) Project
Arguments: [shardId#843746, worklistShardItemId#843747L, version#843748, product#843749, plant#843750, qty#843753]
(22) LogicalRDD
Arguments: [shardId#843754, worklistShardItemId#843755L, qty#843756, demandChannel#843757, demandStream#843758, kpis#843759], false
(23) Project
Arguments: [shardId#843754 AS cachedShardId#843760, worklistShardItemId#843755L AS cachedWorklistShardItemId#843761L, qty#843756 AS cachedQty#843762, demandChannel#843757, demandStream#843758, kpis#843759 AS cachedKpis#843763]
(24) Join
Arguments: Inner, (((worklistShardItemId#843747L = cachedWorklistShardItemId#843761L) AND (shardId#843746 = cachedShardId#843760)) AND isnull(qty#843753))
(25) Project
Arguments: [shardId#843746, worklistShardItemId#843747L, version#843748, product#843749, plant#843750, qty#843753]
(26) Project
Arguments: [shardId#843746, worklistShardItemId#843747L, version#843748, product#843749, plant#843750, qty#843753]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#843764) AND (worklistShardItemId#815741L <=> worklistShardItemId#843765L)) AND (version#815742 <=> version#843766)) AND (product#815743 <=> product#843767)) AND (plant#815744 <=> plant#843768)) AND (qty#815747 <=> qty#843539))
(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#843772]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#843772, cast(null as string) AS demandStream#843773]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#843772, demandStream#843773, array() AS kpis#843774]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#843772, demandStream#843773, kpis#843774, true AS isNewlyCalculated#843775]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#843772, demandStream#843773, cast(kpis#843774 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#843807, isNewlyCalculated#843775]
(35) LogicalRDD
Arguments: [shardId#843777, worklistShardItemId#843778L, version#843779, product#843780, plant#843781, periodStart#843782, periodEnd#843783, qty#843784], false
(36) RepartitionByExpression
Arguments: [product#843780, plant#843781], 37
(37) Project
Arguments: [shardId#843777, worklistShardItemId#843778L, version#843779, product#843780, plant#843781, qty#843784]
(38) LogicalRDD
Arguments: [shardId#843785, worklistShardItemId#843786L, qty#843787, demandChannel#843788, demandStream#843789, kpis#843790], false
(39) Project
Arguments: [shardId#843785 AS cachedShardId#843791, worklistShardItemId#843786L AS cachedWorklistShardItemId#843792L, qty#843787 AS cachedQty#843793, demandChannel#843788, demandStream#843789, kpis#843790 AS cachedKpis#843794]
(40) Join
Arguments: Inner, (((worklistShardItemId#843778L = cachedWorklistShardItemId#843792L) AND (shardId#843777 = cachedShardId#843791)) AND ((qty#843784 = cachedQty#843793) OR isnull(qty#843784)))
(41) Project
Arguments: [shardId#843777, worklistShardItemId#843778L, version#843779, product#843780, plant#843781]
(42) Deduplicate
Arguments: [plant#843781, shardId#843777, version#843779, worklistShardItemId#843778L, product#843780]
(43) LogicalRDD
Arguments: [shardId#843795, worklistShardItemId#843796L, qty#843797, demandChannel#843798, demandStream#843799, kpis#843800], false
(44) Project
Arguments: [shardId#843795 AS cachedShardId#843801, worklistShardItemId#843796L AS cachedWorklistShardItemId#843802L, qty#843797 AS cachedQty#843803, demandChannel#843798, demandStream#843799, kpis#843800 AS cachedKpis#843804]
(45) Join
Arguments: Inner, ((worklistShardItemId#843778L = cachedWorklistShardItemId#843802L) AND (shardId#843777 = cachedShardId#843801))
(46) Project
Arguments: [shardId#843777, worklistShardItemId#843778L, version#843779, product#843780, plant#843781, cachedQty#843803 AS qty#843805, demandChannel#843798, demandStream#843799, cachedKpis#843804 AS kpis#843806]
(47) Project
Arguments: [shardId#843777, worklistShardItemId#843778L, version#843779, product#843780, plant#843781, qty#843805, demandChannel#843798, demandStream#843799, kpis#843806, false AS isNewlyCalculated#843776]
(48) Project
Arguments: [shardId#843777, worklistShardItemId#843778L, version#843779, product#843780, plant#843781, qty#843805, demandChannel#843798, demandStream#843799, kpis#843806, isNewlyCalculated#843776]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#843775 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#843772, demandStream#843773, kpis#843807]
(52) ExternalRDD
Arguments: [obj#846271]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67161), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67161), 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, 67161), 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, 67161), 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, 67161), 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, 67161), 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#846274, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67162), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67162), 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, 67163), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67163), 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, 67163), 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, 67163), 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, 67164), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67164), 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, 67164), 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, 67164), 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, 67164), 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, 67163), 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, 67162), 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, 67165), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67165), 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, 67165), 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, 67165), 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, 67165), 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, 67162), 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, 67162), 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, 67162), 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, 67166), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67166), 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, 67167), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67167), 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, 67167), 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, 67167), 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, 67167), 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, 67166), 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, 67166), 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, 67162), 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#846275]
(54) Generate
Arguments: explode(prodPlantResults#846275), false, [prodPlantResults#846282]
(55) Project
Arguments: [prodPlantResults#846282]
(56) Project
Arguments: [prodPlantResults#846282.productId AS product#846301, prodPlantResults#846282.plantId AS plant#846302, prodPlantResults#846282.kpiResults AS kpis#846303]
(57) Project
Arguments: [product#846301, plant#846302, kpis#846303, null AS qty#846307]
(58) Project
Arguments: [product#846301, plant#846302, kpis#846303, qty#846307, cast(null as string) AS demandChannel#846308]
(59) Project
Arguments: [product#846301, plant#846302, kpis#846303, qty#846307, demandChannel#846308, cast(null as string) AS demandStream#846309]
(60) Project
Arguments: [product#846301, plant#846302, kpis#846303, cast(qty#846307 as double) AS qty#846328, demandChannel#846308, demandStream#846309]
(61) ExternalRDD
Arguments: [obj#846324]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67161), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67161), 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, 67161), 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, 67161), 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, 67161), 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, 67161), 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#846325, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67162), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67162), 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, 67163), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67163), 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, 67163), 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, 67163), 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, 67164), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67164), 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, 67164), 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, 67164), 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, 67164), 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, 67163), 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, 67162), 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, 67165), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67165), 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, 67165), 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, 67165), 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, 67165), 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, 67162), 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, 67162), 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, 67162), 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, 67166), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67166), 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, 67167), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67167), 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, 67167), 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, 67167), 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, 67167), 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, 67166), 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, 67166), 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, 67162), 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#846326]
(63) Generate
Arguments: explode(prodPlantResults#846326), false, [prodPlantResults#846327]
(64) Project
Arguments: [prodPlantResults#846327]
(65) Generate
Arguments: explode(prodPlantResults#846327.quantityKpiResults), false, [quantityKpiResults#846294]
(66) Project
Arguments: [prodPlantResults#846327.productId AS product#846288, prodPlantResults#846327.plantId AS plant#846289, quantityKpiResults#846294]
(67) Project
Arguments: [product#846288, plant#846289, quantityKpiResults#846294, quantityKpiResults#846294.quantity AS qty#846295]
(68) Project
Arguments: [product#846288, plant#846289, quantityKpiResults#846294, qty#846295, cast(null as string) AS demandChannel#846297]
(69) Project
Arguments: [product#846288, plant#846289, quantityKpiResults#846294, qty#846295, demandChannel#846297, cast(null as string) AS demandStream#846298]
(70) Project
Arguments: [product#846288, plant#846289, quantityKpiResults#846294, qty#846295, demandChannel#846297, demandStream#846298, quantityKpiResults#846294.kpiResults AS kpis#846299]
(71) Project
Arguments: [product#846288, plant#846289, qty#846295, demandChannel#846297, demandStream#846298, kpis#846299]
(72) Project
Arguments: [product#846288, plant#846289, kpis#846299, qty#846295, demandChannel#846297, demandStream#846298]
(73) ExternalRDD
Arguments: [obj#846329]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67161), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67161), 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, 67161), 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, 67161), 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, 67161), 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, 67161), 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#846330, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67162), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67162), 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, 67163), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67163), 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, 67163), 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, 67163), 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, 67164), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67164), 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, 67164), 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, 67164), 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, 67164), 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, 67163), 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, 67162), 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, 67165), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67165), 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, 67165), 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, 67165), 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, 67165), 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, 67162), 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, 67162), 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, 67162), 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, 67166), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67166), 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, 67167), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67167), 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, 67167), 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, 67167), 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, 67167), 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, 67166), 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, 67166), 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, 67162), 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#846331]
(75) Generate
Arguments: explode(prodPlantResults#846331), false, [prodPlantResults#846332]
(76) Project
Arguments: [prodPlantResults#846332]
(77) Generate
Arguments: explode(prodPlantResults#846332.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#846316]
(78) Project
Arguments: [prodPlantResults#846332.productId AS product#846310, prodPlantResults#846332.plantId AS plant#846311, demandChannelStreamKpiResults#846316]
(79) Project
Arguments: [product#846310, plant#846311, demandChannelStreamKpiResults#846316, null AS qty#846317]
(80) Project
Arguments: [product#846310, plant#846311, demandChannelStreamKpiResults#846316, qty#846317, demandChannelStreamKpiResults#846316.demandChannel AS demandChannel#846318]
(81) Project
Arguments: [product#846310, plant#846311, demandChannelStreamKpiResults#846316, qty#846317, demandChannel#846318, demandChannelStreamKpiResults#846316.demandStream AS demandStream#846320]
(82) Project
Arguments: [product#846310, plant#846311, demandChannelStreamKpiResults#846316, qty#846317, demandChannel#846318, demandStream#846320, demandChannelStreamKpiResults#846316.kpiResults AS kpis#846322]
(83) Project
Arguments: [product#846310, plant#846311, qty#846317, demandChannel#846318, demandStream#846320, kpis#846322]
(84) Project
Arguments: [product#846310, plant#846311, kpis#846322, qty#846317, demandChannel#846318, demandStream#846320]
(85) Project
Arguments: [product#846310, plant#846311, kpis#846322, cast(qty#846317 as double) AS qty#846333, demandChannel#846318, demandStream#846320]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#846301, plant#846302, transform(kpis#846303, lambdafunction(struct(label, lambda kpi#846338.label, dateTime, lambda kpi#846338.datetime, value, lambda kpi#846338.value), lambda kpi#846338, false)) AS kpis#846337, qty#846328, demandChannel#846308, demandStream#846309]
(88) Project
Arguments: [product#846301, plant#846302, qty#846328, demandChannel#846308, demandStream#846309, kpis#846337]
(89) LogicalRDD
Arguments: [shardId#847146, worklistShardItemId#847147L, version#847148, product#847149, plant#847150, periodStart#847151, periodEnd#847152, qty#847153], false
(90) RepartitionByExpression
Arguments: [product#847149, plant#847150], 37
(91) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, version#847148, product#847149, plant#847150, qty#847153]
(92) LogicalRDD
Arguments: [shardId#847154, worklistShardItemId#847155L, version#847156, product#847157, plant#847158, periodStart#847159, periodEnd#847160, qty#847161], false
(93) RepartitionByExpression
Arguments: [product#847157, plant#847158], 37
(94) Project
Arguments: [shardId#847154, worklistShardItemId#847155L, version#847156, product#847157, plant#847158, qty#847161]
(95) LogicalRDD
Arguments: [shardId#847162, worklistShardItemId#847163L, qty#847164, demandChannel#847165, demandStream#847166, kpis#847167], false
(96) Project
Arguments: [shardId#847162 AS cachedShardId#847168, worklistShardItemId#847163L AS cachedWorklistShardItemId#847169L, qty#847164 AS cachedQty#847170, demandChannel#847165, demandStream#847166, kpis#847167 AS cachedKpis#847171]
(97) Join
Arguments: Inner, (((worklistShardItemId#847155L = cachedWorklistShardItemId#847169L) AND (shardId#847154 = cachedShardId#847168)) AND ((qty#847161 = cachedQty#847170) OR isnull(qty#847161)))
(98) Project
Arguments: [shardId#847154, worklistShardItemId#847155L, version#847156, product#847157, plant#847158]
(99) Deduplicate
Arguments: [plant#847158, shardId#847154, version#847156, worklistShardItemId#847155L, product#847157]
(100) LogicalRDD
Arguments: [shardId#847172, worklistShardItemId#847173L, qty#847174, demandChannel#847175, demandStream#847176, kpis#847177], false
(101) Project
Arguments: [shardId#847172 AS cachedShardId#847178, worklistShardItemId#847173L AS cachedWorklistShardItemId#847179L, qty#847174 AS cachedQty#847180, demandChannel#847175, demandStream#847176, kpis#847177 AS cachedKpis#847181]
(102) Join
Arguments: Inner, ((worklistShardItemId#847155L = cachedWorklistShardItemId#847179L) AND (shardId#847154 = cachedShardId#847178))
(103) Project
Arguments: [shardId#847154, worklistShardItemId#847155L, version#847156, product#847157, plant#847158, cachedQty#847180 AS qty#847182, demandChannel#847175, demandStream#847176, cachedKpis#847181 AS kpis#847183]
(104) Project
Arguments: [shardId#847154, worklistShardItemId#847155L, version#847156, product#847157, plant#847158, qty#847182]
(105) LogicalRDD
Arguments: [shardId#847184, worklistShardItemId#847185L, version#847186, product#847187, plant#847188, periodStart#847189, periodEnd#847190, qty#847191], false
(106) RepartitionByExpression
Arguments: [product#847187, plant#847188], 37
(107) Project
Arguments: [shardId#847184, worklistShardItemId#847185L, version#847186, product#847187, plant#847188, qty#847191]
(108) LogicalRDD
Arguments: [shardId#847192, worklistShardItemId#847193L, qty#847194, demandChannel#847195, demandStream#847196, kpis#847197], false
(109) Project
Arguments: [shardId#847192 AS cachedShardId#847198, worklistShardItemId#847193L AS cachedWorklistShardItemId#847199L, qty#847194 AS cachedQty#847200, demandChannel#847195, demandStream#847196, kpis#847197 AS cachedKpis#847201]
(110) Join
Arguments: Inner, (((worklistShardItemId#847185L = cachedWorklistShardItemId#847199L) AND (shardId#847184 = cachedShardId#847198)) AND isnull(qty#847191))
(111) Project
Arguments: [shardId#847184, worklistShardItemId#847185L, version#847186, product#847187, plant#847188, qty#847191]
(112) Project
Arguments: [shardId#847184, worklistShardItemId#847185L, version#847186, product#847187, plant#847188, qty#847191]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#847146 <=> shardId#847154) AND (worklistShardItemId#847147L <=> worklistShardItemId#847155L)) AND (version#847148 <=> version#847156)) AND (product#847149 <=> product#847157)) AND (plant#847150 <=> plant#847158)) AND (qty#847153 <=> qty#847182))
(115) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, version#847148, product#847149, plant#847150, qty#847153]
(116) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, version#847148, product#847149, plant#847150, qty#847153, cast(null as string) AS demandChannel#847202]
(117) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, version#847148, product#847149, plant#847150, qty#847153, demandChannel#847202, cast(null as string) AS demandStream#847203]
(118) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, version#847148, product#847149, plant#847150, qty#847153, demandChannel#847202, demandStream#847203, array() AS kpis#847204]
(119) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, version#847148, product#847149, plant#847150, qty#847153, demandChannel#847202, demandStream#847203, kpis#847204, true AS isNewlyCalculated#847205]
(120) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, version#847148, product#847149, plant#847150, qty#847153, demandChannel#847202, demandStream#847203, cast(kpis#847204 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#847206, isNewlyCalculated#847205]
(121) LogicalRDD
Arguments: [shardId#847207, worklistShardItemId#847208L, version#847209, product#847210, plant#847211, periodStart#847212, periodEnd#847213, qty#847214], false
(122) RepartitionByExpression
Arguments: [product#847210, plant#847211], 37
(123) Project
Arguments: [shardId#847207, worklistShardItemId#847208L, version#847209, product#847210, plant#847211, qty#847214]
(124) LogicalRDD
Arguments: [shardId#847215, worklistShardItemId#847216L, qty#847217, demandChannel#847218, demandStream#847219, kpis#847220], false
(125) Project
Arguments: [shardId#847215 AS cachedShardId#847221, worklistShardItemId#847216L AS cachedWorklistShardItemId#847222L, qty#847217 AS cachedQty#847223, demandChannel#847218, demandStream#847219, kpis#847220 AS cachedKpis#847224]
(126) Join
Arguments: Inner, (((worklistShardItemId#847208L = cachedWorklistShardItemId#847222L) AND (shardId#847207 = cachedShardId#847221)) AND ((qty#847214 = cachedQty#847223) OR isnull(qty#847214)))
(127) Project
Arguments: [shardId#847207, worklistShardItemId#847208L, version#847209, product#847210, plant#847211]
(128) Deduplicate
Arguments: [plant#847211, shardId#847207, version#847209, worklistShardItemId#847208L, product#847210]
(129) LogicalRDD
Arguments: [shardId#847225, worklistShardItemId#847226L, qty#847227, demandChannel#847228, demandStream#847229, kpis#847230], false
(130) Project
Arguments: [shardId#847225 AS cachedShardId#847231, worklistShardItemId#847226L AS cachedWorklistShardItemId#847232L, qty#847227 AS cachedQty#847233, demandChannel#847228, demandStream#847229, kpis#847230 AS cachedKpis#847234]
(131) Join
Arguments: Inner, ((worklistShardItemId#847208L = cachedWorklistShardItemId#847232L) AND (shardId#847207 = cachedShardId#847231))
(132) Project
Arguments: [shardId#847207, worklistShardItemId#847208L, version#847209, product#847210, plant#847211, cachedQty#847233 AS qty#847235, demandChannel#847228, demandStream#847229, cachedKpis#847234 AS kpis#847236]
(133) Project
Arguments: [shardId#847207, worklistShardItemId#847208L, version#847209, product#847210, plant#847211, qty#847235, demandChannel#847228, demandStream#847229, kpis#847236, false AS isNewlyCalculated#847237]
(134) Project
Arguments: [shardId#847207, worklistShardItemId#847208L, version#847209, product#847210, plant#847211, qty#847235, demandChannel#847228, demandStream#847229, kpis#847236, isNewlyCalculated#847237]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#847205 <=> true)
(137) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, product#847149, plant#847150, qty#847153, kpis#847206]
(138) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, product#847149, plant#847150, qty#847153]
(139) Deduplicate
Arguments: [plant#847150, shardId#847146, qty#847153, worklistShardItemId#847147L, product#847149]
(140) Join
Arguments: Inner, ((product#846301 <=> product#847149) AND ((plant#846302 <=> plant#847150) AND ((qty#846328 <=> qty#847153) OR isnull(qty#847153))))
(141) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, qty#846328, demandChannel#846308, demandStream#846309, kpis#846337]
(142) Deduplicate
Arguments: [demandChannel#846308, shardId#847146, qty#846328, worklistShardItemId#847147L, demandStream#846309]
(143) Project
Arguments: [shardId#847146, worklistShardItemId#847147L, qty#846328, demandChannel#846308, demandStream#846309, kpis#846337]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240, product#847241, plant#847242, periodStart#847243, periodEnd#847244, qty#847245], false
(146) RepartitionByExpression
Arguments: [product#847241, plant#847242], 37
(147) Project
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240, product#847241, plant#847242, qty#847245]
(148) LogicalRDD
Arguments: [shardId#847246, worklistShardItemId#847247L, version#847248, product#847249, plant#847250, periodStart#847251, periodEnd#847252, qty#847253], false
(149) RepartitionByExpression
Arguments: [product#847249, plant#847250], 37
(150) Project
Arguments: [shardId#847246, worklistShardItemId#847247L, version#847248, product#847249, plant#847250, qty#847253]
(151) LogicalRDD
Arguments: [shardId#847254, worklistShardItemId#847255L, qty#847256, demandChannel#847257, demandStream#847258, kpis#847259], false
(152) Project
Arguments: [shardId#847254 AS cachedShardId#847260, worklistShardItemId#847255L AS cachedWorklistShardItemId#847261L, qty#847256 AS cachedQty#847262, demandChannel#847257, demandStream#847258, kpis#847259 AS cachedKpis#847263]
(153) Join
Arguments: Inner, (((worklistShardItemId#847247L = cachedWorklistShardItemId#847261L) AND (shardId#847246 = cachedShardId#847260)) AND ((qty#847253 = cachedQty#847262) OR isnull(qty#847253)))
(154) Project
Arguments: [shardId#847246, worklistShardItemId#847247L, version#847248, product#847249, plant#847250]
(155) Deduplicate
Arguments: [plant#847250, shardId#847246, version#847248, worklistShardItemId#847247L, product#847249]
(156) LogicalRDD
Arguments: [shardId#847264, worklistShardItemId#847265L, qty#847266, demandChannel#847267, demandStream#847268, kpis#847269], false
(157) Project
Arguments: [shardId#847264 AS cachedShardId#847270, worklistShardItemId#847265L AS cachedWorklistShardItemId#847271L, qty#847266 AS cachedQty#847272, demandChannel#847267, demandStream#847268, kpis#847269 AS cachedKpis#847273]
(158) Join
Arguments: Inner, ((worklistShardItemId#847247L = cachedWorklistShardItemId#847271L) AND (shardId#847246 = cachedShardId#847270))
(159) Project
Arguments: [shardId#847246, worklistShardItemId#847247L, version#847248, product#847249, plant#847250, cachedQty#847272 AS qty#847274, demandChannel#847267, demandStream#847268, cachedKpis#847273 AS kpis#847275]
(160) Project
Arguments: [shardId#847246, worklistShardItemId#847247L, version#847248, product#847249, plant#847250, qty#847274]
(161) LogicalRDD
Arguments: [shardId#847276, worklistShardItemId#847277L, version#847278, product#847279, plant#847280, periodStart#847281, periodEnd#847282, qty#847283], false
(162) RepartitionByExpression
Arguments: [product#847279, plant#847280], 37
(163) Project
Arguments: [shardId#847276, worklistShardItemId#847277L, version#847278, product#847279, plant#847280, qty#847283]
(164) LogicalRDD
Arguments: [shardId#847284, worklistShardItemId#847285L, qty#847286, demandChannel#847287, demandStream#847288, kpis#847289], false
(165) Project
Arguments: [shardId#847284 AS cachedShardId#847290, worklistShardItemId#847285L AS cachedWorklistShardItemId#847291L, qty#847286 AS cachedQty#847292, demandChannel#847287, demandStream#847288, kpis#847289 AS cachedKpis#847293]
(166) Join
Arguments: Inner, (((worklistShardItemId#847277L = cachedWorklistShardItemId#847291L) AND (shardId#847276 = cachedShardId#847290)) AND isnull(qty#847283))
(167) Project
Arguments: [shardId#847276, worklistShardItemId#847277L, version#847278, product#847279, plant#847280, qty#847283]
(168) Project
Arguments: [shardId#847276, worklistShardItemId#847277L, version#847278, product#847279, plant#847280, qty#847283]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#847238 <=> shardId#847246) AND (worklistShardItemId#847239L <=> worklistShardItemId#847247L)) AND (version#847240 <=> version#847248)) AND (product#847241 <=> product#847249)) AND (plant#847242 <=> plant#847250)) AND (qty#847245 <=> qty#847274))
(171) Project
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240, product#847241, plant#847242, qty#847245]
(172) Project
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240, product#847241, plant#847242, qty#847245, cast(null as string) AS demandChannel#847294]
(173) Project
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240, product#847241, plant#847242, qty#847245, demandChannel#847294, cast(null as string) AS demandStream#847295]
(174) Project
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240, product#847241, plant#847242, qty#847245, demandChannel#847294, demandStream#847295, array() AS kpis#847296]
(175) Project
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240, product#847241, plant#847242, qty#847245, demandChannel#847294, demandStream#847295, kpis#847296, true AS isNewlyCalculated#847297]
(176) Project
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240, product#847241, plant#847242, qty#847245, demandChannel#847294, demandStream#847295, cast(kpis#847296 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#847298, isNewlyCalculated#847297]
(177) LogicalRDD
Arguments: [shardId#847299, worklistShardItemId#847300L, version#847301, product#847302, plant#847303, periodStart#847304, periodEnd#847305, qty#847306], false
(178) RepartitionByExpression
Arguments: [product#847302, plant#847303], 37
(179) Project
Arguments: [shardId#847299, worklistShardItemId#847300L, version#847301, product#847302, plant#847303, qty#847306]
(180) LogicalRDD
Arguments: [shardId#847307, worklistShardItemId#847308L, qty#847309, demandChannel#847310, demandStream#847311, kpis#847312], false
(181) Project
Arguments: [shardId#847307 AS cachedShardId#847313, worklistShardItemId#847308L AS cachedWorklistShardItemId#847314L, qty#847309 AS cachedQty#847315, demandChannel#847310, demandStream#847311, kpis#847312 AS cachedKpis#847316]
(182) Join
Arguments: Inner, (((worklistShardItemId#847300L = cachedWorklistShardItemId#847314L) AND (shardId#847299 = cachedShardId#847313)) AND ((qty#847306 = cachedQty#847315) OR isnull(qty#847306)))
(183) Project
Arguments: [shardId#847299, worklistShardItemId#847300L, version#847301, product#847302, plant#847303]
(184) Deduplicate
Arguments: [plant#847303, shardId#847299, version#847301, worklistShardItemId#847300L, product#847302]
(185) LogicalRDD
Arguments: [shardId#847317, worklistShardItemId#847318L, qty#847319, demandChannel#847320, demandStream#847321, kpis#847322], false
(186) Project
Arguments: [shardId#847317 AS cachedShardId#847323, worklistShardItemId#847318L AS cachedWorklistShardItemId#847324L, qty#847319 AS cachedQty#847325, demandChannel#847320, demandStream#847321, kpis#847322 AS cachedKpis#847326]
(187) Join
Arguments: Inner, ((worklistShardItemId#847300L = cachedWorklistShardItemId#847324L) AND (shardId#847299 = cachedShardId#847323))
(188) Project
Arguments: [shardId#847299, worklistShardItemId#847300L, version#847301, product#847302, plant#847303, cachedQty#847325 AS qty#847327, demandChannel#847320, demandStream#847321, cachedKpis#847326 AS kpis#847328]
(189) Project
Arguments: [shardId#847299, worklistShardItemId#847300L, version#847301, product#847302, plant#847303, qty#847327, demandChannel#847320, demandStream#847321, kpis#847328, false AS isNewlyCalculated#847329]
(190) Project
Arguments: [shardId#847299, worklistShardItemId#847300L, version#847301, product#847302, plant#847303, qty#847327, demandChannel#847320, demandStream#847321, kpis#847328, isNewlyCalculated#847329]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#847238, worklistShardItemId#847239L, version#847240]
(193) Aggregate
Arguments: [shardId#847238, worklistShardItemId#847239L], [shardId#847238, worklistShardItemId#847239L, (max(version#847240) + 1) AS version#847141]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#847238) AND (worklistShardItemId#815741L = worklistShardItemId#847239L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#843772, demandStream#843773, kpis#843807, version#847141]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#847141, qty#815747, demandChannel#843772, demandStream#843773, kpis#843807]