== 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@4fe94757, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000348/stream-10000000348-1], Append
(3) LogicalRDD
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, periodStart#904719, periodEnd#904720, qty#904721], false
(4) RepartitionByExpression
Arguments: [product#904717, plant#904718], 37
(5) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]
(6) LogicalRDD
Arguments: [shardId#933024, worklistShardItemId#933025L, version#933026, product#933027, plant#933028, periodStart#933029, periodEnd#933030, qty#933031], false
(7) RepartitionByExpression
Arguments: [product#933027, plant#933028], 37
(8) Project
Arguments: [shardId#933024, worklistShardItemId#933025L, version#933026, product#933027, plant#933028, qty#933031]
(9) LogicalRDD
Arguments: [shardId#932779, worklistShardItemId#932780L, qty#932781, demandChannel#932782, demandStream#932783, kpis#932784], false
(10) Project
Arguments: [shardId#932779 AS cachedShardId#932785, worklistShardItemId#932780L AS cachedWorklistShardItemId#932786L, qty#932781 AS cachedQty#932787, demandChannel#932782, demandStream#932783, kpis#932784 AS cachedKpis#932788]
(11) Join
Arguments: Inner, (((worklistShardItemId#933025L = cachedWorklistShardItemId#932786L) AND (shardId#933024 = cachedShardId#932785)) AND ((qty#933031 = cachedQty#932787) OR isnull(qty#933031)))
(12) Project
Arguments: [shardId#933024, worklistShardItemId#933025L, version#933026, product#933027, plant#933028]
(13) Deduplicate
Arguments: [plant#933028, shardId#933024, version#933026, worklistShardItemId#933025L, product#933027]
(14) LogicalRDD
Arguments: [shardId#932789, worklistShardItemId#932790L, qty#932791, demandChannel#932792, demandStream#932793, kpis#932794], false
(15) Project
Arguments: [shardId#932789 AS cachedShardId#932795, worklistShardItemId#932790L AS cachedWorklistShardItemId#932796L, qty#932791 AS cachedQty#932797, demandChannel#932792, demandStream#932793, kpis#932794 AS cachedKpis#932798]
(16) Join
Arguments: Inner, ((worklistShardItemId#933025L = cachedWorklistShardItemId#932796L) AND (shardId#933024 = cachedShardId#932795))
(17) Project
Arguments: [shardId#933024, worklistShardItemId#933025L, version#933026, product#933027, plant#933028, cachedQty#932797 AS qty#932799, demandChannel#932792, demandStream#932793, cachedKpis#932798 AS kpis#932800]
(18) Project
Arguments: [shardId#933024, worklistShardItemId#933025L, version#933026, product#933027, plant#933028, qty#932799]
(19) LogicalRDD
Arguments: [shardId#933006, worklistShardItemId#933007L, version#933008, product#933009, plant#933010, periodStart#933011, periodEnd#933012, qty#933013], false
(20) RepartitionByExpression
Arguments: [product#933009, plant#933010], 37
(21) Project
Arguments: [shardId#933006, worklistShardItemId#933007L, version#933008, product#933009, plant#933010, qty#933013]
(22) LogicalRDD
Arguments: [shardId#933014, worklistShardItemId#933015L, qty#933016, demandChannel#933017, demandStream#933018, kpis#933019], false
(23) Project
Arguments: [shardId#933014 AS cachedShardId#933020, worklistShardItemId#933015L AS cachedWorklistShardItemId#933021L, qty#933016 AS cachedQty#933022, demandChannel#933017, demandStream#933018, kpis#933019 AS cachedKpis#933023]
(24) Join
Arguments: Inner, (((worklistShardItemId#933007L = cachedWorklistShardItemId#933021L) AND (shardId#933006 = cachedShardId#933020)) AND isnull(qty#933013))
(25) Project
Arguments: [shardId#933006, worklistShardItemId#933007L, version#933008, product#933009, plant#933010, qty#933013]
(26) Project
Arguments: [shardId#933006, worklistShardItemId#933007L, version#933008, product#933009, plant#933010, qty#933013]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#904714 <=> shardId#933024) AND (worklistShardItemId#904715L <=> worklistShardItemId#933025L)) AND (version#904716 <=> version#933026)) AND (product#904717 <=> product#933027)) AND (plant#904718 <=> plant#933028)) AND (qty#904721 <=> qty#932799))
(29) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]
(30) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, cast(null as string) AS demandChannel#933032]
(31) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#933032, cast(null as string) AS demandStream#933033]
(32) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#933032, demandStream#933033, array() AS kpis#933034]
(33) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#933032, demandStream#933033, kpis#933034, true AS isNewlyCalculated#933035]
(34) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, demandChannel#933032, demandStream#933033, cast(kpis#933034 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#933067, isNewlyCalculated#933035]
(35) LogicalRDD
Arguments: [shardId#933037, worklistShardItemId#933038L, version#933039, product#933040, plant#933041, periodStart#933042, periodEnd#933043, qty#933044], false
(36) RepartitionByExpression
Arguments: [product#933040, plant#933041], 37
(37) Project
Arguments: [shardId#933037, worklistShardItemId#933038L, version#933039, product#933040, plant#933041, qty#933044]
(38) LogicalRDD
Arguments: [shardId#933045, worklistShardItemId#933046L, qty#933047, demandChannel#933048, demandStream#933049, kpis#933050], false
(39) Project
Arguments: [shardId#933045 AS cachedShardId#933051, worklistShardItemId#933046L AS cachedWorklistShardItemId#933052L, qty#933047 AS cachedQty#933053, demandChannel#933048, demandStream#933049, kpis#933050 AS cachedKpis#933054]
(40) Join
Arguments: Inner, (((worklistShardItemId#933038L = cachedWorklistShardItemId#933052L) AND (shardId#933037 = cachedShardId#933051)) AND ((qty#933044 = cachedQty#933053) OR isnull(qty#933044)))
(41) Project
Arguments: [shardId#933037, worklistShardItemId#933038L, version#933039, product#933040, plant#933041]
(42) Deduplicate
Arguments: [plant#933041, shardId#933037, version#933039, worklistShardItemId#933038L, product#933040]
(43) LogicalRDD
Arguments: [shardId#933055, worklistShardItemId#933056L, qty#933057, demandChannel#933058, demandStream#933059, kpis#933060], false
(44) Project
Arguments: [shardId#933055 AS cachedShardId#933061, worklistShardItemId#933056L AS cachedWorklistShardItemId#933062L, qty#933057 AS cachedQty#933063, demandChannel#933058, demandStream#933059, kpis#933060 AS cachedKpis#933064]
(45) Join
Arguments: Inner, ((worklistShardItemId#933038L = cachedWorklistShardItemId#933062L) AND (shardId#933037 = cachedShardId#933061))
(46) Project
Arguments: [shardId#933037, worklistShardItemId#933038L, version#933039, product#933040, plant#933041, cachedQty#933063 AS qty#933065, demandChannel#933058, demandStream#933059, cachedKpis#933064 AS kpis#933066]
(47) Project
Arguments: [shardId#933037, worklistShardItemId#933038L, version#933039, product#933040, plant#933041, qty#933065, demandChannel#933058, demandStream#933059, kpis#933066, false AS isNewlyCalculated#933036]
(48) Project
Arguments: [shardId#933037, worklistShardItemId#933038L, version#933039, product#933040, plant#933041, qty#933065, demandChannel#933058, demandStream#933059, kpis#933066, isNewlyCalculated#933036]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#933035 <=> false)
(51) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#933032, demandStream#933033, kpis#933067]
(52) ExternalRDD
Arguments: [obj#935531]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73824), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73824), 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, 73824), 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, 73824), 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, 73824), 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, 73824), 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#935534, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73825), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73825), 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, 73826), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73826), 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, 73826), 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, 73826), 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, 73827), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73827), 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, 73827), 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, 73827), 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, 73827), 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, 73826), 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, 73825), 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, 73828), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73828), 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, 73828), 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, 73828), 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, 73828), 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, 73825), 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, 73825), 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, 73825), 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, 73829), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73829), 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, 73830), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73830), 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, 73830), 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, 73830), 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, 73830), 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, 73829), 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, 73829), 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, 73825), 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#935535]
(54) Generate
Arguments: explode(prodPlantResults#935535), false, [prodPlantResults#935542]
(55) Project
Arguments: [prodPlantResults#935542]
(56) Project
Arguments: [prodPlantResults#935542.productId AS product#935561, prodPlantResults#935542.plantId AS plant#935562, prodPlantResults#935542.kpiResults AS kpis#935563]
(57) Project
Arguments: [product#935561, plant#935562, kpis#935563, null AS qty#935567]
(58) Project
Arguments: [product#935561, plant#935562, kpis#935563, qty#935567, cast(null as string) AS demandChannel#935568]
(59) Project
Arguments: [product#935561, plant#935562, kpis#935563, qty#935567, demandChannel#935568, cast(null as string) AS demandStream#935569]
(60) Project
Arguments: [product#935561, plant#935562, kpis#935563, cast(qty#935567 as double) AS qty#935588, demandChannel#935568, demandStream#935569]
(61) ExternalRDD
Arguments: [obj#935584]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73824), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73824), 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, 73824), 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, 73824), 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, 73824), 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, 73824), 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#935585, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73825), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73825), 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, 73826), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73826), 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, 73826), 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, 73826), 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, 73827), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73827), 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, 73827), 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, 73827), 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, 73827), 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, 73826), 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, 73825), 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, 73828), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73828), 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, 73828), 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, 73828), 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, 73828), 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, 73825), 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, 73825), 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, 73825), 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, 73829), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73829), 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, 73830), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73830), 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, 73830), 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, 73830), 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, 73830), 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, 73829), 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, 73829), 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, 73825), 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#935586]
(63) Generate
Arguments: explode(prodPlantResults#935586), false, [prodPlantResults#935587]
(64) Project
Arguments: [prodPlantResults#935587]
(65) Generate
Arguments: explode(prodPlantResults#935587.quantityKpiResults), false, [quantityKpiResults#935554]
(66) Project
Arguments: [prodPlantResults#935587.productId AS product#935548, prodPlantResults#935587.plantId AS plant#935549, quantityKpiResults#935554]
(67) Project
Arguments: [product#935548, plant#935549, quantityKpiResults#935554, quantityKpiResults#935554.quantity AS qty#935555]
(68) Project
Arguments: [product#935548, plant#935549, quantityKpiResults#935554, qty#935555, cast(null as string) AS demandChannel#935557]
(69) Project
Arguments: [product#935548, plant#935549, quantityKpiResults#935554, qty#935555, demandChannel#935557, cast(null as string) AS demandStream#935558]
(70) Project
Arguments: [product#935548, plant#935549, quantityKpiResults#935554, qty#935555, demandChannel#935557, demandStream#935558, quantityKpiResults#935554.kpiResults AS kpis#935559]
(71) Project
Arguments: [product#935548, plant#935549, qty#935555, demandChannel#935557, demandStream#935558, kpis#935559]
(72) Project
Arguments: [product#935548, plant#935549, kpis#935559, qty#935555, demandChannel#935557, demandStream#935558]
(73) ExternalRDD
Arguments: [obj#935589]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73824), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73824), 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, 73824), 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, 73824), 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, 73824), 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, 73824), 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#935590, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73825), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73825), 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, 73826), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73826), 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, 73826), 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, 73826), 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, 73827), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73827), 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, 73827), 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, 73827), 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, 73827), 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, 73826), 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, 73825), 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, 73828), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73828), 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, 73828), 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, 73828), 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, 73828), 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, 73825), 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, 73825), 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, 73825), 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, 73829), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73829), 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, 73830), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 73830), 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, 73830), 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, 73830), 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, 73830), 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, 73829), 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, 73829), 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, 73825), 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#935591]
(75) Generate
Arguments: explode(prodPlantResults#935591), false, [prodPlantResults#935592]
(76) Project
Arguments: [prodPlantResults#935592]
(77) Generate
Arguments: explode(prodPlantResults#935592.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#935576]
(78) Project
Arguments: [prodPlantResults#935592.productId AS product#935570, prodPlantResults#935592.plantId AS plant#935571, demandChannelStreamKpiResults#935576]
(79) Project
Arguments: [product#935570, plant#935571, demandChannelStreamKpiResults#935576, null AS qty#935577]
(80) Project
Arguments: [product#935570, plant#935571, demandChannelStreamKpiResults#935576, qty#935577, demandChannelStreamKpiResults#935576.demandChannel AS demandChannel#935578]
(81) Project
Arguments: [product#935570, plant#935571, demandChannelStreamKpiResults#935576, qty#935577, demandChannel#935578, demandChannelStreamKpiResults#935576.demandStream AS demandStream#935580]
(82) Project
Arguments: [product#935570, plant#935571, demandChannelStreamKpiResults#935576, qty#935577, demandChannel#935578, demandStream#935580, demandChannelStreamKpiResults#935576.kpiResults AS kpis#935582]
(83) Project
Arguments: [product#935570, plant#935571, qty#935577, demandChannel#935578, demandStream#935580, kpis#935582]
(84) Project
Arguments: [product#935570, plant#935571, kpis#935582, qty#935577, demandChannel#935578, demandStream#935580]
(85) Project
Arguments: [product#935570, plant#935571, kpis#935582, cast(qty#935577 as double) AS qty#935593, demandChannel#935578, demandStream#935580]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#935561, plant#935562, transform(kpis#935563, lambdafunction(struct(label, lambda kpi#935598.label, dateTime, lambda kpi#935598.datetime, value, lambda kpi#935598.value), lambda kpi#935598, false)) AS kpis#935597, qty#935588, demandChannel#935568, demandStream#935569]
(88) Project
Arguments: [product#935561, plant#935562, qty#935588, demandChannel#935568, demandStream#935569, kpis#935597]
(89) LogicalRDD
Arguments: [shardId#936406, worklistShardItemId#936407L, version#936408, product#936409, plant#936410, periodStart#936411, periodEnd#936412, qty#936413], false
(90) RepartitionByExpression
Arguments: [product#936409, plant#936410], 37
(91) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, version#936408, product#936409, plant#936410, qty#936413]
(92) LogicalRDD
Arguments: [shardId#936414, worklistShardItemId#936415L, version#936416, product#936417, plant#936418, periodStart#936419, periodEnd#936420, qty#936421], false
(93) RepartitionByExpression
Arguments: [product#936417, plant#936418], 37
(94) Project
Arguments: [shardId#936414, worklistShardItemId#936415L, version#936416, product#936417, plant#936418, qty#936421]
(95) LogicalRDD
Arguments: [shardId#936422, worklistShardItemId#936423L, qty#936424, demandChannel#936425, demandStream#936426, kpis#936427], false
(96) Project
Arguments: [shardId#936422 AS cachedShardId#936428, worklistShardItemId#936423L AS cachedWorklistShardItemId#936429L, qty#936424 AS cachedQty#936430, demandChannel#936425, demandStream#936426, kpis#936427 AS cachedKpis#936431]
(97) Join
Arguments: Inner, (((worklistShardItemId#936415L = cachedWorklistShardItemId#936429L) AND (shardId#936414 = cachedShardId#936428)) AND ((qty#936421 = cachedQty#936430) OR isnull(qty#936421)))
(98) Project
Arguments: [shardId#936414, worklistShardItemId#936415L, version#936416, product#936417, plant#936418]
(99) Deduplicate
Arguments: [plant#936418, shardId#936414, version#936416, worklistShardItemId#936415L, product#936417]
(100) LogicalRDD
Arguments: [shardId#936432, worklistShardItemId#936433L, qty#936434, demandChannel#936435, demandStream#936436, kpis#936437], false
(101) Project
Arguments: [shardId#936432 AS cachedShardId#936438, worklistShardItemId#936433L AS cachedWorklistShardItemId#936439L, qty#936434 AS cachedQty#936440, demandChannel#936435, demandStream#936436, kpis#936437 AS cachedKpis#936441]
(102) Join
Arguments: Inner, ((worklistShardItemId#936415L = cachedWorklistShardItemId#936439L) AND (shardId#936414 = cachedShardId#936438))
(103) Project
Arguments: [shardId#936414, worklistShardItemId#936415L, version#936416, product#936417, plant#936418, cachedQty#936440 AS qty#936442, demandChannel#936435, demandStream#936436, cachedKpis#936441 AS kpis#936443]
(104) Project
Arguments: [shardId#936414, worklistShardItemId#936415L, version#936416, product#936417, plant#936418, qty#936442]
(105) LogicalRDD
Arguments: [shardId#936444, worklistShardItemId#936445L, version#936446, product#936447, plant#936448, periodStart#936449, periodEnd#936450, qty#936451], false
(106) RepartitionByExpression
Arguments: [product#936447, plant#936448], 37
(107) Project
Arguments: [shardId#936444, worklistShardItemId#936445L, version#936446, product#936447, plant#936448, qty#936451]
(108) LogicalRDD
Arguments: [shardId#936452, worklistShardItemId#936453L, qty#936454, demandChannel#936455, demandStream#936456, kpis#936457], false
(109) Project
Arguments: [shardId#936452 AS cachedShardId#936458, worklistShardItemId#936453L AS cachedWorklistShardItemId#936459L, qty#936454 AS cachedQty#936460, demandChannel#936455, demandStream#936456, kpis#936457 AS cachedKpis#936461]
(110) Join
Arguments: Inner, (((worklistShardItemId#936445L = cachedWorklistShardItemId#936459L) AND (shardId#936444 = cachedShardId#936458)) AND isnull(qty#936451))
(111) Project
Arguments: [shardId#936444, worklistShardItemId#936445L, version#936446, product#936447, plant#936448, qty#936451]
(112) Project
Arguments: [shardId#936444, worklistShardItemId#936445L, version#936446, product#936447, plant#936448, qty#936451]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#936406 <=> shardId#936414) AND (worklistShardItemId#936407L <=> worklistShardItemId#936415L)) AND (version#936408 <=> version#936416)) AND (product#936409 <=> product#936417)) AND (plant#936410 <=> plant#936418)) AND (qty#936413 <=> qty#936442))
(115) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, version#936408, product#936409, plant#936410, qty#936413]
(116) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, version#936408, product#936409, plant#936410, qty#936413, cast(null as string) AS demandChannel#936462]
(117) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, version#936408, product#936409, plant#936410, qty#936413, demandChannel#936462, cast(null as string) AS demandStream#936463]
(118) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, version#936408, product#936409, plant#936410, qty#936413, demandChannel#936462, demandStream#936463, array() AS kpis#936464]
(119) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, version#936408, product#936409, plant#936410, qty#936413, demandChannel#936462, demandStream#936463, kpis#936464, true AS isNewlyCalculated#936465]
(120) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, version#936408, product#936409, plant#936410, qty#936413, demandChannel#936462, demandStream#936463, cast(kpis#936464 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#936466, isNewlyCalculated#936465]
(121) LogicalRDD
Arguments: [shardId#936467, worklistShardItemId#936468L, version#936469, product#936470, plant#936471, periodStart#936472, periodEnd#936473, qty#936474], false
(122) RepartitionByExpression
Arguments: [product#936470, plant#936471], 37
(123) Project
Arguments: [shardId#936467, worklistShardItemId#936468L, version#936469, product#936470, plant#936471, qty#936474]
(124) LogicalRDD
Arguments: [shardId#936475, worklistShardItemId#936476L, qty#936477, demandChannel#936478, demandStream#936479, kpis#936480], false
(125) Project
Arguments: [shardId#936475 AS cachedShardId#936481, worklistShardItemId#936476L AS cachedWorklistShardItemId#936482L, qty#936477 AS cachedQty#936483, demandChannel#936478, demandStream#936479, kpis#936480 AS cachedKpis#936484]
(126) Join
Arguments: Inner, (((worklistShardItemId#936468L = cachedWorklistShardItemId#936482L) AND (shardId#936467 = cachedShardId#936481)) AND ((qty#936474 = cachedQty#936483) OR isnull(qty#936474)))
(127) Project
Arguments: [shardId#936467, worklistShardItemId#936468L, version#936469, product#936470, plant#936471]
(128) Deduplicate
Arguments: [plant#936471, shardId#936467, version#936469, worklistShardItemId#936468L, product#936470]
(129) LogicalRDD
Arguments: [shardId#936485, worklistShardItemId#936486L, qty#936487, demandChannel#936488, demandStream#936489, kpis#936490], false
(130) Project
Arguments: [shardId#936485 AS cachedShardId#936491, worklistShardItemId#936486L AS cachedWorklistShardItemId#936492L, qty#936487 AS cachedQty#936493, demandChannel#936488, demandStream#936489, kpis#936490 AS cachedKpis#936494]
(131) Join
Arguments: Inner, ((worklistShardItemId#936468L = cachedWorklistShardItemId#936492L) AND (shardId#936467 = cachedShardId#936491))
(132) Project
Arguments: [shardId#936467, worklistShardItemId#936468L, version#936469, product#936470, plant#936471, cachedQty#936493 AS qty#936495, demandChannel#936488, demandStream#936489, cachedKpis#936494 AS kpis#936496]
(133) Project
Arguments: [shardId#936467, worklistShardItemId#936468L, version#936469, product#936470, plant#936471, qty#936495, demandChannel#936488, demandStream#936489, kpis#936496, false AS isNewlyCalculated#936497]
(134) Project
Arguments: [shardId#936467, worklistShardItemId#936468L, version#936469, product#936470, plant#936471, qty#936495, demandChannel#936488, demandStream#936489, kpis#936496, isNewlyCalculated#936497]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#936465 <=> true)
(137) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, product#936409, plant#936410, qty#936413, kpis#936466]
(138) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, product#936409, plant#936410, qty#936413]
(139) Deduplicate
Arguments: [plant#936410, shardId#936406, qty#936413, worklistShardItemId#936407L, product#936409]
(140) Join
Arguments: Inner, ((product#935561 <=> product#936409) AND ((plant#935562 <=> plant#936410) AND ((qty#935588 <=> qty#936413) OR isnull(qty#936413))))
(141) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, qty#935588, demandChannel#935568, demandStream#935569, kpis#935597]
(142) Deduplicate
Arguments: [demandChannel#935568, shardId#936406, qty#935588, worklistShardItemId#936407L, demandStream#935569]
(143) Project
Arguments: [shardId#936406, worklistShardItemId#936407L, qty#935588, demandChannel#935568, demandStream#935569, kpis#935597]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500, product#936501, plant#936502, periodStart#936503, periodEnd#936504, qty#936505], false
(146) RepartitionByExpression
Arguments: [product#936501, plant#936502], 37
(147) Project
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500, product#936501, plant#936502, qty#936505]
(148) LogicalRDD
Arguments: [shardId#936506, worklistShardItemId#936507L, version#936508, product#936509, plant#936510, periodStart#936511, periodEnd#936512, qty#936513], false
(149) RepartitionByExpression
Arguments: [product#936509, plant#936510], 37
(150) Project
Arguments: [shardId#936506, worklistShardItemId#936507L, version#936508, product#936509, plant#936510, qty#936513]
(151) LogicalRDD
Arguments: [shardId#936514, worklistShardItemId#936515L, qty#936516, demandChannel#936517, demandStream#936518, kpis#936519], false
(152) Project
Arguments: [shardId#936514 AS cachedShardId#936520, worklistShardItemId#936515L AS cachedWorklistShardItemId#936521L, qty#936516 AS cachedQty#936522, demandChannel#936517, demandStream#936518, kpis#936519 AS cachedKpis#936523]
(153) Join
Arguments: Inner, (((worklistShardItemId#936507L = cachedWorklistShardItemId#936521L) AND (shardId#936506 = cachedShardId#936520)) AND ((qty#936513 = cachedQty#936522) OR isnull(qty#936513)))
(154) Project
Arguments: [shardId#936506, worklistShardItemId#936507L, version#936508, product#936509, plant#936510]
(155) Deduplicate
Arguments: [plant#936510, shardId#936506, version#936508, worklistShardItemId#936507L, product#936509]
(156) LogicalRDD
Arguments: [shardId#936524, worklistShardItemId#936525L, qty#936526, demandChannel#936527, demandStream#936528, kpis#936529], false
(157) Project
Arguments: [shardId#936524 AS cachedShardId#936530, worklistShardItemId#936525L AS cachedWorklistShardItemId#936531L, qty#936526 AS cachedQty#936532, demandChannel#936527, demandStream#936528, kpis#936529 AS cachedKpis#936533]
(158) Join
Arguments: Inner, ((worklistShardItemId#936507L = cachedWorklistShardItemId#936531L) AND (shardId#936506 = cachedShardId#936530))
(159) Project
Arguments: [shardId#936506, worklistShardItemId#936507L, version#936508, product#936509, plant#936510, cachedQty#936532 AS qty#936534, demandChannel#936527, demandStream#936528, cachedKpis#936533 AS kpis#936535]
(160) Project
Arguments: [shardId#936506, worklistShardItemId#936507L, version#936508, product#936509, plant#936510, qty#936534]
(161) LogicalRDD
Arguments: [shardId#936536, worklistShardItemId#936537L, version#936538, product#936539, plant#936540, periodStart#936541, periodEnd#936542, qty#936543], false
(162) RepartitionByExpression
Arguments: [product#936539, plant#936540], 37
(163) Project
Arguments: [shardId#936536, worklistShardItemId#936537L, version#936538, product#936539, plant#936540, qty#936543]
(164) LogicalRDD
Arguments: [shardId#936544, worklistShardItemId#936545L, qty#936546, demandChannel#936547, demandStream#936548, kpis#936549], false
(165) Project
Arguments: [shardId#936544 AS cachedShardId#936550, worklistShardItemId#936545L AS cachedWorklistShardItemId#936551L, qty#936546 AS cachedQty#936552, demandChannel#936547, demandStream#936548, kpis#936549 AS cachedKpis#936553]
(166) Join
Arguments: Inner, (((worklistShardItemId#936537L = cachedWorklistShardItemId#936551L) AND (shardId#936536 = cachedShardId#936550)) AND isnull(qty#936543))
(167) Project
Arguments: [shardId#936536, worklistShardItemId#936537L, version#936538, product#936539, plant#936540, qty#936543]
(168) Project
Arguments: [shardId#936536, worklistShardItemId#936537L, version#936538, product#936539, plant#936540, qty#936543]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#936498 <=> shardId#936506) AND (worklistShardItemId#936499L <=> worklistShardItemId#936507L)) AND (version#936500 <=> version#936508)) AND (product#936501 <=> product#936509)) AND (plant#936502 <=> plant#936510)) AND (qty#936505 <=> qty#936534))
(171) Project
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500, product#936501, plant#936502, qty#936505]
(172) Project
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500, product#936501, plant#936502, qty#936505, cast(null as string) AS demandChannel#936554]
(173) Project
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500, product#936501, plant#936502, qty#936505, demandChannel#936554, cast(null as string) AS demandStream#936555]
(174) Project
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500, product#936501, plant#936502, qty#936505, demandChannel#936554, demandStream#936555, array() AS kpis#936556]
(175) Project
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500, product#936501, plant#936502, qty#936505, demandChannel#936554, demandStream#936555, kpis#936556, true AS isNewlyCalculated#936557]
(176) Project
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500, product#936501, plant#936502, qty#936505, demandChannel#936554, demandStream#936555, cast(kpis#936556 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#936558, isNewlyCalculated#936557]
(177) LogicalRDD
Arguments: [shardId#936559, worklistShardItemId#936560L, version#936561, product#936562, plant#936563, periodStart#936564, periodEnd#936565, qty#936566], false
(178) RepartitionByExpression
Arguments: [product#936562, plant#936563], 37
(179) Project
Arguments: [shardId#936559, worklistShardItemId#936560L, version#936561, product#936562, plant#936563, qty#936566]
(180) LogicalRDD
Arguments: [shardId#936567, worklistShardItemId#936568L, qty#936569, demandChannel#936570, demandStream#936571, kpis#936572], false
(181) Project
Arguments: [shardId#936567 AS cachedShardId#936573, worklistShardItemId#936568L AS cachedWorklistShardItemId#936574L, qty#936569 AS cachedQty#936575, demandChannel#936570, demandStream#936571, kpis#936572 AS cachedKpis#936576]
(182) Join
Arguments: Inner, (((worklistShardItemId#936560L = cachedWorklistShardItemId#936574L) AND (shardId#936559 = cachedShardId#936573)) AND ((qty#936566 = cachedQty#936575) OR isnull(qty#936566)))
(183) Project
Arguments: [shardId#936559, worklistShardItemId#936560L, version#936561, product#936562, plant#936563]
(184) Deduplicate
Arguments: [plant#936563, shardId#936559, version#936561, worklistShardItemId#936560L, product#936562]
(185) LogicalRDD
Arguments: [shardId#936577, worklistShardItemId#936578L, qty#936579, demandChannel#936580, demandStream#936581, kpis#936582], false
(186) Project
Arguments: [shardId#936577 AS cachedShardId#936583, worklistShardItemId#936578L AS cachedWorklistShardItemId#936584L, qty#936579 AS cachedQty#936585, demandChannel#936580, demandStream#936581, kpis#936582 AS cachedKpis#936586]
(187) Join
Arguments: Inner, ((worklistShardItemId#936560L = cachedWorklistShardItemId#936584L) AND (shardId#936559 = cachedShardId#936583))
(188) Project
Arguments: [shardId#936559, worklistShardItemId#936560L, version#936561, product#936562, plant#936563, cachedQty#936585 AS qty#936587, demandChannel#936580, demandStream#936581, cachedKpis#936586 AS kpis#936588]
(189) Project
Arguments: [shardId#936559, worklistShardItemId#936560L, version#936561, product#936562, plant#936563, qty#936587, demandChannel#936580, demandStream#936581, kpis#936588, false AS isNewlyCalculated#936589]
(190) Project
Arguments: [shardId#936559, worklistShardItemId#936560L, version#936561, product#936562, plant#936563, qty#936587, demandChannel#936580, demandStream#936581, kpis#936588, isNewlyCalculated#936589]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#936498, worklistShardItemId#936499L, version#936500]
(193) Aggregate
Arguments: [shardId#936498, worklistShardItemId#936499L], [shardId#936498, worklistShardItemId#936499L, (max(version#936500) + 1) AS version#936401]
(194) Join
Arguments: Inner, ((shardId#904714 = shardId#936498) AND (worklistShardItemId#904715L = worklistShardItemId#936499L))
(195) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, qty#904721, demandChannel#933032, demandStream#933033, kpis#933067, version#936401]
(196) Project
Arguments: [shardId#904714, worklistShardItemId#904715L, version#936401, qty#904721, demandChannel#933032, demandStream#933033, kpis#933067]