== 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@1e9ad4bf, [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#854880, worklistShardItemId#854881L, version#854882, product#854883, plant#854884, periodStart#854885, periodEnd#854886, qty#854887], false
(7) RepartitionByExpression
Arguments: [product#854883, plant#854884], 37
(8) Project
Arguments: [shardId#854880, worklistShardItemId#854881L, version#854882, product#854883, plant#854884, qty#854887]
(9) LogicalRDD
Arguments: [shardId#854635, worklistShardItemId#854636L, qty#854637, demandChannel#854638, demandStream#854639, kpis#854640], false
(10) Project
Arguments: [shardId#854635 AS cachedShardId#854641, worklistShardItemId#854636L AS cachedWorklistShardItemId#854642L, qty#854637 AS cachedQty#854643, demandChannel#854638, demandStream#854639, kpis#854640 AS cachedKpis#854644]
(11) Join
Arguments: Inner, (((worklistShardItemId#854881L = cachedWorklistShardItemId#854642L) AND (shardId#854880 = cachedShardId#854641)) AND ((qty#854887 = cachedQty#854643) OR isnull(qty#854887)))
(12) Project
Arguments: [shardId#854880, worklistShardItemId#854881L, version#854882, product#854883, plant#854884]
(13) Deduplicate
Arguments: [plant#854884, shardId#854880, version#854882, worklistShardItemId#854881L, product#854883]
(14) LogicalRDD
Arguments: [shardId#854645, worklistShardItemId#854646L, qty#854647, demandChannel#854648, demandStream#854649, kpis#854650], false
(15) Project
Arguments: [shardId#854645 AS cachedShardId#854651, worklistShardItemId#854646L AS cachedWorklistShardItemId#854652L, qty#854647 AS cachedQty#854653, demandChannel#854648, demandStream#854649, kpis#854650 AS cachedKpis#854654]
(16) Join
Arguments: Inner, ((worklistShardItemId#854881L = cachedWorklistShardItemId#854652L) AND (shardId#854880 = cachedShardId#854651))
(17) Project
Arguments: [shardId#854880, worklistShardItemId#854881L, version#854882, product#854883, plant#854884, cachedQty#854653 AS qty#854655, demandChannel#854648, demandStream#854649, cachedKpis#854654 AS kpis#854656]
(18) Project
Arguments: [shardId#854880, worklistShardItemId#854881L, version#854882, product#854883, plant#854884, qty#854655]
(19) LogicalRDD
Arguments: [shardId#854862, worklistShardItemId#854863L, version#854864, product#854865, plant#854866, periodStart#854867, periodEnd#854868, qty#854869], false
(20) RepartitionByExpression
Arguments: [product#854865, plant#854866], 37
(21) Project
Arguments: [shardId#854862, worklistShardItemId#854863L, version#854864, product#854865, plant#854866, qty#854869]
(22) LogicalRDD
Arguments: [shardId#854870, worklistShardItemId#854871L, qty#854872, demandChannel#854873, demandStream#854874, kpis#854875], false
(23) Project
Arguments: [shardId#854870 AS cachedShardId#854876, worklistShardItemId#854871L AS cachedWorklistShardItemId#854877L, qty#854872 AS cachedQty#854878, demandChannel#854873, demandStream#854874, kpis#854875 AS cachedKpis#854879]
(24) Join
Arguments: Inner, (((worklistShardItemId#854863L = cachedWorklistShardItemId#854877L) AND (shardId#854862 = cachedShardId#854876)) AND isnull(qty#854869))
(25) Project
Arguments: [shardId#854862, worklistShardItemId#854863L, version#854864, product#854865, plant#854866, qty#854869]
(26) Project
Arguments: [shardId#854862, worklistShardItemId#854863L, version#854864, product#854865, plant#854866, qty#854869]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#854880) AND (worklistShardItemId#815741L <=> worklistShardItemId#854881L)) AND (version#815742 <=> version#854882)) AND (product#815743 <=> product#854883)) AND (plant#815744 <=> plant#854884)) AND (qty#815747 <=> qty#854655))
(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#854888]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#854888, cast(null as string) AS demandStream#854889]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#854888, demandStream#854889, array() AS kpis#854890]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#854888, demandStream#854889, kpis#854890, true AS isNewlyCalculated#854891]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#854888, demandStream#854889, cast(kpis#854890 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#854923, isNewlyCalculated#854891]
(35) LogicalRDD
Arguments: [shardId#854893, worklistShardItemId#854894L, version#854895, product#854896, plant#854897, periodStart#854898, periodEnd#854899, qty#854900], false
(36) RepartitionByExpression
Arguments: [product#854896, plant#854897], 37
(37) Project
Arguments: [shardId#854893, worklistShardItemId#854894L, version#854895, product#854896, plant#854897, qty#854900]
(38) LogicalRDD
Arguments: [shardId#854901, worklistShardItemId#854902L, qty#854903, demandChannel#854904, demandStream#854905, kpis#854906], false
(39) Project
Arguments: [shardId#854901 AS cachedShardId#854907, worklistShardItemId#854902L AS cachedWorklistShardItemId#854908L, qty#854903 AS cachedQty#854909, demandChannel#854904, demandStream#854905, kpis#854906 AS cachedKpis#854910]
(40) Join
Arguments: Inner, (((worklistShardItemId#854894L = cachedWorklistShardItemId#854908L) AND (shardId#854893 = cachedShardId#854907)) AND ((qty#854900 = cachedQty#854909) OR isnull(qty#854900)))
(41) Project
Arguments: [shardId#854893, worklistShardItemId#854894L, version#854895, product#854896, plant#854897]
(42) Deduplicate
Arguments: [plant#854897, shardId#854893, version#854895, worklistShardItemId#854894L, product#854896]
(43) LogicalRDD
Arguments: [shardId#854911, worklistShardItemId#854912L, qty#854913, demandChannel#854914, demandStream#854915, kpis#854916], false
(44) Project
Arguments: [shardId#854911 AS cachedShardId#854917, worklistShardItemId#854912L AS cachedWorklistShardItemId#854918L, qty#854913 AS cachedQty#854919, demandChannel#854914, demandStream#854915, kpis#854916 AS cachedKpis#854920]
(45) Join
Arguments: Inner, ((worklistShardItemId#854894L = cachedWorklistShardItemId#854918L) AND (shardId#854893 = cachedShardId#854917))
(46) Project
Arguments: [shardId#854893, worklistShardItemId#854894L, version#854895, product#854896, plant#854897, cachedQty#854919 AS qty#854921, demandChannel#854914, demandStream#854915, cachedKpis#854920 AS kpis#854922]
(47) Project
Arguments: [shardId#854893, worklistShardItemId#854894L, version#854895, product#854896, plant#854897, qty#854921, demandChannel#854914, demandStream#854915, kpis#854922, false AS isNewlyCalculated#854892]
(48) Project
Arguments: [shardId#854893, worklistShardItemId#854894L, version#854895, product#854896, plant#854897, qty#854921, demandChannel#854914, demandStream#854915, kpis#854922, isNewlyCalculated#854892]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#854891 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#854888, demandStream#854889, kpis#854923]
(52) ExternalRDD
Arguments: [obj#857387]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67831), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67831), 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, 67831), 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, 67831), 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, 67831), 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, 67831), 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#857390, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67832), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67832), 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, 67833), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67833), 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, 67833), 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, 67833), 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, 67834), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67834), 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, 67834), 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, 67834), 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, 67834), 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, 67833), 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, 67832), 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, 67835), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67835), 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, 67835), 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, 67835), 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, 67835), 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, 67832), 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, 67832), 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, 67832), 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, 67836), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67836), 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, 67837), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67837), 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, 67837), 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, 67837), 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, 67837), 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, 67836), 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, 67836), 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, 67832), 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#857391]
(54) Generate
Arguments: explode(prodPlantResults#857391), false, [prodPlantResults#857398]
(55) Project
Arguments: [prodPlantResults#857398]
(56) Project
Arguments: [prodPlantResults#857398.productId AS product#857417, prodPlantResults#857398.plantId AS plant#857418, prodPlantResults#857398.kpiResults AS kpis#857419]
(57) Project
Arguments: [product#857417, plant#857418, kpis#857419, null AS qty#857423]
(58) Project
Arguments: [product#857417, plant#857418, kpis#857419, qty#857423, cast(null as string) AS demandChannel#857424]
(59) Project
Arguments: [product#857417, plant#857418, kpis#857419, qty#857423, demandChannel#857424, cast(null as string) AS demandStream#857425]
(60) Project
Arguments: [product#857417, plant#857418, kpis#857419, cast(qty#857423 as double) AS qty#857444, demandChannel#857424, demandStream#857425]
(61) ExternalRDD
Arguments: [obj#857440]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67831), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67831), 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, 67831), 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, 67831), 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, 67831), 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, 67831), 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#857441, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67832), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67832), 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, 67833), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67833), 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, 67833), 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, 67833), 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, 67834), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67834), 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, 67834), 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, 67834), 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, 67834), 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, 67833), 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, 67832), 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, 67835), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67835), 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, 67835), 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, 67835), 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, 67835), 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, 67832), 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, 67832), 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, 67832), 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, 67836), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67836), 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, 67837), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67837), 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, 67837), 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, 67837), 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, 67837), 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, 67836), 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, 67836), 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, 67832), 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#857442]
(63) Generate
Arguments: explode(prodPlantResults#857442), false, [prodPlantResults#857443]
(64) Project
Arguments: [prodPlantResults#857443]
(65) Generate
Arguments: explode(prodPlantResults#857443.quantityKpiResults), false, [quantityKpiResults#857410]
(66) Project
Arguments: [prodPlantResults#857443.productId AS product#857404, prodPlantResults#857443.plantId AS plant#857405, quantityKpiResults#857410]
(67) Project
Arguments: [product#857404, plant#857405, quantityKpiResults#857410, quantityKpiResults#857410.quantity AS qty#857411]
(68) Project
Arguments: [product#857404, plant#857405, quantityKpiResults#857410, qty#857411, cast(null as string) AS demandChannel#857413]
(69) Project
Arguments: [product#857404, plant#857405, quantityKpiResults#857410, qty#857411, demandChannel#857413, cast(null as string) AS demandStream#857414]
(70) Project
Arguments: [product#857404, plant#857405, quantityKpiResults#857410, qty#857411, demandChannel#857413, demandStream#857414, quantityKpiResults#857410.kpiResults AS kpis#857415]
(71) Project
Arguments: [product#857404, plant#857405, qty#857411, demandChannel#857413, demandStream#857414, kpis#857415]
(72) Project
Arguments: [product#857404, plant#857405, kpis#857415, qty#857411, demandChannel#857413, demandStream#857414]
(73) ExternalRDD
Arguments: [obj#857445]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67831), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67831), 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, 67831), 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, 67831), 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, 67831), 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, 67831), 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#857446, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67832), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67832), 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, 67833), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67833), 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, 67833), 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, 67833), 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, 67834), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67834), 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, 67834), 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, 67834), 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, 67834), 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, 67833), 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, 67832), 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, 67835), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67835), 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, 67835), 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, 67835), 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, 67835), 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, 67832), 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, 67832), 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, 67832), 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, 67836), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67836), 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, 67837), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 67837), 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, 67837), 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, 67837), 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, 67837), 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, 67836), 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, 67836), 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, 67832), 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#857447]
(75) Generate
Arguments: explode(prodPlantResults#857447), false, [prodPlantResults#857448]
(76) Project
Arguments: [prodPlantResults#857448]
(77) Generate
Arguments: explode(prodPlantResults#857448.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#857432]
(78) Project
Arguments: [prodPlantResults#857448.productId AS product#857426, prodPlantResults#857448.plantId AS plant#857427, demandChannelStreamKpiResults#857432]
(79) Project
Arguments: [product#857426, plant#857427, demandChannelStreamKpiResults#857432, null AS qty#857433]
(80) Project
Arguments: [product#857426, plant#857427, demandChannelStreamKpiResults#857432, qty#857433, demandChannelStreamKpiResults#857432.demandChannel AS demandChannel#857434]
(81) Project
Arguments: [product#857426, plant#857427, demandChannelStreamKpiResults#857432, qty#857433, demandChannel#857434, demandChannelStreamKpiResults#857432.demandStream AS demandStream#857436]
(82) Project
Arguments: [product#857426, plant#857427, demandChannelStreamKpiResults#857432, qty#857433, demandChannel#857434, demandStream#857436, demandChannelStreamKpiResults#857432.kpiResults AS kpis#857438]
(83) Project
Arguments: [product#857426, plant#857427, qty#857433, demandChannel#857434, demandStream#857436, kpis#857438]
(84) Project
Arguments: [product#857426, plant#857427, kpis#857438, qty#857433, demandChannel#857434, demandStream#857436]
(85) Project
Arguments: [product#857426, plant#857427, kpis#857438, cast(qty#857433 as double) AS qty#857449, demandChannel#857434, demandStream#857436]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#857417, plant#857418, transform(kpis#857419, lambdafunction(struct(label, lambda kpi#857454.label, dateTime, lambda kpi#857454.datetime, value, lambda kpi#857454.value), lambda kpi#857454, false)) AS kpis#857453, qty#857444, demandChannel#857424, demandStream#857425]
(88) Project
Arguments: [product#857417, plant#857418, qty#857444, demandChannel#857424, demandStream#857425, kpis#857453]
(89) LogicalRDD
Arguments: [shardId#858262, worklistShardItemId#858263L, version#858264, product#858265, plant#858266, periodStart#858267, periodEnd#858268, qty#858269], false
(90) RepartitionByExpression
Arguments: [product#858265, plant#858266], 37
(91) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, version#858264, product#858265, plant#858266, qty#858269]
(92) LogicalRDD
Arguments: [shardId#858270, worklistShardItemId#858271L, version#858272, product#858273, plant#858274, periodStart#858275, periodEnd#858276, qty#858277], false
(93) RepartitionByExpression
Arguments: [product#858273, plant#858274], 37
(94) Project
Arguments: [shardId#858270, worklistShardItemId#858271L, version#858272, product#858273, plant#858274, qty#858277]
(95) LogicalRDD
Arguments: [shardId#858278, worklistShardItemId#858279L, qty#858280, demandChannel#858281, demandStream#858282, kpis#858283], false
(96) Project
Arguments: [shardId#858278 AS cachedShardId#858284, worklistShardItemId#858279L AS cachedWorklistShardItemId#858285L, qty#858280 AS cachedQty#858286, demandChannel#858281, demandStream#858282, kpis#858283 AS cachedKpis#858287]
(97) Join
Arguments: Inner, (((worklistShardItemId#858271L = cachedWorklistShardItemId#858285L) AND (shardId#858270 = cachedShardId#858284)) AND ((qty#858277 = cachedQty#858286) OR isnull(qty#858277)))
(98) Project
Arguments: [shardId#858270, worklistShardItemId#858271L, version#858272, product#858273, plant#858274]
(99) Deduplicate
Arguments: [plant#858274, shardId#858270, version#858272, worklistShardItemId#858271L, product#858273]
(100) LogicalRDD
Arguments: [shardId#858288, worklistShardItemId#858289L, qty#858290, demandChannel#858291, demandStream#858292, kpis#858293], false
(101) Project
Arguments: [shardId#858288 AS cachedShardId#858294, worklistShardItemId#858289L AS cachedWorklistShardItemId#858295L, qty#858290 AS cachedQty#858296, demandChannel#858291, demandStream#858292, kpis#858293 AS cachedKpis#858297]
(102) Join
Arguments: Inner, ((worklistShardItemId#858271L = cachedWorklistShardItemId#858295L) AND (shardId#858270 = cachedShardId#858294))
(103) Project
Arguments: [shardId#858270, worklistShardItemId#858271L, version#858272, product#858273, plant#858274, cachedQty#858296 AS qty#858298, demandChannel#858291, demandStream#858292, cachedKpis#858297 AS kpis#858299]
(104) Project
Arguments: [shardId#858270, worklistShardItemId#858271L, version#858272, product#858273, plant#858274, qty#858298]
(105) LogicalRDD
Arguments: [shardId#858300, worklistShardItemId#858301L, version#858302, product#858303, plant#858304, periodStart#858305, periodEnd#858306, qty#858307], false
(106) RepartitionByExpression
Arguments: [product#858303, plant#858304], 37
(107) Project
Arguments: [shardId#858300, worklistShardItemId#858301L, version#858302, product#858303, plant#858304, qty#858307]
(108) LogicalRDD
Arguments: [shardId#858308, worklistShardItemId#858309L, qty#858310, demandChannel#858311, demandStream#858312, kpis#858313], false
(109) Project
Arguments: [shardId#858308 AS cachedShardId#858314, worklistShardItemId#858309L AS cachedWorklistShardItemId#858315L, qty#858310 AS cachedQty#858316, demandChannel#858311, demandStream#858312, kpis#858313 AS cachedKpis#858317]
(110) Join
Arguments: Inner, (((worklistShardItemId#858301L = cachedWorklistShardItemId#858315L) AND (shardId#858300 = cachedShardId#858314)) AND isnull(qty#858307))
(111) Project
Arguments: [shardId#858300, worklistShardItemId#858301L, version#858302, product#858303, plant#858304, qty#858307]
(112) Project
Arguments: [shardId#858300, worklistShardItemId#858301L, version#858302, product#858303, plant#858304, qty#858307]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#858262 <=> shardId#858270) AND (worklistShardItemId#858263L <=> worklistShardItemId#858271L)) AND (version#858264 <=> version#858272)) AND (product#858265 <=> product#858273)) AND (plant#858266 <=> plant#858274)) AND (qty#858269 <=> qty#858298))
(115) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, version#858264, product#858265, plant#858266, qty#858269]
(116) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, version#858264, product#858265, plant#858266, qty#858269, cast(null as string) AS demandChannel#858318]
(117) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, version#858264, product#858265, plant#858266, qty#858269, demandChannel#858318, cast(null as string) AS demandStream#858319]
(118) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, version#858264, product#858265, plant#858266, qty#858269, demandChannel#858318, demandStream#858319, array() AS kpis#858320]
(119) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, version#858264, product#858265, plant#858266, qty#858269, demandChannel#858318, demandStream#858319, kpis#858320, true AS isNewlyCalculated#858321]
(120) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, version#858264, product#858265, plant#858266, qty#858269, demandChannel#858318, demandStream#858319, cast(kpis#858320 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#858322, isNewlyCalculated#858321]
(121) LogicalRDD
Arguments: [shardId#858323, worklistShardItemId#858324L, version#858325, product#858326, plant#858327, periodStart#858328, periodEnd#858329, qty#858330], false
(122) RepartitionByExpression
Arguments: [product#858326, plant#858327], 37
(123) Project
Arguments: [shardId#858323, worklistShardItemId#858324L, version#858325, product#858326, plant#858327, qty#858330]
(124) LogicalRDD
Arguments: [shardId#858331, worklistShardItemId#858332L, qty#858333, demandChannel#858334, demandStream#858335, kpis#858336], false
(125) Project
Arguments: [shardId#858331 AS cachedShardId#858337, worklistShardItemId#858332L AS cachedWorklistShardItemId#858338L, qty#858333 AS cachedQty#858339, demandChannel#858334, demandStream#858335, kpis#858336 AS cachedKpis#858340]
(126) Join
Arguments: Inner, (((worklistShardItemId#858324L = cachedWorklistShardItemId#858338L) AND (shardId#858323 = cachedShardId#858337)) AND ((qty#858330 = cachedQty#858339) OR isnull(qty#858330)))
(127) Project
Arguments: [shardId#858323, worklistShardItemId#858324L, version#858325, product#858326, plant#858327]
(128) Deduplicate
Arguments: [plant#858327, shardId#858323, version#858325, worklistShardItemId#858324L, product#858326]
(129) LogicalRDD
Arguments: [shardId#858341, worklistShardItemId#858342L, qty#858343, demandChannel#858344, demandStream#858345, kpis#858346], false
(130) Project
Arguments: [shardId#858341 AS cachedShardId#858347, worklistShardItemId#858342L AS cachedWorklistShardItemId#858348L, qty#858343 AS cachedQty#858349, demandChannel#858344, demandStream#858345, kpis#858346 AS cachedKpis#858350]
(131) Join
Arguments: Inner, ((worklistShardItemId#858324L = cachedWorklistShardItemId#858348L) AND (shardId#858323 = cachedShardId#858347))
(132) Project
Arguments: [shardId#858323, worklistShardItemId#858324L, version#858325, product#858326, plant#858327, cachedQty#858349 AS qty#858351, demandChannel#858344, demandStream#858345, cachedKpis#858350 AS kpis#858352]
(133) Project
Arguments: [shardId#858323, worklistShardItemId#858324L, version#858325, product#858326, plant#858327, qty#858351, demandChannel#858344, demandStream#858345, kpis#858352, false AS isNewlyCalculated#858353]
(134) Project
Arguments: [shardId#858323, worklistShardItemId#858324L, version#858325, product#858326, plant#858327, qty#858351, demandChannel#858344, demandStream#858345, kpis#858352, isNewlyCalculated#858353]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#858321 <=> true)
(137) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, product#858265, plant#858266, qty#858269, kpis#858322]
(138) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, product#858265, plant#858266, qty#858269]
(139) Deduplicate
Arguments: [plant#858266, shardId#858262, qty#858269, worklistShardItemId#858263L, product#858265]
(140) Join
Arguments: Inner, ((product#857417 <=> product#858265) AND ((plant#857418 <=> plant#858266) AND ((qty#857444 <=> qty#858269) OR isnull(qty#858269))))
(141) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, qty#857444, demandChannel#857424, demandStream#857425, kpis#857453]
(142) Deduplicate
Arguments: [demandChannel#857424, shardId#858262, qty#857444, worklistShardItemId#858263L, demandStream#857425]
(143) Project
Arguments: [shardId#858262, worklistShardItemId#858263L, qty#857444, demandChannel#857424, demandStream#857425, kpis#857453]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356, product#858357, plant#858358, periodStart#858359, periodEnd#858360, qty#858361], false
(146) RepartitionByExpression
Arguments: [product#858357, plant#858358], 37
(147) Project
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356, product#858357, plant#858358, qty#858361]
(148) LogicalRDD
Arguments: [shardId#858362, worklistShardItemId#858363L, version#858364, product#858365, plant#858366, periodStart#858367, periodEnd#858368, qty#858369], false
(149) RepartitionByExpression
Arguments: [product#858365, plant#858366], 37
(150) Project
Arguments: [shardId#858362, worklistShardItemId#858363L, version#858364, product#858365, plant#858366, qty#858369]
(151) LogicalRDD
Arguments: [shardId#858370, worklistShardItemId#858371L, qty#858372, demandChannel#858373, demandStream#858374, kpis#858375], false
(152) Project
Arguments: [shardId#858370 AS cachedShardId#858376, worklistShardItemId#858371L AS cachedWorklistShardItemId#858377L, qty#858372 AS cachedQty#858378, demandChannel#858373, demandStream#858374, kpis#858375 AS cachedKpis#858379]
(153) Join
Arguments: Inner, (((worklistShardItemId#858363L = cachedWorklistShardItemId#858377L) AND (shardId#858362 = cachedShardId#858376)) AND ((qty#858369 = cachedQty#858378) OR isnull(qty#858369)))
(154) Project
Arguments: [shardId#858362, worklistShardItemId#858363L, version#858364, product#858365, plant#858366]
(155) Deduplicate
Arguments: [plant#858366, shardId#858362, version#858364, worklistShardItemId#858363L, product#858365]
(156) LogicalRDD
Arguments: [shardId#858380, worklistShardItemId#858381L, qty#858382, demandChannel#858383, demandStream#858384, kpis#858385], false
(157) Project
Arguments: [shardId#858380 AS cachedShardId#858386, worklistShardItemId#858381L AS cachedWorklistShardItemId#858387L, qty#858382 AS cachedQty#858388, demandChannel#858383, demandStream#858384, kpis#858385 AS cachedKpis#858389]
(158) Join
Arguments: Inner, ((worklistShardItemId#858363L = cachedWorklistShardItemId#858387L) AND (shardId#858362 = cachedShardId#858386))
(159) Project
Arguments: [shardId#858362, worklistShardItemId#858363L, version#858364, product#858365, plant#858366, cachedQty#858388 AS qty#858390, demandChannel#858383, demandStream#858384, cachedKpis#858389 AS kpis#858391]
(160) Project
Arguments: [shardId#858362, worklistShardItemId#858363L, version#858364, product#858365, plant#858366, qty#858390]
(161) LogicalRDD
Arguments: [shardId#858392, worklistShardItemId#858393L, version#858394, product#858395, plant#858396, periodStart#858397, periodEnd#858398, qty#858399], false
(162) RepartitionByExpression
Arguments: [product#858395, plant#858396], 37
(163) Project
Arguments: [shardId#858392, worklistShardItemId#858393L, version#858394, product#858395, plant#858396, qty#858399]
(164) LogicalRDD
Arguments: [shardId#858400, worklistShardItemId#858401L, qty#858402, demandChannel#858403, demandStream#858404, kpis#858405], false
(165) Project
Arguments: [shardId#858400 AS cachedShardId#858406, worklistShardItemId#858401L AS cachedWorklistShardItemId#858407L, qty#858402 AS cachedQty#858408, demandChannel#858403, demandStream#858404, kpis#858405 AS cachedKpis#858409]
(166) Join
Arguments: Inner, (((worklistShardItemId#858393L = cachedWorklistShardItemId#858407L) AND (shardId#858392 = cachedShardId#858406)) AND isnull(qty#858399))
(167) Project
Arguments: [shardId#858392, worklistShardItemId#858393L, version#858394, product#858395, plant#858396, qty#858399]
(168) Project
Arguments: [shardId#858392, worklistShardItemId#858393L, version#858394, product#858395, plant#858396, qty#858399]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#858354 <=> shardId#858362) AND (worklistShardItemId#858355L <=> worklistShardItemId#858363L)) AND (version#858356 <=> version#858364)) AND (product#858357 <=> product#858365)) AND (plant#858358 <=> plant#858366)) AND (qty#858361 <=> qty#858390))
(171) Project
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356, product#858357, plant#858358, qty#858361]
(172) Project
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356, product#858357, plant#858358, qty#858361, cast(null as string) AS demandChannel#858410]
(173) Project
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356, product#858357, plant#858358, qty#858361, demandChannel#858410, cast(null as string) AS demandStream#858411]
(174) Project
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356, product#858357, plant#858358, qty#858361, demandChannel#858410, demandStream#858411, array() AS kpis#858412]
(175) Project
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356, product#858357, plant#858358, qty#858361, demandChannel#858410, demandStream#858411, kpis#858412, true AS isNewlyCalculated#858413]
(176) Project
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356, product#858357, plant#858358, qty#858361, demandChannel#858410, demandStream#858411, cast(kpis#858412 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#858414, isNewlyCalculated#858413]
(177) LogicalRDD
Arguments: [shardId#858415, worklistShardItemId#858416L, version#858417, product#858418, plant#858419, periodStart#858420, periodEnd#858421, qty#858422], false
(178) RepartitionByExpression
Arguments: [product#858418, plant#858419], 37
(179) Project
Arguments: [shardId#858415, worklistShardItemId#858416L, version#858417, product#858418, plant#858419, qty#858422]
(180) LogicalRDD
Arguments: [shardId#858423, worklistShardItemId#858424L, qty#858425, demandChannel#858426, demandStream#858427, kpis#858428], false
(181) Project
Arguments: [shardId#858423 AS cachedShardId#858429, worklistShardItemId#858424L AS cachedWorklistShardItemId#858430L, qty#858425 AS cachedQty#858431, demandChannel#858426, demandStream#858427, kpis#858428 AS cachedKpis#858432]
(182) Join
Arguments: Inner, (((worklistShardItemId#858416L = cachedWorklistShardItemId#858430L) AND (shardId#858415 = cachedShardId#858429)) AND ((qty#858422 = cachedQty#858431) OR isnull(qty#858422)))
(183) Project
Arguments: [shardId#858415, worklistShardItemId#858416L, version#858417, product#858418, plant#858419]
(184) Deduplicate
Arguments: [plant#858419, shardId#858415, version#858417, worklistShardItemId#858416L, product#858418]
(185) LogicalRDD
Arguments: [shardId#858433, worklistShardItemId#858434L, qty#858435, demandChannel#858436, demandStream#858437, kpis#858438], false
(186) Project
Arguments: [shardId#858433 AS cachedShardId#858439, worklistShardItemId#858434L AS cachedWorklistShardItemId#858440L, qty#858435 AS cachedQty#858441, demandChannel#858436, demandStream#858437, kpis#858438 AS cachedKpis#858442]
(187) Join
Arguments: Inner, ((worklistShardItemId#858416L = cachedWorklistShardItemId#858440L) AND (shardId#858415 = cachedShardId#858439))
(188) Project
Arguments: [shardId#858415, worklistShardItemId#858416L, version#858417, product#858418, plant#858419, cachedQty#858441 AS qty#858443, demandChannel#858436, demandStream#858437, cachedKpis#858442 AS kpis#858444]
(189) Project
Arguments: [shardId#858415, worklistShardItemId#858416L, version#858417, product#858418, plant#858419, qty#858443, demandChannel#858436, demandStream#858437, kpis#858444, false AS isNewlyCalculated#858445]
(190) Project
Arguments: [shardId#858415, worklistShardItemId#858416L, version#858417, product#858418, plant#858419, qty#858443, demandChannel#858436, demandStream#858437, kpis#858444, isNewlyCalculated#858445]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#858354, worklistShardItemId#858355L, version#858356]
(193) Aggregate
Arguments: [shardId#858354, worklistShardItemId#858355L], [shardId#858354, worklistShardItemId#858355L, (max(version#858356) + 1) AS version#858257]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#858354) AND (worklistShardItemId#815741L = worklistShardItemId#858355L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#854888, demandStream#854889, kpis#854923, version#858257]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#858257, qty#815747, demandChannel#854888, demandStream#854889, kpis#854923]