== 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@47c6b541, [path=hdlfs://770f0770-bd0c-456f-b83b-9649926e0857.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000678/stream-10000000678-1], Append
(3) LogicalRDD
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, periodStart#943636, periodEnd#943637, qty#943638], false
(4) RepartitionByExpression
Arguments: [product#943634, plant#943635], 37
(5) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(6) LogicalRDD
Arguments: [shardId#967860, worklistShardItemId#967861L, version#967862, product#967863, plant#967864, periodStart#967865, periodEnd#967866, qty#967867], false
(7) RepartitionByExpression
Arguments: [product#967863, plant#967864], 37
(8) Project
Arguments: [shardId#967860, worklistShardItemId#967861L, version#967862, product#967863, plant#967864, qty#967867]
(9) LogicalRDD
Arguments: [shardId#967615, worklistShardItemId#967616L, qty#967617, demandChannel#967618, demandStream#967619, kpis#967620], false
(10) Project
Arguments: [shardId#967615 AS cachedShardId#967621, worklistShardItemId#967616L AS cachedWorklistShardItemId#967622L, qty#967617 AS cachedQty#967623, demandChannel#967618, demandStream#967619, kpis#967620 AS cachedKpis#967624]
(11) Join
Arguments: Inner, (((worklistShardItemId#967861L = cachedWorklistShardItemId#967622L) AND (shardId#967860 = cachedShardId#967621)) AND ((qty#967867 = cachedQty#967623) OR isnull(qty#967867)))
(12) Project
Arguments: [shardId#967860, worklistShardItemId#967861L, version#967862, product#967863, plant#967864]
(13) Deduplicate
Arguments: [plant#967864, shardId#967860, version#967862, worklistShardItemId#967861L, product#967863]
(14) LogicalRDD
Arguments: [shardId#967625, worklistShardItemId#967626L, qty#967627, demandChannel#967628, demandStream#967629, kpis#967630], false
(15) Project
Arguments: [shardId#967625 AS cachedShardId#967631, worklistShardItemId#967626L AS cachedWorklistShardItemId#967632L, qty#967627 AS cachedQty#967633, demandChannel#967628, demandStream#967629, kpis#967630 AS cachedKpis#967634]
(16) Join
Arguments: Inner, ((worklistShardItemId#967861L = cachedWorklistShardItemId#967632L) AND (shardId#967860 = cachedShardId#967631))
(17) Project
Arguments: [shardId#967860, worklistShardItemId#967861L, version#967862, product#967863, plant#967864, cachedQty#967633 AS qty#967635, demandChannel#967628, demandStream#967629, cachedKpis#967634 AS kpis#967636]
(18) Project
Arguments: [shardId#967860, worklistShardItemId#967861L, version#967862, product#967863, plant#967864, qty#967635]
(19) LogicalRDD
Arguments: [shardId#967842, worklistShardItemId#967843L, version#967844, product#967845, plant#967846, periodStart#967847, periodEnd#967848, qty#967849], false
(20) RepartitionByExpression
Arguments: [product#967845, plant#967846], 37
(21) Project
Arguments: [shardId#967842, worklistShardItemId#967843L, version#967844, product#967845, plant#967846, qty#967849]
(22) LogicalRDD
Arguments: [shardId#967850, worklistShardItemId#967851L, qty#967852, demandChannel#967853, demandStream#967854, kpis#967855], false
(23) Project
Arguments: [shardId#967850 AS cachedShardId#967856, worklistShardItemId#967851L AS cachedWorklistShardItemId#967857L, qty#967852 AS cachedQty#967858, demandChannel#967853, demandStream#967854, kpis#967855 AS cachedKpis#967859]
(24) Join
Arguments: Inner, (((worklistShardItemId#967843L = cachedWorklistShardItemId#967857L) AND (shardId#967842 = cachedShardId#967856)) AND isnull(qty#967849))
(25) Project
Arguments: [shardId#967842, worklistShardItemId#967843L, version#967844, product#967845, plant#967846, qty#967849]
(26) Project
Arguments: [shardId#967842, worklistShardItemId#967843L, version#967844, product#967845, plant#967846, qty#967849]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#943631 <=> shardId#967860) AND (worklistShardItemId#943632L <=> worklistShardItemId#967861L)) AND (version#943633 <=> version#967862)) AND (product#943634 <=> product#967863)) AND (plant#943635 <=> plant#967864)) AND (qty#943638 <=> qty#967635))
(29) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638]
(30) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, cast(null as string) AS demandChannel#967868]
(31) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#967868, cast(null as string) AS demandStream#967869]
(32) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#967868, demandStream#967869, array() AS kpis#967870]
(33) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#967868, demandStream#967869, kpis#967870, true AS isNewlyCalculated#967871]
(34) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#943633, product#943634, plant#943635, qty#943638, demandChannel#967868, demandStream#967869, cast(kpis#967870 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#967903, isNewlyCalculated#967871]
(35) LogicalRDD
Arguments: [shardId#967873, worklistShardItemId#967874L, version#967875, product#967876, plant#967877, periodStart#967878, periodEnd#967879, qty#967880], false
(36) RepartitionByExpression
Arguments: [product#967876, plant#967877], 37
(37) Project
Arguments: [shardId#967873, worklistShardItemId#967874L, version#967875, product#967876, plant#967877, qty#967880]
(38) LogicalRDD
Arguments: [shardId#967881, worklistShardItemId#967882L, qty#967883, demandChannel#967884, demandStream#967885, kpis#967886], false
(39) Project
Arguments: [shardId#967881 AS cachedShardId#967887, worklistShardItemId#967882L AS cachedWorklistShardItemId#967888L, qty#967883 AS cachedQty#967889, demandChannel#967884, demandStream#967885, kpis#967886 AS cachedKpis#967890]
(40) Join
Arguments: Inner, (((worklistShardItemId#967874L = cachedWorklistShardItemId#967888L) AND (shardId#967873 = cachedShardId#967887)) AND ((qty#967880 = cachedQty#967889) OR isnull(qty#967880)))
(41) Project
Arguments: [shardId#967873, worklistShardItemId#967874L, version#967875, product#967876, plant#967877]
(42) Deduplicate
Arguments: [plant#967877, shardId#967873, version#967875, worklistShardItemId#967874L, product#967876]
(43) LogicalRDD
Arguments: [shardId#967891, worklistShardItemId#967892L, qty#967893, demandChannel#967894, demandStream#967895, kpis#967896], false
(44) Project
Arguments: [shardId#967891 AS cachedShardId#967897, worklistShardItemId#967892L AS cachedWorklistShardItemId#967898L, qty#967893 AS cachedQty#967899, demandChannel#967894, demandStream#967895, kpis#967896 AS cachedKpis#967900]
(45) Join
Arguments: Inner, ((worklistShardItemId#967874L = cachedWorklistShardItemId#967898L) AND (shardId#967873 = cachedShardId#967897))
(46) Project
Arguments: [shardId#967873, worklistShardItemId#967874L, version#967875, product#967876, plant#967877, cachedQty#967899 AS qty#967901, demandChannel#967894, demandStream#967895, cachedKpis#967900 AS kpis#967902]
(47) Project
Arguments: [shardId#967873, worklistShardItemId#967874L, version#967875, product#967876, plant#967877, qty#967901, demandChannel#967894, demandStream#967895, kpis#967902, false AS isNewlyCalculated#967872]
(48) Project
Arguments: [shardId#967873, worklistShardItemId#967874L, version#967875, product#967876, plant#967877, qty#967901, demandChannel#967894, demandStream#967895, kpis#967902, isNewlyCalculated#967872]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#967871 <=> false)
(51) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#967868, demandStream#967869, kpis#967903]
(52) ExternalRDD
Arguments: [obj#970367]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77336), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77336), 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, 77336), 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, 77336), 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, 77336), 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, 77336), 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#970370, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77337), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77337), 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, 77338), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77338), 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, 77338), 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, 77338), 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, 77339), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77339), 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, 77339), 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, 77339), 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, 77339), 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, 77338), 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, 77337), 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, 77340), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77340), 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, 77340), 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, 77340), 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, 77340), 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, 77337), 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, 77337), 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, 77337), 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, 77341), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77341), 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, 77342), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77342), 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, 77342), 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, 77342), 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, 77342), 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, 77341), 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, 77341), 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, 77337), 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#970371]
(54) Generate
Arguments: explode(prodPlantResults#970371), false, [prodPlantResults#970378]
(55) Project
Arguments: [prodPlantResults#970378]
(56) Project
Arguments: [prodPlantResults#970378.productId AS product#970397, prodPlantResults#970378.plantId AS plant#970398, prodPlantResults#970378.kpiResults AS kpis#970399]
(57) Project
Arguments: [product#970397, plant#970398, kpis#970399, null AS qty#970403]
(58) Project
Arguments: [product#970397, plant#970398, kpis#970399, qty#970403, cast(null as string) AS demandChannel#970404]
(59) Project
Arguments: [product#970397, plant#970398, kpis#970399, qty#970403, demandChannel#970404, cast(null as string) AS demandStream#970405]
(60) Project
Arguments: [product#970397, plant#970398, kpis#970399, cast(qty#970403 as double) AS qty#970424, demandChannel#970404, demandStream#970405]
(61) ExternalRDD
Arguments: [obj#970420]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77336), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77336), 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, 77336), 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, 77336), 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, 77336), 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, 77336), 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#970421, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77337), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77337), 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, 77338), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77338), 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, 77338), 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, 77338), 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, 77339), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77339), 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, 77339), 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, 77339), 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, 77339), 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, 77338), 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, 77337), 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, 77340), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77340), 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, 77340), 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, 77340), 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, 77340), 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, 77337), 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, 77337), 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, 77337), 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, 77341), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77341), 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, 77342), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77342), 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, 77342), 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, 77342), 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, 77342), 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, 77341), 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, 77341), 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, 77337), 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#970422]
(63) Generate
Arguments: explode(prodPlantResults#970422), false, [prodPlantResults#970423]
(64) Project
Arguments: [prodPlantResults#970423]
(65) Generate
Arguments: explode(prodPlantResults#970423.quantityKpiResults), false, [quantityKpiResults#970390]
(66) Project
Arguments: [prodPlantResults#970423.productId AS product#970384, prodPlantResults#970423.plantId AS plant#970385, quantityKpiResults#970390]
(67) Project
Arguments: [product#970384, plant#970385, quantityKpiResults#970390, quantityKpiResults#970390.quantity AS qty#970391]
(68) Project
Arguments: [product#970384, plant#970385, quantityKpiResults#970390, qty#970391, cast(null as string) AS demandChannel#970393]
(69) Project
Arguments: [product#970384, plant#970385, quantityKpiResults#970390, qty#970391, demandChannel#970393, cast(null as string) AS demandStream#970394]
(70) Project
Arguments: [product#970384, plant#970385, quantityKpiResults#970390, qty#970391, demandChannel#970393, demandStream#970394, quantityKpiResults#970390.kpiResults AS kpis#970395]
(71) Project
Arguments: [product#970384, plant#970385, qty#970391, demandChannel#970393, demandStream#970394, kpis#970395]
(72) Project
Arguments: [product#970384, plant#970385, kpis#970395, qty#970391, demandChannel#970393, demandStream#970394]
(73) ExternalRDD
Arguments: [obj#970425]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77336), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77336), 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, 77336), 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, 77336), 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, 77336), 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, 77336), 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#970426, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77337), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77337), 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, 77338), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77338), 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, 77338), 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, 77338), 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, 77339), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77339), 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, 77339), 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, 77339), 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, 77339), 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, 77338), 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, 77337), 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, 77340), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77340), 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, 77340), 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, 77340), 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, 77340), 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, 77337), 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, 77337), 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, 77337), 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, 77341), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77341), 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, 77342), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 77342), 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, 77342), 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, 77342), 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, 77342), 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, 77341), 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, 77341), 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, 77337), 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#970427]
(75) Generate
Arguments: explode(prodPlantResults#970427), false, [prodPlantResults#970428]
(76) Project
Arguments: [prodPlantResults#970428]
(77) Generate
Arguments: explode(prodPlantResults#970428.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#970412]
(78) Project
Arguments: [prodPlantResults#970428.productId AS product#970406, prodPlantResults#970428.plantId AS plant#970407, demandChannelStreamKpiResults#970412]
(79) Project
Arguments: [product#970406, plant#970407, demandChannelStreamKpiResults#970412, null AS qty#970413]
(80) Project
Arguments: [product#970406, plant#970407, demandChannelStreamKpiResults#970412, qty#970413, demandChannelStreamKpiResults#970412.demandChannel AS demandChannel#970414]
(81) Project
Arguments: [product#970406, plant#970407, demandChannelStreamKpiResults#970412, qty#970413, demandChannel#970414, demandChannelStreamKpiResults#970412.demandStream AS demandStream#970416]
(82) Project
Arguments: [product#970406, plant#970407, demandChannelStreamKpiResults#970412, qty#970413, demandChannel#970414, demandStream#970416, demandChannelStreamKpiResults#970412.kpiResults AS kpis#970418]
(83) Project
Arguments: [product#970406, plant#970407, qty#970413, demandChannel#970414, demandStream#970416, kpis#970418]
(84) Project
Arguments: [product#970406, plant#970407, kpis#970418, qty#970413, demandChannel#970414, demandStream#970416]
(85) Project
Arguments: [product#970406, plant#970407, kpis#970418, cast(qty#970413 as double) AS qty#970429, demandChannel#970414, demandStream#970416]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#970397, plant#970398, transform(kpis#970399, lambdafunction(struct(label, lambda kpi#970434.label, dateTime, lambda kpi#970434.datetime, value, lambda kpi#970434.value), lambda kpi#970434, false)) AS kpis#970433, qty#970424, demandChannel#970404, demandStream#970405]
(88) Project
Arguments: [product#970397, plant#970398, qty#970424, demandChannel#970404, demandStream#970405, kpis#970433]
(89) LogicalRDD
Arguments: [shardId#971242, worklistShardItemId#971243L, version#971244, product#971245, plant#971246, periodStart#971247, periodEnd#971248, qty#971249], false
(90) RepartitionByExpression
Arguments: [product#971245, plant#971246], 37
(91) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, version#971244, product#971245, plant#971246, qty#971249]
(92) LogicalRDD
Arguments: [shardId#971250, worklistShardItemId#971251L, version#971252, product#971253, plant#971254, periodStart#971255, periodEnd#971256, qty#971257], false
(93) RepartitionByExpression
Arguments: [product#971253, plant#971254], 37
(94) Project
Arguments: [shardId#971250, worklistShardItemId#971251L, version#971252, product#971253, plant#971254, qty#971257]
(95) LogicalRDD
Arguments: [shardId#971258, worklistShardItemId#971259L, qty#971260, demandChannel#971261, demandStream#971262, kpis#971263], false
(96) Project
Arguments: [shardId#971258 AS cachedShardId#971264, worklistShardItemId#971259L AS cachedWorklistShardItemId#971265L, qty#971260 AS cachedQty#971266, demandChannel#971261, demandStream#971262, kpis#971263 AS cachedKpis#971267]
(97) Join
Arguments: Inner, (((worklistShardItemId#971251L = cachedWorklistShardItemId#971265L) AND (shardId#971250 = cachedShardId#971264)) AND ((qty#971257 = cachedQty#971266) OR isnull(qty#971257)))
(98) Project
Arguments: [shardId#971250, worklistShardItemId#971251L, version#971252, product#971253, plant#971254]
(99) Deduplicate
Arguments: [plant#971254, shardId#971250, version#971252, worklistShardItemId#971251L, product#971253]
(100) LogicalRDD
Arguments: [shardId#971268, worklistShardItemId#971269L, qty#971270, demandChannel#971271, demandStream#971272, kpis#971273], false
(101) Project
Arguments: [shardId#971268 AS cachedShardId#971274, worklistShardItemId#971269L AS cachedWorklistShardItemId#971275L, qty#971270 AS cachedQty#971276, demandChannel#971271, demandStream#971272, kpis#971273 AS cachedKpis#971277]
(102) Join
Arguments: Inner, ((worklistShardItemId#971251L = cachedWorklistShardItemId#971275L) AND (shardId#971250 = cachedShardId#971274))
(103) Project
Arguments: [shardId#971250, worklistShardItemId#971251L, version#971252, product#971253, plant#971254, cachedQty#971276 AS qty#971278, demandChannel#971271, demandStream#971272, cachedKpis#971277 AS kpis#971279]
(104) Project
Arguments: [shardId#971250, worklistShardItemId#971251L, version#971252, product#971253, plant#971254, qty#971278]
(105) LogicalRDD
Arguments: [shardId#971280, worklistShardItemId#971281L, version#971282, product#971283, plant#971284, periodStart#971285, periodEnd#971286, qty#971287], false
(106) RepartitionByExpression
Arguments: [product#971283, plant#971284], 37
(107) Project
Arguments: [shardId#971280, worklistShardItemId#971281L, version#971282, product#971283, plant#971284, qty#971287]
(108) LogicalRDD
Arguments: [shardId#971288, worklistShardItemId#971289L, qty#971290, demandChannel#971291, demandStream#971292, kpis#971293], false
(109) Project
Arguments: [shardId#971288 AS cachedShardId#971294, worklistShardItemId#971289L AS cachedWorklistShardItemId#971295L, qty#971290 AS cachedQty#971296, demandChannel#971291, demandStream#971292, kpis#971293 AS cachedKpis#971297]
(110) Join
Arguments: Inner, (((worklistShardItemId#971281L = cachedWorklistShardItemId#971295L) AND (shardId#971280 = cachedShardId#971294)) AND isnull(qty#971287))
(111) Project
Arguments: [shardId#971280, worklistShardItemId#971281L, version#971282, product#971283, plant#971284, qty#971287]
(112) Project
Arguments: [shardId#971280, worklistShardItemId#971281L, version#971282, product#971283, plant#971284, qty#971287]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#971242 <=> shardId#971250) AND (worklistShardItemId#971243L <=> worklistShardItemId#971251L)) AND (version#971244 <=> version#971252)) AND (product#971245 <=> product#971253)) AND (plant#971246 <=> plant#971254)) AND (qty#971249 <=> qty#971278))
(115) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, version#971244, product#971245, plant#971246, qty#971249]
(116) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, version#971244, product#971245, plant#971246, qty#971249, cast(null as string) AS demandChannel#971298]
(117) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, version#971244, product#971245, plant#971246, qty#971249, demandChannel#971298, cast(null as string) AS demandStream#971299]
(118) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, version#971244, product#971245, plant#971246, qty#971249, demandChannel#971298, demandStream#971299, array() AS kpis#971300]
(119) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, version#971244, product#971245, plant#971246, qty#971249, demandChannel#971298, demandStream#971299, kpis#971300, true AS isNewlyCalculated#971301]
(120) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, version#971244, product#971245, plant#971246, qty#971249, demandChannel#971298, demandStream#971299, cast(kpis#971300 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#971302, isNewlyCalculated#971301]
(121) LogicalRDD
Arguments: [shardId#971303, worklistShardItemId#971304L, version#971305, product#971306, plant#971307, periodStart#971308, periodEnd#971309, qty#971310], false
(122) RepartitionByExpression
Arguments: [product#971306, plant#971307], 37
(123) Project
Arguments: [shardId#971303, worklistShardItemId#971304L, version#971305, product#971306, plant#971307, qty#971310]
(124) LogicalRDD
Arguments: [shardId#971311, worklistShardItemId#971312L, qty#971313, demandChannel#971314, demandStream#971315, kpis#971316], false
(125) Project
Arguments: [shardId#971311 AS cachedShardId#971317, worklistShardItemId#971312L AS cachedWorklistShardItemId#971318L, qty#971313 AS cachedQty#971319, demandChannel#971314, demandStream#971315, kpis#971316 AS cachedKpis#971320]
(126) Join
Arguments: Inner, (((worklistShardItemId#971304L = cachedWorklistShardItemId#971318L) AND (shardId#971303 = cachedShardId#971317)) AND ((qty#971310 = cachedQty#971319) OR isnull(qty#971310)))
(127) Project
Arguments: [shardId#971303, worklistShardItemId#971304L, version#971305, product#971306, plant#971307]
(128) Deduplicate
Arguments: [plant#971307, shardId#971303, version#971305, worklistShardItemId#971304L, product#971306]
(129) LogicalRDD
Arguments: [shardId#971321, worklistShardItemId#971322L, qty#971323, demandChannel#971324, demandStream#971325, kpis#971326], false
(130) Project
Arguments: [shardId#971321 AS cachedShardId#971327, worklistShardItemId#971322L AS cachedWorklistShardItemId#971328L, qty#971323 AS cachedQty#971329, demandChannel#971324, demandStream#971325, kpis#971326 AS cachedKpis#971330]
(131) Join
Arguments: Inner, ((worklistShardItemId#971304L = cachedWorklistShardItemId#971328L) AND (shardId#971303 = cachedShardId#971327))
(132) Project
Arguments: [shardId#971303, worklistShardItemId#971304L, version#971305, product#971306, plant#971307, cachedQty#971329 AS qty#971331, demandChannel#971324, demandStream#971325, cachedKpis#971330 AS kpis#971332]
(133) Project
Arguments: [shardId#971303, worklistShardItemId#971304L, version#971305, product#971306, plant#971307, qty#971331, demandChannel#971324, demandStream#971325, kpis#971332, false AS isNewlyCalculated#971333]
(134) Project
Arguments: [shardId#971303, worklistShardItemId#971304L, version#971305, product#971306, plant#971307, qty#971331, demandChannel#971324, demandStream#971325, kpis#971332, isNewlyCalculated#971333]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#971301 <=> true)
(137) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, product#971245, plant#971246, qty#971249, kpis#971302]
(138) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, product#971245, plant#971246, qty#971249]
(139) Deduplicate
Arguments: [plant#971246, shardId#971242, qty#971249, worklistShardItemId#971243L, product#971245]
(140) Join
Arguments: Inner, ((product#970397 <=> product#971245) AND ((plant#970398 <=> plant#971246) AND ((qty#970424 <=> qty#971249) OR isnull(qty#971249))))
(141) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, qty#970424, demandChannel#970404, demandStream#970405, kpis#970433]
(142) Deduplicate
Arguments: [demandChannel#970404, shardId#971242, qty#970424, worklistShardItemId#971243L, demandStream#970405]
(143) Project
Arguments: [shardId#971242, worklistShardItemId#971243L, qty#970424, demandChannel#970404, demandStream#970405, kpis#970433]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336, product#971337, plant#971338, periodStart#971339, periodEnd#971340, qty#971341], false
(146) RepartitionByExpression
Arguments: [product#971337, plant#971338], 37
(147) Project
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336, product#971337, plant#971338, qty#971341]
(148) LogicalRDD
Arguments: [shardId#971342, worklistShardItemId#971343L, version#971344, product#971345, plant#971346, periodStart#971347, periodEnd#971348, qty#971349], false
(149) RepartitionByExpression
Arguments: [product#971345, plant#971346], 37
(150) Project
Arguments: [shardId#971342, worklistShardItemId#971343L, version#971344, product#971345, plant#971346, qty#971349]
(151) LogicalRDD
Arguments: [shardId#971350, worklistShardItemId#971351L, qty#971352, demandChannel#971353, demandStream#971354, kpis#971355], false
(152) Project
Arguments: [shardId#971350 AS cachedShardId#971356, worklistShardItemId#971351L AS cachedWorklistShardItemId#971357L, qty#971352 AS cachedQty#971358, demandChannel#971353, demandStream#971354, kpis#971355 AS cachedKpis#971359]
(153) Join
Arguments: Inner, (((worklistShardItemId#971343L = cachedWorklistShardItemId#971357L) AND (shardId#971342 = cachedShardId#971356)) AND ((qty#971349 = cachedQty#971358) OR isnull(qty#971349)))
(154) Project
Arguments: [shardId#971342, worklistShardItemId#971343L, version#971344, product#971345, plant#971346]
(155) Deduplicate
Arguments: [plant#971346, shardId#971342, version#971344, worklistShardItemId#971343L, product#971345]
(156) LogicalRDD
Arguments: [shardId#971360, worklistShardItemId#971361L, qty#971362, demandChannel#971363, demandStream#971364, kpis#971365], false
(157) Project
Arguments: [shardId#971360 AS cachedShardId#971366, worklistShardItemId#971361L AS cachedWorklistShardItemId#971367L, qty#971362 AS cachedQty#971368, demandChannel#971363, demandStream#971364, kpis#971365 AS cachedKpis#971369]
(158) Join
Arguments: Inner, ((worklistShardItemId#971343L = cachedWorklistShardItemId#971367L) AND (shardId#971342 = cachedShardId#971366))
(159) Project
Arguments: [shardId#971342, worklistShardItemId#971343L, version#971344, product#971345, plant#971346, cachedQty#971368 AS qty#971370, demandChannel#971363, demandStream#971364, cachedKpis#971369 AS kpis#971371]
(160) Project
Arguments: [shardId#971342, worklistShardItemId#971343L, version#971344, product#971345, plant#971346, qty#971370]
(161) LogicalRDD
Arguments: [shardId#971372, worklistShardItemId#971373L, version#971374, product#971375, plant#971376, periodStart#971377, periodEnd#971378, qty#971379], false
(162) RepartitionByExpression
Arguments: [product#971375, plant#971376], 37
(163) Project
Arguments: [shardId#971372, worklistShardItemId#971373L, version#971374, product#971375, plant#971376, qty#971379]
(164) LogicalRDD
Arguments: [shardId#971380, worklistShardItemId#971381L, qty#971382, demandChannel#971383, demandStream#971384, kpis#971385], false
(165) Project
Arguments: [shardId#971380 AS cachedShardId#971386, worklistShardItemId#971381L AS cachedWorklistShardItemId#971387L, qty#971382 AS cachedQty#971388, demandChannel#971383, demandStream#971384, kpis#971385 AS cachedKpis#971389]
(166) Join
Arguments: Inner, (((worklistShardItemId#971373L = cachedWorklistShardItemId#971387L) AND (shardId#971372 = cachedShardId#971386)) AND isnull(qty#971379))
(167) Project
Arguments: [shardId#971372, worklistShardItemId#971373L, version#971374, product#971375, plant#971376, qty#971379]
(168) Project
Arguments: [shardId#971372, worklistShardItemId#971373L, version#971374, product#971375, plant#971376, qty#971379]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#971334 <=> shardId#971342) AND (worklistShardItemId#971335L <=> worklistShardItemId#971343L)) AND (version#971336 <=> version#971344)) AND (product#971337 <=> product#971345)) AND (plant#971338 <=> plant#971346)) AND (qty#971341 <=> qty#971370))
(171) Project
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336, product#971337, plant#971338, qty#971341]
(172) Project
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336, product#971337, plant#971338, qty#971341, cast(null as string) AS demandChannel#971390]
(173) Project
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336, product#971337, plant#971338, qty#971341, demandChannel#971390, cast(null as string) AS demandStream#971391]
(174) Project
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336, product#971337, plant#971338, qty#971341, demandChannel#971390, demandStream#971391, array() AS kpis#971392]
(175) Project
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336, product#971337, plant#971338, qty#971341, demandChannel#971390, demandStream#971391, kpis#971392, true AS isNewlyCalculated#971393]
(176) Project
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336, product#971337, plant#971338, qty#971341, demandChannel#971390, demandStream#971391, cast(kpis#971392 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#971394, isNewlyCalculated#971393]
(177) LogicalRDD
Arguments: [shardId#971395, worklistShardItemId#971396L, version#971397, product#971398, plant#971399, periodStart#971400, periodEnd#971401, qty#971402], false
(178) RepartitionByExpression
Arguments: [product#971398, plant#971399], 37
(179) Project
Arguments: [shardId#971395, worklistShardItemId#971396L, version#971397, product#971398, plant#971399, qty#971402]
(180) LogicalRDD
Arguments: [shardId#971403, worklistShardItemId#971404L, qty#971405, demandChannel#971406, demandStream#971407, kpis#971408], false
(181) Project
Arguments: [shardId#971403 AS cachedShardId#971409, worklistShardItemId#971404L AS cachedWorklistShardItemId#971410L, qty#971405 AS cachedQty#971411, demandChannel#971406, demandStream#971407, kpis#971408 AS cachedKpis#971412]
(182) Join
Arguments: Inner, (((worklistShardItemId#971396L = cachedWorklistShardItemId#971410L) AND (shardId#971395 = cachedShardId#971409)) AND ((qty#971402 = cachedQty#971411) OR isnull(qty#971402)))
(183) Project
Arguments: [shardId#971395, worklistShardItemId#971396L, version#971397, product#971398, plant#971399]
(184) Deduplicate
Arguments: [plant#971399, shardId#971395, version#971397, worklistShardItemId#971396L, product#971398]
(185) LogicalRDD
Arguments: [shardId#971413, worklistShardItemId#971414L, qty#971415, demandChannel#971416, demandStream#971417, kpis#971418], false
(186) Project
Arguments: [shardId#971413 AS cachedShardId#971419, worklistShardItemId#971414L AS cachedWorklistShardItemId#971420L, qty#971415 AS cachedQty#971421, demandChannel#971416, demandStream#971417, kpis#971418 AS cachedKpis#971422]
(187) Join
Arguments: Inner, ((worklistShardItemId#971396L = cachedWorklistShardItemId#971420L) AND (shardId#971395 = cachedShardId#971419))
(188) Project
Arguments: [shardId#971395, worklistShardItemId#971396L, version#971397, product#971398, plant#971399, cachedQty#971421 AS qty#971423, demandChannel#971416, demandStream#971417, cachedKpis#971422 AS kpis#971424]
(189) Project
Arguments: [shardId#971395, worklistShardItemId#971396L, version#971397, product#971398, plant#971399, qty#971423, demandChannel#971416, demandStream#971417, kpis#971424, false AS isNewlyCalculated#971425]
(190) Project
Arguments: [shardId#971395, worklistShardItemId#971396L, version#971397, product#971398, plant#971399, qty#971423, demandChannel#971416, demandStream#971417, kpis#971424, isNewlyCalculated#971425]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#971334, worklistShardItemId#971335L, version#971336]
(193) Aggregate
Arguments: [shardId#971334, worklistShardItemId#971335L], [shardId#971334, worklistShardItemId#971335L, (max(version#971336) + 1) AS version#971237]
(194) Join
Arguments: Inner, ((shardId#943631 = shardId#971334) AND (worklistShardItemId#943632L = worklistShardItemId#971335L))
(195) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, qty#943638, demandChannel#967868, demandStream#967869, kpis#967903, version#971237]
(196) Project
Arguments: [shardId#943631, worklistShardItemId#943632L, version#971237, qty#943638, demandChannel#967868, demandStream#967869, kpis#967903]