== 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@219e5d50, [path=hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000000350/stream-10000000350-1], Append
(3) LogicalRDD
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, periodStart#1100462, periodEnd#1100463, qty#1100464], false
(4) RepartitionByExpression
Arguments: [product#1100460, plant#1100461], 37
(5) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464]
(6) LogicalRDD
Arguments: [shardId#1134229, worklistShardItemId#1134230L, version#1134231, product#1134232, plant#1134233, periodStart#1134234, periodEnd#1134235, qty#1134236], false
(7) RepartitionByExpression
Arguments: [product#1134232, plant#1134233], 37
(8) Project
Arguments: [shardId#1134229, worklistShardItemId#1134230L, version#1134231, product#1134232, plant#1134233, qty#1134236]
(9) LogicalRDD
Arguments: [shardId#1133984, worklistShardItemId#1133985L, qty#1133986, demandChannel#1133987, demandStream#1133988, kpis#1133989], false
(10) Project
Arguments: [shardId#1133984 AS cachedShardId#1133990, worklistShardItemId#1133985L AS cachedWorklistShardItemId#1133991L, qty#1133986 AS cachedQty#1133992, demandChannel#1133987, demandStream#1133988, kpis#1133989 AS cachedKpis#1133993]
(11) Join
Arguments: Inner, (((worklistShardItemId#1134230L = cachedWorklistShardItemId#1133991L) AND (shardId#1134229 = cachedShardId#1133990)) AND ((qty#1134236 = cachedQty#1133992) OR isnull(qty#1134236)))
(12) Project
Arguments: [shardId#1134229, worklistShardItemId#1134230L, version#1134231, product#1134232, plant#1134233]
(13) Deduplicate
Arguments: [plant#1134233, shardId#1134229, version#1134231, worklistShardItemId#1134230L, product#1134232]
(14) LogicalRDD
Arguments: [shardId#1133994, worklistShardItemId#1133995L, qty#1133996, demandChannel#1133997, demandStream#1133998, kpis#1133999], false
(15) Project
Arguments: [shardId#1133994 AS cachedShardId#1134000, worklistShardItemId#1133995L AS cachedWorklistShardItemId#1134001L, qty#1133996 AS cachedQty#1134002, demandChannel#1133997, demandStream#1133998, kpis#1133999 AS cachedKpis#1134003]
(16) Join
Arguments: Inner, ((worklistShardItemId#1134230L = cachedWorklistShardItemId#1134001L) AND (shardId#1134229 = cachedShardId#1134000))
(17) Project
Arguments: [shardId#1134229, worklistShardItemId#1134230L, version#1134231, product#1134232, plant#1134233, cachedQty#1134002 AS qty#1134004, demandChannel#1133997, demandStream#1133998, cachedKpis#1134003 AS kpis#1134005]
(18) Project
Arguments: [shardId#1134229, worklistShardItemId#1134230L, version#1134231, product#1134232, plant#1134233, qty#1134004]
(19) LogicalRDD
Arguments: [shardId#1134211, worklistShardItemId#1134212L, version#1134213, product#1134214, plant#1134215, periodStart#1134216, periodEnd#1134217, qty#1134218], false
(20) RepartitionByExpression
Arguments: [product#1134214, plant#1134215], 37
(21) Project
Arguments: [shardId#1134211, worklistShardItemId#1134212L, version#1134213, product#1134214, plant#1134215, qty#1134218]
(22) LogicalRDD
Arguments: [shardId#1134219, worklistShardItemId#1134220L, qty#1134221, demandChannel#1134222, demandStream#1134223, kpis#1134224], false
(23) Project
Arguments: [shardId#1134219 AS cachedShardId#1134225, worklistShardItemId#1134220L AS cachedWorklistShardItemId#1134226L, qty#1134221 AS cachedQty#1134227, demandChannel#1134222, demandStream#1134223, kpis#1134224 AS cachedKpis#1134228]
(24) Join
Arguments: Inner, (((worklistShardItemId#1134212L = cachedWorklistShardItemId#1134226L) AND (shardId#1134211 = cachedShardId#1134225)) AND isnull(qty#1134218))
(25) Project
Arguments: [shardId#1134211, worklistShardItemId#1134212L, version#1134213, product#1134214, plant#1134215, qty#1134218]
(26) Project
Arguments: [shardId#1134211, worklistShardItemId#1134212L, version#1134213, product#1134214, plant#1134215, qty#1134218]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#1100457 <=> shardId#1134229) AND (worklistShardItemId#1100458L <=> worklistShardItemId#1134230L)) AND (version#1100459 <=> version#1134231)) AND (product#1100460 <=> product#1134232)) AND (plant#1100461 <=> plant#1134233)) AND (qty#1100464 <=> qty#1134004))
(29) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464]
(30) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, cast(null as string) AS demandChannel#1134237]
(31) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1134237, cast(null as string) AS demandStream#1134238]
(32) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1134237, demandStream#1134238, array() AS kpis#1134239]
(33) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1134237, demandStream#1134238, kpis#1134239, true AS isNewlyCalculated#1134240]
(34) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1100459, product#1100460, plant#1100461, qty#1100464, demandChannel#1134237, demandStream#1134238, cast(kpis#1134239 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1134272, isNewlyCalculated#1134240]
(35) LogicalRDD
Arguments: [shardId#1134242, worklistShardItemId#1134243L, version#1134244, product#1134245, plant#1134246, periodStart#1134247, periodEnd#1134248, qty#1134249], false
(36) RepartitionByExpression
Arguments: [product#1134245, plant#1134246], 37
(37) Project
Arguments: [shardId#1134242, worklistShardItemId#1134243L, version#1134244, product#1134245, plant#1134246, qty#1134249]
(38) LogicalRDD
Arguments: [shardId#1134250, worklistShardItemId#1134251L, qty#1134252, demandChannel#1134253, demandStream#1134254, kpis#1134255], false
(39) Project
Arguments: [shardId#1134250 AS cachedShardId#1134256, worklistShardItemId#1134251L AS cachedWorklistShardItemId#1134257L, qty#1134252 AS cachedQty#1134258, demandChannel#1134253, demandStream#1134254, kpis#1134255 AS cachedKpis#1134259]
(40) Join
Arguments: Inner, (((worklistShardItemId#1134243L = cachedWorklistShardItemId#1134257L) AND (shardId#1134242 = cachedShardId#1134256)) AND ((qty#1134249 = cachedQty#1134258) OR isnull(qty#1134249)))
(41) Project
Arguments: [shardId#1134242, worklistShardItemId#1134243L, version#1134244, product#1134245, plant#1134246]
(42) Deduplicate
Arguments: [plant#1134246, shardId#1134242, version#1134244, worklistShardItemId#1134243L, product#1134245]
(43) LogicalRDD
Arguments: [shardId#1134260, worklistShardItemId#1134261L, qty#1134262, demandChannel#1134263, demandStream#1134264, kpis#1134265], false
(44) Project
Arguments: [shardId#1134260 AS cachedShardId#1134266, worklistShardItemId#1134261L AS cachedWorklistShardItemId#1134267L, qty#1134262 AS cachedQty#1134268, demandChannel#1134263, demandStream#1134264, kpis#1134265 AS cachedKpis#1134269]
(45) Join
Arguments: Inner, ((worklistShardItemId#1134243L = cachedWorklistShardItemId#1134267L) AND (shardId#1134242 = cachedShardId#1134266))
(46) Project
Arguments: [shardId#1134242, worklistShardItemId#1134243L, version#1134244, product#1134245, plant#1134246, cachedQty#1134268 AS qty#1134270, demandChannel#1134263, demandStream#1134264, cachedKpis#1134269 AS kpis#1134271]
(47) Project
Arguments: [shardId#1134242, worklistShardItemId#1134243L, version#1134244, product#1134245, plant#1134246, qty#1134270, demandChannel#1134263, demandStream#1134264, kpis#1134271, false AS isNewlyCalculated#1134241]
(48) Project
Arguments: [shardId#1134242, worklistShardItemId#1134243L, version#1134244, product#1134245, plant#1134246, qty#1134270, demandChannel#1134263, demandStream#1134264, kpis#1134271, isNewlyCalculated#1134241]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#1134240 <=> false)
(51) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, qty#1100464, demandChannel#1134237, demandStream#1134238, kpis#1134272]
(52) ExternalRDD
Arguments: [obj#1136736]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89785), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89785), 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, 89785), 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, 89785), 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, 89785), 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, 89785), 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#1136739, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89786), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89786), 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, 89787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89787), 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, 89787), 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, 89787), 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, 89788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89788), 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, 89788), 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, 89788), 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, 89788), 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, 89787), 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, 89786), 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, 89789), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89789), 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, 89789), 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, 89789), 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, 89789), 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, 89786), 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, 89786), 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, 89786), 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, 89790), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89790), 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, 89791), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89791), 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, 89791), 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, 89791), 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, 89791), 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, 89790), 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, 89790), 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, 89786), 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#1136740]
(54) Generate
Arguments: explode(prodPlantResults#1136740), false, [prodPlantResults#1136747]
(55) Project
Arguments: [prodPlantResults#1136747]
(56) Project
Arguments: [prodPlantResults#1136747.productId AS product#1136766, prodPlantResults#1136747.plantId AS plant#1136767, prodPlantResults#1136747.kpiResults AS kpis#1136768]
(57) Project
Arguments: [product#1136766, plant#1136767, kpis#1136768, null AS qty#1136772]
(58) Project
Arguments: [product#1136766, plant#1136767, kpis#1136768, qty#1136772, cast(null as string) AS demandChannel#1136773]
(59) Project
Arguments: [product#1136766, plant#1136767, kpis#1136768, qty#1136772, demandChannel#1136773, cast(null as string) AS demandStream#1136774]
(60) Project
Arguments: [product#1136766, plant#1136767, kpis#1136768, cast(qty#1136772 as double) AS qty#1136793, demandChannel#1136773, demandStream#1136774]
(61) ExternalRDD
Arguments: [obj#1136789]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89785), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89785), 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, 89785), 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, 89785), 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, 89785), 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, 89785), 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#1136790, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89786), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89786), 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, 89787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89787), 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, 89787), 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, 89787), 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, 89788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89788), 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, 89788), 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, 89788), 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, 89788), 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, 89787), 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, 89786), 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, 89789), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89789), 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, 89789), 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, 89789), 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, 89789), 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, 89786), 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, 89786), 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, 89786), 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, 89790), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89790), 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, 89791), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89791), 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, 89791), 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, 89791), 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, 89791), 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, 89790), 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, 89790), 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, 89786), 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#1136791]
(63) Generate
Arguments: explode(prodPlantResults#1136791), false, [prodPlantResults#1136792]
(64) Project
Arguments: [prodPlantResults#1136792]
(65) Generate
Arguments: explode(prodPlantResults#1136792.quantityKpiResults), false, [quantityKpiResults#1136759]
(66) Project
Arguments: [prodPlantResults#1136792.productId AS product#1136753, prodPlantResults#1136792.plantId AS plant#1136754, quantityKpiResults#1136759]
(67) Project
Arguments: [product#1136753, plant#1136754, quantityKpiResults#1136759, quantityKpiResults#1136759.quantity AS qty#1136760]
(68) Project
Arguments: [product#1136753, plant#1136754, quantityKpiResults#1136759, qty#1136760, cast(null as string) AS demandChannel#1136762]
(69) Project
Arguments: [product#1136753, plant#1136754, quantityKpiResults#1136759, qty#1136760, demandChannel#1136762, cast(null as string) AS demandStream#1136763]
(70) Project
Arguments: [product#1136753, plant#1136754, quantityKpiResults#1136759, qty#1136760, demandChannel#1136762, demandStream#1136763, quantityKpiResults#1136759.kpiResults AS kpis#1136764]
(71) Project
Arguments: [product#1136753, plant#1136754, qty#1136760, demandChannel#1136762, demandStream#1136763, kpis#1136764]
(72) Project
Arguments: [product#1136753, plant#1136754, kpis#1136764, qty#1136760, demandChannel#1136762, demandStream#1136763]
(73) ExternalRDD
Arguments: [obj#1136794]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89785), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89785), 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, 89785), 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, 89785), 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, 89785), 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, 89785), 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#1136795, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89786), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89786), 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, 89787), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89787), 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, 89787), 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, 89787), 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, 89788), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89788), 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, 89788), 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, 89788), 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, 89788), 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, 89787), 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, 89786), 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, 89789), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89789), 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, 89789), 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, 89789), 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, 89789), 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, 89786), 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, 89786), 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, 89786), 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, 89790), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89790), 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, 89791), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 89791), 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, 89791), 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, 89791), 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, 89791), 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, 89790), 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, 89790), 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, 89786), 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#1136796]
(75) Generate
Arguments: explode(prodPlantResults#1136796), false, [prodPlantResults#1136797]
(76) Project
Arguments: [prodPlantResults#1136797]
(77) Generate
Arguments: explode(prodPlantResults#1136797.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1136781]
(78) Project
Arguments: [prodPlantResults#1136797.productId AS product#1136775, prodPlantResults#1136797.plantId AS plant#1136776, demandChannelStreamKpiResults#1136781]
(79) Project
Arguments: [product#1136775, plant#1136776, demandChannelStreamKpiResults#1136781, null AS qty#1136782]
(80) Project
Arguments: [product#1136775, plant#1136776, demandChannelStreamKpiResults#1136781, qty#1136782, demandChannelStreamKpiResults#1136781.demandChannel AS demandChannel#1136783]
(81) Project
Arguments: [product#1136775, plant#1136776, demandChannelStreamKpiResults#1136781, qty#1136782, demandChannel#1136783, demandChannelStreamKpiResults#1136781.demandStream AS demandStream#1136785]
(82) Project
Arguments: [product#1136775, plant#1136776, demandChannelStreamKpiResults#1136781, qty#1136782, demandChannel#1136783, demandStream#1136785, demandChannelStreamKpiResults#1136781.kpiResults AS kpis#1136787]
(83) Project
Arguments: [product#1136775, plant#1136776, qty#1136782, demandChannel#1136783, demandStream#1136785, kpis#1136787]
(84) Project
Arguments: [product#1136775, plant#1136776, kpis#1136787, qty#1136782, demandChannel#1136783, demandStream#1136785]
(85) Project
Arguments: [product#1136775, plant#1136776, kpis#1136787, cast(qty#1136782 as double) AS qty#1136798, demandChannel#1136783, demandStream#1136785]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#1136766, plant#1136767, transform(kpis#1136768, lambdafunction(struct(label, lambda kpi#1136803.label, dateTime, lambda kpi#1136803.datetime, value, lambda kpi#1136803.value), lambda kpi#1136803, false)) AS kpis#1136802, qty#1136793, demandChannel#1136773, demandStream#1136774]
(88) Project
Arguments: [product#1136766, plant#1136767, qty#1136793, demandChannel#1136773, demandStream#1136774, kpis#1136802]
(89) LogicalRDD
Arguments: [shardId#1137611, worklistShardItemId#1137612L, version#1137613, product#1137614, plant#1137615, periodStart#1137616, periodEnd#1137617, qty#1137618], false
(90) RepartitionByExpression
Arguments: [product#1137614, plant#1137615], 37
(91) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, version#1137613, product#1137614, plant#1137615, qty#1137618]
(92) LogicalRDD
Arguments: [shardId#1137619, worklistShardItemId#1137620L, version#1137621, product#1137622, plant#1137623, periodStart#1137624, periodEnd#1137625, qty#1137626], false
(93) RepartitionByExpression
Arguments: [product#1137622, plant#1137623], 37
(94) Project
Arguments: [shardId#1137619, worklistShardItemId#1137620L, version#1137621, product#1137622, plant#1137623, qty#1137626]
(95) LogicalRDD
Arguments: [shardId#1137627, worklistShardItemId#1137628L, qty#1137629, demandChannel#1137630, demandStream#1137631, kpis#1137632], false
(96) Project
Arguments: [shardId#1137627 AS cachedShardId#1137633, worklistShardItemId#1137628L AS cachedWorklistShardItemId#1137634L, qty#1137629 AS cachedQty#1137635, demandChannel#1137630, demandStream#1137631, kpis#1137632 AS cachedKpis#1137636]
(97) Join
Arguments: Inner, (((worklistShardItemId#1137620L = cachedWorklistShardItemId#1137634L) AND (shardId#1137619 = cachedShardId#1137633)) AND ((qty#1137626 = cachedQty#1137635) OR isnull(qty#1137626)))
(98) Project
Arguments: [shardId#1137619, worklistShardItemId#1137620L, version#1137621, product#1137622, plant#1137623]
(99) Deduplicate
Arguments: [plant#1137623, shardId#1137619, version#1137621, worklistShardItemId#1137620L, product#1137622]
(100) LogicalRDD
Arguments: [shardId#1137637, worklistShardItemId#1137638L, qty#1137639, demandChannel#1137640, demandStream#1137641, kpis#1137642], false
(101) Project
Arguments: [shardId#1137637 AS cachedShardId#1137643, worklistShardItemId#1137638L AS cachedWorklistShardItemId#1137644L, qty#1137639 AS cachedQty#1137645, demandChannel#1137640, demandStream#1137641, kpis#1137642 AS cachedKpis#1137646]
(102) Join
Arguments: Inner, ((worklistShardItemId#1137620L = cachedWorklistShardItemId#1137644L) AND (shardId#1137619 = cachedShardId#1137643))
(103) Project
Arguments: [shardId#1137619, worklistShardItemId#1137620L, version#1137621, product#1137622, plant#1137623, cachedQty#1137645 AS qty#1137647, demandChannel#1137640, demandStream#1137641, cachedKpis#1137646 AS kpis#1137648]
(104) Project
Arguments: [shardId#1137619, worklistShardItemId#1137620L, version#1137621, product#1137622, plant#1137623, qty#1137647]
(105) LogicalRDD
Arguments: [shardId#1137649, worklistShardItemId#1137650L, version#1137651, product#1137652, plant#1137653, periodStart#1137654, periodEnd#1137655, qty#1137656], false
(106) RepartitionByExpression
Arguments: [product#1137652, plant#1137653], 37
(107) Project
Arguments: [shardId#1137649, worklistShardItemId#1137650L, version#1137651, product#1137652, plant#1137653, qty#1137656]
(108) LogicalRDD
Arguments: [shardId#1137657, worklistShardItemId#1137658L, qty#1137659, demandChannel#1137660, demandStream#1137661, kpis#1137662], false
(109) Project
Arguments: [shardId#1137657 AS cachedShardId#1137663, worklistShardItemId#1137658L AS cachedWorklistShardItemId#1137664L, qty#1137659 AS cachedQty#1137665, demandChannel#1137660, demandStream#1137661, kpis#1137662 AS cachedKpis#1137666]
(110) Join
Arguments: Inner, (((worklistShardItemId#1137650L = cachedWorklistShardItemId#1137664L) AND (shardId#1137649 = cachedShardId#1137663)) AND isnull(qty#1137656))
(111) Project
Arguments: [shardId#1137649, worklistShardItemId#1137650L, version#1137651, product#1137652, plant#1137653, qty#1137656]
(112) Project
Arguments: [shardId#1137649, worklistShardItemId#1137650L, version#1137651, product#1137652, plant#1137653, qty#1137656]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#1137611 <=> shardId#1137619) AND (worklistShardItemId#1137612L <=> worklistShardItemId#1137620L)) AND (version#1137613 <=> version#1137621)) AND (product#1137614 <=> product#1137622)) AND (plant#1137615 <=> plant#1137623)) AND (qty#1137618 <=> qty#1137647))
(115) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, version#1137613, product#1137614, plant#1137615, qty#1137618]
(116) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, version#1137613, product#1137614, plant#1137615, qty#1137618, cast(null as string) AS demandChannel#1137667]
(117) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, version#1137613, product#1137614, plant#1137615, qty#1137618, demandChannel#1137667, cast(null as string) AS demandStream#1137668]
(118) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, version#1137613, product#1137614, plant#1137615, qty#1137618, demandChannel#1137667, demandStream#1137668, array() AS kpis#1137669]
(119) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, version#1137613, product#1137614, plant#1137615, qty#1137618, demandChannel#1137667, demandStream#1137668, kpis#1137669, true AS isNewlyCalculated#1137670]
(120) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, version#1137613, product#1137614, plant#1137615, qty#1137618, demandChannel#1137667, demandStream#1137668, cast(kpis#1137669 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1137671, isNewlyCalculated#1137670]
(121) LogicalRDD
Arguments: [shardId#1137672, worklistShardItemId#1137673L, version#1137674, product#1137675, plant#1137676, periodStart#1137677, periodEnd#1137678, qty#1137679], false
(122) RepartitionByExpression
Arguments: [product#1137675, plant#1137676], 37
(123) Project
Arguments: [shardId#1137672, worklistShardItemId#1137673L, version#1137674, product#1137675, plant#1137676, qty#1137679]
(124) LogicalRDD
Arguments: [shardId#1137680, worklistShardItemId#1137681L, qty#1137682, demandChannel#1137683, demandStream#1137684, kpis#1137685], false
(125) Project
Arguments: [shardId#1137680 AS cachedShardId#1137686, worklistShardItemId#1137681L AS cachedWorklistShardItemId#1137687L, qty#1137682 AS cachedQty#1137688, demandChannel#1137683, demandStream#1137684, kpis#1137685 AS cachedKpis#1137689]
(126) Join
Arguments: Inner, (((worklistShardItemId#1137673L = cachedWorklistShardItemId#1137687L) AND (shardId#1137672 = cachedShardId#1137686)) AND ((qty#1137679 = cachedQty#1137688) OR isnull(qty#1137679)))
(127) Project
Arguments: [shardId#1137672, worklistShardItemId#1137673L, version#1137674, product#1137675, plant#1137676]
(128) Deduplicate
Arguments: [plant#1137676, shardId#1137672, version#1137674, worklistShardItemId#1137673L, product#1137675]
(129) LogicalRDD
Arguments: [shardId#1137690, worklistShardItemId#1137691L, qty#1137692, demandChannel#1137693, demandStream#1137694, kpis#1137695], false
(130) Project
Arguments: [shardId#1137690 AS cachedShardId#1137696, worklistShardItemId#1137691L AS cachedWorklistShardItemId#1137697L, qty#1137692 AS cachedQty#1137698, demandChannel#1137693, demandStream#1137694, kpis#1137695 AS cachedKpis#1137699]
(131) Join
Arguments: Inner, ((worklistShardItemId#1137673L = cachedWorklistShardItemId#1137697L) AND (shardId#1137672 = cachedShardId#1137696))
(132) Project
Arguments: [shardId#1137672, worklistShardItemId#1137673L, version#1137674, product#1137675, plant#1137676, cachedQty#1137698 AS qty#1137700, demandChannel#1137693, demandStream#1137694, cachedKpis#1137699 AS kpis#1137701]
(133) Project
Arguments: [shardId#1137672, worklistShardItemId#1137673L, version#1137674, product#1137675, plant#1137676, qty#1137700, demandChannel#1137693, demandStream#1137694, kpis#1137701, false AS isNewlyCalculated#1137702]
(134) Project
Arguments: [shardId#1137672, worklistShardItemId#1137673L, version#1137674, product#1137675, plant#1137676, qty#1137700, demandChannel#1137693, demandStream#1137694, kpis#1137701, isNewlyCalculated#1137702]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#1137670 <=> true)
(137) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, product#1137614, plant#1137615, qty#1137618, kpis#1137671]
(138) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, product#1137614, plant#1137615, qty#1137618]
(139) Deduplicate
Arguments: [plant#1137615, shardId#1137611, qty#1137618, worklistShardItemId#1137612L, product#1137614]
(140) Join
Arguments: Inner, ((product#1136766 <=> product#1137614) AND ((plant#1136767 <=> plant#1137615) AND ((qty#1136793 <=> qty#1137618) OR isnull(qty#1137618))))
(141) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, qty#1136793, demandChannel#1136773, demandStream#1136774, kpis#1136802]
(142) Deduplicate
Arguments: [demandChannel#1136773, shardId#1137611, qty#1136793, worklistShardItemId#1137612L, demandStream#1136774]
(143) Project
Arguments: [shardId#1137611, worklistShardItemId#1137612L, qty#1136793, demandChannel#1136773, demandStream#1136774, kpis#1136802]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705, product#1137706, plant#1137707, periodStart#1137708, periodEnd#1137709, qty#1137710], false
(146) RepartitionByExpression
Arguments: [product#1137706, plant#1137707], 37
(147) Project
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705, product#1137706, plant#1137707, qty#1137710]
(148) LogicalRDD
Arguments: [shardId#1137711, worklistShardItemId#1137712L, version#1137713, product#1137714, plant#1137715, periodStart#1137716, periodEnd#1137717, qty#1137718], false
(149) RepartitionByExpression
Arguments: [product#1137714, plant#1137715], 37
(150) Project
Arguments: [shardId#1137711, worklistShardItemId#1137712L, version#1137713, product#1137714, plant#1137715, qty#1137718]
(151) LogicalRDD
Arguments: [shardId#1137719, worklistShardItemId#1137720L, qty#1137721, demandChannel#1137722, demandStream#1137723, kpis#1137724], false
(152) Project
Arguments: [shardId#1137719 AS cachedShardId#1137725, worklistShardItemId#1137720L AS cachedWorklistShardItemId#1137726L, qty#1137721 AS cachedQty#1137727, demandChannel#1137722, demandStream#1137723, kpis#1137724 AS cachedKpis#1137728]
(153) Join
Arguments: Inner, (((worklistShardItemId#1137712L = cachedWorklistShardItemId#1137726L) AND (shardId#1137711 = cachedShardId#1137725)) AND ((qty#1137718 = cachedQty#1137727) OR isnull(qty#1137718)))
(154) Project
Arguments: [shardId#1137711, worklistShardItemId#1137712L, version#1137713, product#1137714, plant#1137715]
(155) Deduplicate
Arguments: [plant#1137715, shardId#1137711, version#1137713, worklistShardItemId#1137712L, product#1137714]
(156) LogicalRDD
Arguments: [shardId#1137729, worklistShardItemId#1137730L, qty#1137731, demandChannel#1137732, demandStream#1137733, kpis#1137734], false
(157) Project
Arguments: [shardId#1137729 AS cachedShardId#1137735, worklistShardItemId#1137730L AS cachedWorklistShardItemId#1137736L, qty#1137731 AS cachedQty#1137737, demandChannel#1137732, demandStream#1137733, kpis#1137734 AS cachedKpis#1137738]
(158) Join
Arguments: Inner, ((worklistShardItemId#1137712L = cachedWorklistShardItemId#1137736L) AND (shardId#1137711 = cachedShardId#1137735))
(159) Project
Arguments: [shardId#1137711, worklistShardItemId#1137712L, version#1137713, product#1137714, plant#1137715, cachedQty#1137737 AS qty#1137739, demandChannel#1137732, demandStream#1137733, cachedKpis#1137738 AS kpis#1137740]
(160) Project
Arguments: [shardId#1137711, worklistShardItemId#1137712L, version#1137713, product#1137714, plant#1137715, qty#1137739]
(161) LogicalRDD
Arguments: [shardId#1137741, worklistShardItemId#1137742L, version#1137743, product#1137744, plant#1137745, periodStart#1137746, periodEnd#1137747, qty#1137748], false
(162) RepartitionByExpression
Arguments: [product#1137744, plant#1137745], 37
(163) Project
Arguments: [shardId#1137741, worklistShardItemId#1137742L, version#1137743, product#1137744, plant#1137745, qty#1137748]
(164) LogicalRDD
Arguments: [shardId#1137749, worklistShardItemId#1137750L, qty#1137751, demandChannel#1137752, demandStream#1137753, kpis#1137754], false
(165) Project
Arguments: [shardId#1137749 AS cachedShardId#1137755, worklistShardItemId#1137750L AS cachedWorklistShardItemId#1137756L, qty#1137751 AS cachedQty#1137757, demandChannel#1137752, demandStream#1137753, kpis#1137754 AS cachedKpis#1137758]
(166) Join
Arguments: Inner, (((worklistShardItemId#1137742L = cachedWorklistShardItemId#1137756L) AND (shardId#1137741 = cachedShardId#1137755)) AND isnull(qty#1137748))
(167) Project
Arguments: [shardId#1137741, worklistShardItemId#1137742L, version#1137743, product#1137744, plant#1137745, qty#1137748]
(168) Project
Arguments: [shardId#1137741, worklistShardItemId#1137742L, version#1137743, product#1137744, plant#1137745, qty#1137748]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#1137703 <=> shardId#1137711) AND (worklistShardItemId#1137704L <=> worklistShardItemId#1137712L)) AND (version#1137705 <=> version#1137713)) AND (product#1137706 <=> product#1137714)) AND (plant#1137707 <=> plant#1137715)) AND (qty#1137710 <=> qty#1137739))
(171) Project
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705, product#1137706, plant#1137707, qty#1137710]
(172) Project
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705, product#1137706, plant#1137707, qty#1137710, cast(null as string) AS demandChannel#1137759]
(173) Project
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705, product#1137706, plant#1137707, qty#1137710, demandChannel#1137759, cast(null as string) AS demandStream#1137760]
(174) Project
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705, product#1137706, plant#1137707, qty#1137710, demandChannel#1137759, demandStream#1137760, array() AS kpis#1137761]
(175) Project
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705, product#1137706, plant#1137707, qty#1137710, demandChannel#1137759, demandStream#1137760, kpis#1137761, true AS isNewlyCalculated#1137762]
(176) Project
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705, product#1137706, plant#1137707, qty#1137710, demandChannel#1137759, demandStream#1137760, cast(kpis#1137761 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#1137763, isNewlyCalculated#1137762]
(177) LogicalRDD
Arguments: [shardId#1137764, worklistShardItemId#1137765L, version#1137766, product#1137767, plant#1137768, periodStart#1137769, periodEnd#1137770, qty#1137771], false
(178) RepartitionByExpression
Arguments: [product#1137767, plant#1137768], 37
(179) Project
Arguments: [shardId#1137764, worklistShardItemId#1137765L, version#1137766, product#1137767, plant#1137768, qty#1137771]
(180) LogicalRDD
Arguments: [shardId#1137772, worklistShardItemId#1137773L, qty#1137774, demandChannel#1137775, demandStream#1137776, kpis#1137777], false
(181) Project
Arguments: [shardId#1137772 AS cachedShardId#1137778, worklistShardItemId#1137773L AS cachedWorklistShardItemId#1137779L, qty#1137774 AS cachedQty#1137780, demandChannel#1137775, demandStream#1137776, kpis#1137777 AS cachedKpis#1137781]
(182) Join
Arguments: Inner, (((worklistShardItemId#1137765L = cachedWorklistShardItemId#1137779L) AND (shardId#1137764 = cachedShardId#1137778)) AND ((qty#1137771 = cachedQty#1137780) OR isnull(qty#1137771)))
(183) Project
Arguments: [shardId#1137764, worklistShardItemId#1137765L, version#1137766, product#1137767, plant#1137768]
(184) Deduplicate
Arguments: [plant#1137768, shardId#1137764, version#1137766, worklistShardItemId#1137765L, product#1137767]
(185) LogicalRDD
Arguments: [shardId#1137782, worklistShardItemId#1137783L, qty#1137784, demandChannel#1137785, demandStream#1137786, kpis#1137787], false
(186) Project
Arguments: [shardId#1137782 AS cachedShardId#1137788, worklistShardItemId#1137783L AS cachedWorklistShardItemId#1137789L, qty#1137784 AS cachedQty#1137790, demandChannel#1137785, demandStream#1137786, kpis#1137787 AS cachedKpis#1137791]
(187) Join
Arguments: Inner, ((worklistShardItemId#1137765L = cachedWorklistShardItemId#1137789L) AND (shardId#1137764 = cachedShardId#1137788))
(188) Project
Arguments: [shardId#1137764, worklistShardItemId#1137765L, version#1137766, product#1137767, plant#1137768, cachedQty#1137790 AS qty#1137792, demandChannel#1137785, demandStream#1137786, cachedKpis#1137791 AS kpis#1137793]
(189) Project
Arguments: [shardId#1137764, worklistShardItemId#1137765L, version#1137766, product#1137767, plant#1137768, qty#1137792, demandChannel#1137785, demandStream#1137786, kpis#1137793, false AS isNewlyCalculated#1137794]
(190) Project
Arguments: [shardId#1137764, worklistShardItemId#1137765L, version#1137766, product#1137767, plant#1137768, qty#1137792, demandChannel#1137785, demandStream#1137786, kpis#1137793, isNewlyCalculated#1137794]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#1137703, worklistShardItemId#1137704L, version#1137705]
(193) Aggregate
Arguments: [shardId#1137703, worklistShardItemId#1137704L], [shardId#1137703, worklistShardItemId#1137704L, (max(version#1137705) + 1) AS version#1137606]
(194) Join
Arguments: Inner, ((shardId#1100457 = shardId#1137703) AND (worklistShardItemId#1100458L = worklistShardItemId#1137704L))
(195) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, qty#1100464, demandChannel#1134237, demandStream#1134238, kpis#1134272, version#1137606]
(196) Project
Arguments: [shardId#1100457, worklistShardItemId#1100458L, version#1137606, qty#1100464, demandChannel#1134237, demandStream#1134238, kpis#1134272]