== 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@7c572fbc, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000347/stream-10000000347-1], Append
(3) LogicalRDD
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, periodStart#815745, periodEnd#815746, qty#815747], false
(4) RepartitionByExpression
Arguments: [product#815743, plant#815744], 37
(5) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(6) LogicalRDD
Arguments: [shardId#894107, worklistShardItemId#894108L, version#894109, product#894110, plant#894111, periodStart#894112, periodEnd#894113, qty#894114], false
(7) RepartitionByExpression
Arguments: [product#894110, plant#894111], 37
(8) Project
Arguments: [shardId#894107, worklistShardItemId#894108L, version#894109, product#894110, plant#894111, qty#894114]
(9) LogicalRDD
Arguments: [shardId#893862, worklistShardItemId#893863L, qty#893864, demandChannel#893865, demandStream#893866, kpis#893867], false
(10) Project
Arguments: [shardId#893862 AS cachedShardId#893868, worklistShardItemId#893863L AS cachedWorklistShardItemId#893869L, qty#893864 AS cachedQty#893870, demandChannel#893865, demandStream#893866, kpis#893867 AS cachedKpis#893871]
(11) Join
Arguments: Inner, (((worklistShardItemId#894108L = cachedWorklistShardItemId#893869L) AND (shardId#894107 = cachedShardId#893868)) AND ((qty#894114 = cachedQty#893870) OR isnull(qty#894114)))
(12) Project
Arguments: [shardId#894107, worklistShardItemId#894108L, version#894109, product#894110, plant#894111]
(13) Deduplicate
Arguments: [plant#894111, shardId#894107, version#894109, worklistShardItemId#894108L, product#894110]
(14) LogicalRDD
Arguments: [shardId#893872, worklistShardItemId#893873L, qty#893874, demandChannel#893875, demandStream#893876, kpis#893877], false
(15) Project
Arguments: [shardId#893872 AS cachedShardId#893878, worklistShardItemId#893873L AS cachedWorklistShardItemId#893879L, qty#893874 AS cachedQty#893880, demandChannel#893875, demandStream#893876, kpis#893877 AS cachedKpis#893881]
(16) Join
Arguments: Inner, ((worklistShardItemId#894108L = cachedWorklistShardItemId#893879L) AND (shardId#894107 = cachedShardId#893878))
(17) Project
Arguments: [shardId#894107, worklistShardItemId#894108L, version#894109, product#894110, plant#894111, cachedQty#893880 AS qty#893882, demandChannel#893875, demandStream#893876, cachedKpis#893881 AS kpis#893883]
(18) Project
Arguments: [shardId#894107, worklistShardItemId#894108L, version#894109, product#894110, plant#894111, qty#893882]
(19) LogicalRDD
Arguments: [shardId#894089, worklistShardItemId#894090L, version#894091, product#894092, plant#894093, periodStart#894094, periodEnd#894095, qty#894096], false
(20) RepartitionByExpression
Arguments: [product#894092, plant#894093], 37
(21) Project
Arguments: [shardId#894089, worklistShardItemId#894090L, version#894091, product#894092, plant#894093, qty#894096]
(22) LogicalRDD
Arguments: [shardId#894097, worklistShardItemId#894098L, qty#894099, demandChannel#894100, demandStream#894101, kpis#894102], false
(23) Project
Arguments: [shardId#894097 AS cachedShardId#894103, worklistShardItemId#894098L AS cachedWorklistShardItemId#894104L, qty#894099 AS cachedQty#894105, demandChannel#894100, demandStream#894101, kpis#894102 AS cachedKpis#894106]
(24) Join
Arguments: Inner, (((worklistShardItemId#894090L = cachedWorklistShardItemId#894104L) AND (shardId#894089 = cachedShardId#894103)) AND isnull(qty#894096))
(25) Project
Arguments: [shardId#894089, worklistShardItemId#894090L, version#894091, product#894092, plant#894093, qty#894096]
(26) Project
Arguments: [shardId#894089, worklistShardItemId#894090L, version#894091, product#894092, plant#894093, qty#894096]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#894107) AND (worklistShardItemId#815741L <=> worklistShardItemId#894108L)) AND (version#815742 <=> version#894109)) AND (product#815743 <=> product#894110)) AND (plant#815744 <=> plant#894111)) AND (qty#815747 <=> qty#893882))
(29) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747]
(30) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, cast(null as string) AS demandChannel#894115]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#894115, cast(null as string) AS demandStream#894116]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#894115, demandStream#894116, array() AS kpis#894117]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#894115, demandStream#894116, kpis#894117, true AS isNewlyCalculated#894118]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#894115, demandStream#894116, cast(kpis#894117 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#894150, isNewlyCalculated#894118]
(35) LogicalRDD
Arguments: [shardId#894120, worklistShardItemId#894121L, version#894122, product#894123, plant#894124, periodStart#894125, periodEnd#894126, qty#894127], false
(36) RepartitionByExpression
Arguments: [product#894123, plant#894124], 37
(37) Project
Arguments: [shardId#894120, worklistShardItemId#894121L, version#894122, product#894123, plant#894124, qty#894127]
(38) LogicalRDD
Arguments: [shardId#894128, worklistShardItemId#894129L, qty#894130, demandChannel#894131, demandStream#894132, kpis#894133], false
(39) Project
Arguments: [shardId#894128 AS cachedShardId#894134, worklistShardItemId#894129L AS cachedWorklistShardItemId#894135L, qty#894130 AS cachedQty#894136, demandChannel#894131, demandStream#894132, kpis#894133 AS cachedKpis#894137]
(40) Join
Arguments: Inner, (((worklistShardItemId#894121L = cachedWorklistShardItemId#894135L) AND (shardId#894120 = cachedShardId#894134)) AND ((qty#894127 = cachedQty#894136) OR isnull(qty#894127)))
(41) Project
Arguments: [shardId#894120, worklistShardItemId#894121L, version#894122, product#894123, plant#894124]
(42) Deduplicate
Arguments: [plant#894124, shardId#894120, version#894122, worklistShardItemId#894121L, product#894123]
(43) LogicalRDD
Arguments: [shardId#894138, worklistShardItemId#894139L, qty#894140, demandChannel#894141, demandStream#894142, kpis#894143], false
(44) Project
Arguments: [shardId#894138 AS cachedShardId#894144, worklistShardItemId#894139L AS cachedWorklistShardItemId#894145L, qty#894140 AS cachedQty#894146, demandChannel#894141, demandStream#894142, kpis#894143 AS cachedKpis#894147]
(45) Join
Arguments: Inner, ((worklistShardItemId#894121L = cachedWorklistShardItemId#894145L) AND (shardId#894120 = cachedShardId#894144))
(46) Project
Arguments: [shardId#894120, worklistShardItemId#894121L, version#894122, product#894123, plant#894124, cachedQty#894146 AS qty#894148, demandChannel#894141, demandStream#894142, cachedKpis#894147 AS kpis#894149]
(47) Project
Arguments: [shardId#894120, worklistShardItemId#894121L, version#894122, product#894123, plant#894124, qty#894148, demandChannel#894141, demandStream#894142, kpis#894149, false AS isNewlyCalculated#894119]
(48) Project
Arguments: [shardId#894120, worklistShardItemId#894121L, version#894122, product#894123, plant#894124, qty#894148, demandChannel#894141, demandStream#894142, kpis#894149, isNewlyCalculated#894119]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#894118 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#894115, demandStream#894116, kpis#894150]
(52) ExternalRDD
Arguments: [obj#896614]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70383), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70383), 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, 70383), 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, 70383), 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, 70383), 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, 70383), 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#896617, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70384), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70384), 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, 70385), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70385), 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, 70385), 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, 70385), 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, 70386), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70386), 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, 70386), 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, 70386), 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, 70386), 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, 70385), 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, 70384), 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, 70387), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70387), 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, 70387), 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, 70387), 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, 70387), 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, 70384), 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, 70384), 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, 70384), 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, 70388), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70388), 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, 70389), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70389), 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, 70389), 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, 70389), 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, 70389), 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, 70388), 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, 70388), 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, 70384), 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#896618]
(54) Generate
Arguments: explode(prodPlantResults#896618), false, [prodPlantResults#896625]
(55) Project
Arguments: [prodPlantResults#896625]
(56) Project
Arguments: [prodPlantResults#896625.productId AS product#896644, prodPlantResults#896625.plantId AS plant#896645, prodPlantResults#896625.kpiResults AS kpis#896646]
(57) Project
Arguments: [product#896644, plant#896645, kpis#896646, null AS qty#896650]
(58) Project
Arguments: [product#896644, plant#896645, kpis#896646, qty#896650, cast(null as string) AS demandChannel#896651]
(59) Project
Arguments: [product#896644, plant#896645, kpis#896646, qty#896650, demandChannel#896651, cast(null as string) AS demandStream#896652]
(60) Project
Arguments: [product#896644, plant#896645, kpis#896646, cast(qty#896650 as double) AS qty#896671, demandChannel#896651, demandStream#896652]
(61) ExternalRDD
Arguments: [obj#896667]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70383), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70383), 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, 70383), 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, 70383), 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, 70383), 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, 70383), 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#896668, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70384), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70384), 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, 70385), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70385), 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, 70385), 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, 70385), 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, 70386), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70386), 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, 70386), 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, 70386), 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, 70386), 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, 70385), 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, 70384), 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, 70387), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70387), 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, 70387), 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, 70387), 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, 70387), 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, 70384), 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, 70384), 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, 70384), 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, 70388), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70388), 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, 70389), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70389), 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, 70389), 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, 70389), 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, 70389), 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, 70388), 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, 70388), 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, 70384), 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#896669]
(63) Generate
Arguments: explode(prodPlantResults#896669), false, [prodPlantResults#896670]
(64) Project
Arguments: [prodPlantResults#896670]
(65) Generate
Arguments: explode(prodPlantResults#896670.quantityKpiResults), false, [quantityKpiResults#896637]
(66) Project
Arguments: [prodPlantResults#896670.productId AS product#896631, prodPlantResults#896670.plantId AS plant#896632, quantityKpiResults#896637]
(67) Project
Arguments: [product#896631, plant#896632, quantityKpiResults#896637, quantityKpiResults#896637.quantity AS qty#896638]
(68) Project
Arguments: [product#896631, plant#896632, quantityKpiResults#896637, qty#896638, cast(null as string) AS demandChannel#896640]
(69) Project
Arguments: [product#896631, plant#896632, quantityKpiResults#896637, qty#896638, demandChannel#896640, cast(null as string) AS demandStream#896641]
(70) Project
Arguments: [product#896631, plant#896632, quantityKpiResults#896637, qty#896638, demandChannel#896640, demandStream#896641, quantityKpiResults#896637.kpiResults AS kpis#896642]
(71) Project
Arguments: [product#896631, plant#896632, qty#896638, demandChannel#896640, demandStream#896641, kpis#896642]
(72) Project
Arguments: [product#896631, plant#896632, kpis#896642, qty#896638, demandChannel#896640, demandStream#896641]
(73) ExternalRDD
Arguments: [obj#896672]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70383), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70383), 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, 70383), 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, 70383), 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, 70383), 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, 70383), 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#896673, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70384), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70384), 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, 70385), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70385), 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, 70385), 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, 70385), 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, 70386), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70386), 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, 70386), 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, 70386), 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, 70386), 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, 70385), 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, 70384), 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, 70387), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70387), 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, 70387), 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, 70387), 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, 70387), 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, 70384), 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, 70384), 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, 70384), 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, 70388), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70388), 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, 70389), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70389), 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, 70389), 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, 70389), 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, 70389), 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, 70388), 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, 70388), 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, 70384), 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#896674]
(75) Generate
Arguments: explode(prodPlantResults#896674), false, [prodPlantResults#896675]
(76) Project
Arguments: [prodPlantResults#896675]
(77) Generate
Arguments: explode(prodPlantResults#896675.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#896659]
(78) Project
Arguments: [prodPlantResults#896675.productId AS product#896653, prodPlantResults#896675.plantId AS plant#896654, demandChannelStreamKpiResults#896659]
(79) Project
Arguments: [product#896653, plant#896654, demandChannelStreamKpiResults#896659, null AS qty#896660]
(80) Project
Arguments: [product#896653, plant#896654, demandChannelStreamKpiResults#896659, qty#896660, demandChannelStreamKpiResults#896659.demandChannel AS demandChannel#896661]
(81) Project
Arguments: [product#896653, plant#896654, demandChannelStreamKpiResults#896659, qty#896660, demandChannel#896661, demandChannelStreamKpiResults#896659.demandStream AS demandStream#896663]
(82) Project
Arguments: [product#896653, plant#896654, demandChannelStreamKpiResults#896659, qty#896660, demandChannel#896661, demandStream#896663, demandChannelStreamKpiResults#896659.kpiResults AS kpis#896665]
(83) Project
Arguments: [product#896653, plant#896654, qty#896660, demandChannel#896661, demandStream#896663, kpis#896665]
(84) Project
Arguments: [product#896653, plant#896654, kpis#896665, qty#896660, demandChannel#896661, demandStream#896663]
(85) Project
Arguments: [product#896653, plant#896654, kpis#896665, cast(qty#896660 as double) AS qty#896676, demandChannel#896661, demandStream#896663]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#896644, plant#896645, transform(kpis#896646, lambdafunction(struct(label, lambda kpi#896681.label, dateTime, lambda kpi#896681.datetime, value, lambda kpi#896681.value), lambda kpi#896681, false)) AS kpis#896680, qty#896671, demandChannel#896651, demandStream#896652]
(88) Project
Arguments: [product#896644, plant#896645, qty#896671, demandChannel#896651, demandStream#896652, kpis#896680]
(89) LogicalRDD
Arguments: [shardId#897489, worklistShardItemId#897490L, version#897491, product#897492, plant#897493, periodStart#897494, periodEnd#897495, qty#897496], false
(90) RepartitionByExpression
Arguments: [product#897492, plant#897493], 37
(91) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, version#897491, product#897492, plant#897493, qty#897496]
(92) LogicalRDD
Arguments: [shardId#897497, worklistShardItemId#897498L, version#897499, product#897500, plant#897501, periodStart#897502, periodEnd#897503, qty#897504], false
(93) RepartitionByExpression
Arguments: [product#897500, plant#897501], 37
(94) Project
Arguments: [shardId#897497, worklistShardItemId#897498L, version#897499, product#897500, plant#897501, qty#897504]
(95) LogicalRDD
Arguments: [shardId#897505, worklistShardItemId#897506L, qty#897507, demandChannel#897508, demandStream#897509, kpis#897510], false
(96) Project
Arguments: [shardId#897505 AS cachedShardId#897511, worklistShardItemId#897506L AS cachedWorklistShardItemId#897512L, qty#897507 AS cachedQty#897513, demandChannel#897508, demandStream#897509, kpis#897510 AS cachedKpis#897514]
(97) Join
Arguments: Inner, (((worklistShardItemId#897498L = cachedWorklistShardItemId#897512L) AND (shardId#897497 = cachedShardId#897511)) AND ((qty#897504 = cachedQty#897513) OR isnull(qty#897504)))
(98) Project
Arguments: [shardId#897497, worklistShardItemId#897498L, version#897499, product#897500, plant#897501]
(99) Deduplicate
Arguments: [plant#897501, shardId#897497, version#897499, worklistShardItemId#897498L, product#897500]
(100) LogicalRDD
Arguments: [shardId#897515, worklistShardItemId#897516L, qty#897517, demandChannel#897518, demandStream#897519, kpis#897520], false
(101) Project
Arguments: [shardId#897515 AS cachedShardId#897521, worklistShardItemId#897516L AS cachedWorklistShardItemId#897522L, qty#897517 AS cachedQty#897523, demandChannel#897518, demandStream#897519, kpis#897520 AS cachedKpis#897524]
(102) Join
Arguments: Inner, ((worklistShardItemId#897498L = cachedWorklistShardItemId#897522L) AND (shardId#897497 = cachedShardId#897521))
(103) Project
Arguments: [shardId#897497, worklistShardItemId#897498L, version#897499, product#897500, plant#897501, cachedQty#897523 AS qty#897525, demandChannel#897518, demandStream#897519, cachedKpis#897524 AS kpis#897526]
(104) Project
Arguments: [shardId#897497, worklistShardItemId#897498L, version#897499, product#897500, plant#897501, qty#897525]
(105) LogicalRDD
Arguments: [shardId#897527, worklistShardItemId#897528L, version#897529, product#897530, plant#897531, periodStart#897532, periodEnd#897533, qty#897534], false
(106) RepartitionByExpression
Arguments: [product#897530, plant#897531], 37
(107) Project
Arguments: [shardId#897527, worklistShardItemId#897528L, version#897529, product#897530, plant#897531, qty#897534]
(108) LogicalRDD
Arguments: [shardId#897535, worklistShardItemId#897536L, qty#897537, demandChannel#897538, demandStream#897539, kpis#897540], false
(109) Project
Arguments: [shardId#897535 AS cachedShardId#897541, worklistShardItemId#897536L AS cachedWorklistShardItemId#897542L, qty#897537 AS cachedQty#897543, demandChannel#897538, demandStream#897539, kpis#897540 AS cachedKpis#897544]
(110) Join
Arguments: Inner, (((worklistShardItemId#897528L = cachedWorklistShardItemId#897542L) AND (shardId#897527 = cachedShardId#897541)) AND isnull(qty#897534))
(111) Project
Arguments: [shardId#897527, worklistShardItemId#897528L, version#897529, product#897530, plant#897531, qty#897534]
(112) Project
Arguments: [shardId#897527, worklistShardItemId#897528L, version#897529, product#897530, plant#897531, qty#897534]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#897489 <=> shardId#897497) AND (worklistShardItemId#897490L <=> worklistShardItemId#897498L)) AND (version#897491 <=> version#897499)) AND (product#897492 <=> product#897500)) AND (plant#897493 <=> plant#897501)) AND (qty#897496 <=> qty#897525))
(115) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, version#897491, product#897492, plant#897493, qty#897496]
(116) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, version#897491, product#897492, plant#897493, qty#897496, cast(null as string) AS demandChannel#897545]
(117) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, version#897491, product#897492, plant#897493, qty#897496, demandChannel#897545, cast(null as string) AS demandStream#897546]
(118) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, version#897491, product#897492, plant#897493, qty#897496, demandChannel#897545, demandStream#897546, array() AS kpis#897547]
(119) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, version#897491, product#897492, plant#897493, qty#897496, demandChannel#897545, demandStream#897546, kpis#897547, true AS isNewlyCalculated#897548]
(120) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, version#897491, product#897492, plant#897493, qty#897496, demandChannel#897545, demandStream#897546, cast(kpis#897547 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#897549, isNewlyCalculated#897548]
(121) LogicalRDD
Arguments: [shardId#897550, worklistShardItemId#897551L, version#897552, product#897553, plant#897554, periodStart#897555, periodEnd#897556, qty#897557], false
(122) RepartitionByExpression
Arguments: [product#897553, plant#897554], 37
(123) Project
Arguments: [shardId#897550, worklistShardItemId#897551L, version#897552, product#897553, plant#897554, qty#897557]
(124) LogicalRDD
Arguments: [shardId#897558, worklistShardItemId#897559L, qty#897560, demandChannel#897561, demandStream#897562, kpis#897563], false
(125) Project
Arguments: [shardId#897558 AS cachedShardId#897564, worklistShardItemId#897559L AS cachedWorklistShardItemId#897565L, qty#897560 AS cachedQty#897566, demandChannel#897561, demandStream#897562, kpis#897563 AS cachedKpis#897567]
(126) Join
Arguments: Inner, (((worklistShardItemId#897551L = cachedWorklistShardItemId#897565L) AND (shardId#897550 = cachedShardId#897564)) AND ((qty#897557 = cachedQty#897566) OR isnull(qty#897557)))
(127) Project
Arguments: [shardId#897550, worklistShardItemId#897551L, version#897552, product#897553, plant#897554]
(128) Deduplicate
Arguments: [plant#897554, shardId#897550, version#897552, worklistShardItemId#897551L, product#897553]
(129) LogicalRDD
Arguments: [shardId#897568, worklistShardItemId#897569L, qty#897570, demandChannel#897571, demandStream#897572, kpis#897573], false
(130) Project
Arguments: [shardId#897568 AS cachedShardId#897574, worklistShardItemId#897569L AS cachedWorklistShardItemId#897575L, qty#897570 AS cachedQty#897576, demandChannel#897571, demandStream#897572, kpis#897573 AS cachedKpis#897577]
(131) Join
Arguments: Inner, ((worklistShardItemId#897551L = cachedWorklistShardItemId#897575L) AND (shardId#897550 = cachedShardId#897574))
(132) Project
Arguments: [shardId#897550, worklistShardItemId#897551L, version#897552, product#897553, plant#897554, cachedQty#897576 AS qty#897578, demandChannel#897571, demandStream#897572, cachedKpis#897577 AS kpis#897579]
(133) Project
Arguments: [shardId#897550, worklistShardItemId#897551L, version#897552, product#897553, plant#897554, qty#897578, demandChannel#897571, demandStream#897572, kpis#897579, false AS isNewlyCalculated#897580]
(134) Project
Arguments: [shardId#897550, worklistShardItemId#897551L, version#897552, product#897553, plant#897554, qty#897578, demandChannel#897571, demandStream#897572, kpis#897579, isNewlyCalculated#897580]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#897548 <=> true)
(137) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, product#897492, plant#897493, qty#897496, kpis#897549]
(138) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, product#897492, plant#897493, qty#897496]
(139) Deduplicate
Arguments: [plant#897493, shardId#897489, qty#897496, worklistShardItemId#897490L, product#897492]
(140) Join
Arguments: Inner, ((product#896644 <=> product#897492) AND ((plant#896645 <=> plant#897493) AND ((qty#896671 <=> qty#897496) OR isnull(qty#897496))))
(141) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, qty#896671, demandChannel#896651, demandStream#896652, kpis#896680]
(142) Deduplicate
Arguments: [demandChannel#896651, shardId#897489, qty#896671, worklistShardItemId#897490L, demandStream#896652]
(143) Project
Arguments: [shardId#897489, worklistShardItemId#897490L, qty#896671, demandChannel#896651, demandStream#896652, kpis#896680]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583, product#897584, plant#897585, periodStart#897586, periodEnd#897587, qty#897588], false
(146) RepartitionByExpression
Arguments: [product#897584, plant#897585], 37
(147) Project
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583, product#897584, plant#897585, qty#897588]
(148) LogicalRDD
Arguments: [shardId#897589, worklistShardItemId#897590L, version#897591, product#897592, plant#897593, periodStart#897594, periodEnd#897595, qty#897596], false
(149) RepartitionByExpression
Arguments: [product#897592, plant#897593], 37
(150) Project
Arguments: [shardId#897589, worklistShardItemId#897590L, version#897591, product#897592, plant#897593, qty#897596]
(151) LogicalRDD
Arguments: [shardId#897597, worklistShardItemId#897598L, qty#897599, demandChannel#897600, demandStream#897601, kpis#897602], false
(152) Project
Arguments: [shardId#897597 AS cachedShardId#897603, worklistShardItemId#897598L AS cachedWorklistShardItemId#897604L, qty#897599 AS cachedQty#897605, demandChannel#897600, demandStream#897601, kpis#897602 AS cachedKpis#897606]
(153) Join
Arguments: Inner, (((worklistShardItemId#897590L = cachedWorklistShardItemId#897604L) AND (shardId#897589 = cachedShardId#897603)) AND ((qty#897596 = cachedQty#897605) OR isnull(qty#897596)))
(154) Project
Arguments: [shardId#897589, worklistShardItemId#897590L, version#897591, product#897592, plant#897593]
(155) Deduplicate
Arguments: [plant#897593, shardId#897589, version#897591, worklistShardItemId#897590L, product#897592]
(156) LogicalRDD
Arguments: [shardId#897607, worklistShardItemId#897608L, qty#897609, demandChannel#897610, demandStream#897611, kpis#897612], false
(157) Project
Arguments: [shardId#897607 AS cachedShardId#897613, worklistShardItemId#897608L AS cachedWorklistShardItemId#897614L, qty#897609 AS cachedQty#897615, demandChannel#897610, demandStream#897611, kpis#897612 AS cachedKpis#897616]
(158) Join
Arguments: Inner, ((worklistShardItemId#897590L = cachedWorklistShardItemId#897614L) AND (shardId#897589 = cachedShardId#897613))
(159) Project
Arguments: [shardId#897589, worklistShardItemId#897590L, version#897591, product#897592, plant#897593, cachedQty#897615 AS qty#897617, demandChannel#897610, demandStream#897611, cachedKpis#897616 AS kpis#897618]
(160) Project
Arguments: [shardId#897589, worklistShardItemId#897590L, version#897591, product#897592, plant#897593, qty#897617]
(161) LogicalRDD
Arguments: [shardId#897619, worklistShardItemId#897620L, version#897621, product#897622, plant#897623, periodStart#897624, periodEnd#897625, qty#897626], false
(162) RepartitionByExpression
Arguments: [product#897622, plant#897623], 37
(163) Project
Arguments: [shardId#897619, worklistShardItemId#897620L, version#897621, product#897622, plant#897623, qty#897626]
(164) LogicalRDD
Arguments: [shardId#897627, worklistShardItemId#897628L, qty#897629, demandChannel#897630, demandStream#897631, kpis#897632], false
(165) Project
Arguments: [shardId#897627 AS cachedShardId#897633, worklistShardItemId#897628L AS cachedWorklistShardItemId#897634L, qty#897629 AS cachedQty#897635, demandChannel#897630, demandStream#897631, kpis#897632 AS cachedKpis#897636]
(166) Join
Arguments: Inner, (((worklistShardItemId#897620L = cachedWorklistShardItemId#897634L) AND (shardId#897619 = cachedShardId#897633)) AND isnull(qty#897626))
(167) Project
Arguments: [shardId#897619, worklistShardItemId#897620L, version#897621, product#897622, plant#897623, qty#897626]
(168) Project
Arguments: [shardId#897619, worklistShardItemId#897620L, version#897621, product#897622, plant#897623, qty#897626]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#897581 <=> shardId#897589) AND (worklistShardItemId#897582L <=> worklistShardItemId#897590L)) AND (version#897583 <=> version#897591)) AND (product#897584 <=> product#897592)) AND (plant#897585 <=> plant#897593)) AND (qty#897588 <=> qty#897617))
(171) Project
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583, product#897584, plant#897585, qty#897588]
(172) Project
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583, product#897584, plant#897585, qty#897588, cast(null as string) AS demandChannel#897637]
(173) Project
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583, product#897584, plant#897585, qty#897588, demandChannel#897637, cast(null as string) AS demandStream#897638]
(174) Project
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583, product#897584, plant#897585, qty#897588, demandChannel#897637, demandStream#897638, array() AS kpis#897639]
(175) Project
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583, product#897584, plant#897585, qty#897588, demandChannel#897637, demandStream#897638, kpis#897639, true AS isNewlyCalculated#897640]
(176) Project
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583, product#897584, plant#897585, qty#897588, demandChannel#897637, demandStream#897638, cast(kpis#897639 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#897641, isNewlyCalculated#897640]
(177) LogicalRDD
Arguments: [shardId#897642, worklistShardItemId#897643L, version#897644, product#897645, plant#897646, periodStart#897647, periodEnd#897648, qty#897649], false
(178) RepartitionByExpression
Arguments: [product#897645, plant#897646], 37
(179) Project
Arguments: [shardId#897642, worklistShardItemId#897643L, version#897644, product#897645, plant#897646, qty#897649]
(180) LogicalRDD
Arguments: [shardId#897650, worklistShardItemId#897651L, qty#897652, demandChannel#897653, demandStream#897654, kpis#897655], false
(181) Project
Arguments: [shardId#897650 AS cachedShardId#897656, worklistShardItemId#897651L AS cachedWorklistShardItemId#897657L, qty#897652 AS cachedQty#897658, demandChannel#897653, demandStream#897654, kpis#897655 AS cachedKpis#897659]
(182) Join
Arguments: Inner, (((worklistShardItemId#897643L = cachedWorklistShardItemId#897657L) AND (shardId#897642 = cachedShardId#897656)) AND ((qty#897649 = cachedQty#897658) OR isnull(qty#897649)))
(183) Project
Arguments: [shardId#897642, worklistShardItemId#897643L, version#897644, product#897645, plant#897646]
(184) Deduplicate
Arguments: [plant#897646, shardId#897642, version#897644, worklistShardItemId#897643L, product#897645]
(185) LogicalRDD
Arguments: [shardId#897660, worklistShardItemId#897661L, qty#897662, demandChannel#897663, demandStream#897664, kpis#897665], false
(186) Project
Arguments: [shardId#897660 AS cachedShardId#897666, worklistShardItemId#897661L AS cachedWorklistShardItemId#897667L, qty#897662 AS cachedQty#897668, demandChannel#897663, demandStream#897664, kpis#897665 AS cachedKpis#897669]
(187) Join
Arguments: Inner, ((worklistShardItemId#897643L = cachedWorklistShardItemId#897667L) AND (shardId#897642 = cachedShardId#897666))
(188) Project
Arguments: [shardId#897642, worklistShardItemId#897643L, version#897644, product#897645, plant#897646, cachedQty#897668 AS qty#897670, demandChannel#897663, demandStream#897664, cachedKpis#897669 AS kpis#897671]
(189) Project
Arguments: [shardId#897642, worklistShardItemId#897643L, version#897644, product#897645, plant#897646, qty#897670, demandChannel#897663, demandStream#897664, kpis#897671, false AS isNewlyCalculated#897672]
(190) Project
Arguments: [shardId#897642, worklistShardItemId#897643L, version#897644, product#897645, plant#897646, qty#897670, demandChannel#897663, demandStream#897664, kpis#897671, isNewlyCalculated#897672]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#897581, worklistShardItemId#897582L, version#897583]
(193) Aggregate
Arguments: [shardId#897581, worklistShardItemId#897582L], [shardId#897581, worklistShardItemId#897582L, (max(version#897583) + 1) AS version#897484]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#897581) AND (worklistShardItemId#815741L = worklistShardItemId#897582L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#894115, demandStream#894116, kpis#894150, version#897484]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#897484, qty#815747, demandChannel#894115, demandStream#894116, kpis#894150]