== 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@15742ded, [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#899665, worklistShardItemId#899666L, version#899667, product#899668, plant#899669, periodStart#899670, periodEnd#899671, qty#899672], false
(7) RepartitionByExpression
Arguments: [product#899668, plant#899669], 37
(8) Project
Arguments: [shardId#899665, worklistShardItemId#899666L, version#899667, product#899668, plant#899669, qty#899672]
(9) LogicalRDD
Arguments: [shardId#899420, worklistShardItemId#899421L, qty#899422, demandChannel#899423, demandStream#899424, kpis#899425], false
(10) Project
Arguments: [shardId#899420 AS cachedShardId#899426, worklistShardItemId#899421L AS cachedWorklistShardItemId#899427L, qty#899422 AS cachedQty#899428, demandChannel#899423, demandStream#899424, kpis#899425 AS cachedKpis#899429]
(11) Join
Arguments: Inner, (((worklistShardItemId#899666L = cachedWorklistShardItemId#899427L) AND (shardId#899665 = cachedShardId#899426)) AND ((qty#899672 = cachedQty#899428) OR isnull(qty#899672)))
(12) Project
Arguments: [shardId#899665, worklistShardItemId#899666L, version#899667, product#899668, plant#899669]
(13) Deduplicate
Arguments: [plant#899669, shardId#899665, version#899667, worklistShardItemId#899666L, product#899668]
(14) LogicalRDD
Arguments: [shardId#899430, worklistShardItemId#899431L, qty#899432, demandChannel#899433, demandStream#899434, kpis#899435], false
(15) Project
Arguments: [shardId#899430 AS cachedShardId#899436, worklistShardItemId#899431L AS cachedWorklistShardItemId#899437L, qty#899432 AS cachedQty#899438, demandChannel#899433, demandStream#899434, kpis#899435 AS cachedKpis#899439]
(16) Join
Arguments: Inner, ((worklistShardItemId#899666L = cachedWorklistShardItemId#899437L) AND (shardId#899665 = cachedShardId#899436))
(17) Project
Arguments: [shardId#899665, worklistShardItemId#899666L, version#899667, product#899668, plant#899669, cachedQty#899438 AS qty#899440, demandChannel#899433, demandStream#899434, cachedKpis#899439 AS kpis#899441]
(18) Project
Arguments: [shardId#899665, worklistShardItemId#899666L, version#899667, product#899668, plant#899669, qty#899440]
(19) LogicalRDD
Arguments: [shardId#899647, worklistShardItemId#899648L, version#899649, product#899650, plant#899651, periodStart#899652, periodEnd#899653, qty#899654], false
(20) RepartitionByExpression
Arguments: [product#899650, plant#899651], 37
(21) Project
Arguments: [shardId#899647, worklistShardItemId#899648L, version#899649, product#899650, plant#899651, qty#899654]
(22) LogicalRDD
Arguments: [shardId#899655, worklistShardItemId#899656L, qty#899657, demandChannel#899658, demandStream#899659, kpis#899660], false
(23) Project
Arguments: [shardId#899655 AS cachedShardId#899661, worklistShardItemId#899656L AS cachedWorklistShardItemId#899662L, qty#899657 AS cachedQty#899663, demandChannel#899658, demandStream#899659, kpis#899660 AS cachedKpis#899664]
(24) Join
Arguments: Inner, (((worklistShardItemId#899648L = cachedWorklistShardItemId#899662L) AND (shardId#899647 = cachedShardId#899661)) AND isnull(qty#899654))
(25) Project
Arguments: [shardId#899647, worklistShardItemId#899648L, version#899649, product#899650, plant#899651, qty#899654]
(26) Project
Arguments: [shardId#899647, worklistShardItemId#899648L, version#899649, product#899650, plant#899651, qty#899654]
(27) Union
Arguments: false, false
(28) Join
Arguments: LeftAnti, ((((((shardId#815740 <=> shardId#899665) AND (worklistShardItemId#815741L <=> worklistShardItemId#899666L)) AND (version#815742 <=> version#899667)) AND (product#815743 <=> product#899668)) AND (plant#815744 <=> plant#899669)) AND (qty#815747 <=> qty#899440))
(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#899673]
(31) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#899673, cast(null as string) AS demandStream#899674]
(32) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#899673, demandStream#899674, array() AS kpis#899675]
(33) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#899673, demandStream#899674, kpis#899675, true AS isNewlyCalculated#899676]
(34) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#815742, product#815743, plant#815744, qty#815747, demandChannel#899673, demandStream#899674, cast(kpis#899675 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#899708, isNewlyCalculated#899676]
(35) LogicalRDD
Arguments: [shardId#899678, worklistShardItemId#899679L, version#899680, product#899681, plant#899682, periodStart#899683, periodEnd#899684, qty#899685], false
(36) RepartitionByExpression
Arguments: [product#899681, plant#899682], 37
(37) Project
Arguments: [shardId#899678, worklistShardItemId#899679L, version#899680, product#899681, plant#899682, qty#899685]
(38) LogicalRDD
Arguments: [shardId#899686, worklistShardItemId#899687L, qty#899688, demandChannel#899689, demandStream#899690, kpis#899691], false
(39) Project
Arguments: [shardId#899686 AS cachedShardId#899692, worklistShardItemId#899687L AS cachedWorklistShardItemId#899693L, qty#899688 AS cachedQty#899694, demandChannel#899689, demandStream#899690, kpis#899691 AS cachedKpis#899695]
(40) Join
Arguments: Inner, (((worklistShardItemId#899679L = cachedWorklistShardItemId#899693L) AND (shardId#899678 = cachedShardId#899692)) AND ((qty#899685 = cachedQty#899694) OR isnull(qty#899685)))
(41) Project
Arguments: [shardId#899678, worklistShardItemId#899679L, version#899680, product#899681, plant#899682]
(42) Deduplicate
Arguments: [plant#899682, shardId#899678, version#899680, worklistShardItemId#899679L, product#899681]
(43) LogicalRDD
Arguments: [shardId#899696, worklistShardItemId#899697L, qty#899698, demandChannel#899699, demandStream#899700, kpis#899701], false
(44) Project
Arguments: [shardId#899696 AS cachedShardId#899702, worklistShardItemId#899697L AS cachedWorklistShardItemId#899703L, qty#899698 AS cachedQty#899704, demandChannel#899699, demandStream#899700, kpis#899701 AS cachedKpis#899705]
(45) Join
Arguments: Inner, ((worklistShardItemId#899679L = cachedWorklistShardItemId#899703L) AND (shardId#899678 = cachedShardId#899702))
(46) Project
Arguments: [shardId#899678, worklistShardItemId#899679L, version#899680, product#899681, plant#899682, cachedQty#899704 AS qty#899706, demandChannel#899699, demandStream#899700, cachedKpis#899705 AS kpis#899707]
(47) Project
Arguments: [shardId#899678, worklistShardItemId#899679L, version#899680, product#899681, plant#899682, qty#899706, demandChannel#899699, demandStream#899700, kpis#899707, false AS isNewlyCalculated#899677]
(48) Project
Arguments: [shardId#899678, worklistShardItemId#899679L, version#899680, product#899681, plant#899682, qty#899706, demandChannel#899699, demandStream#899700, kpis#899707, isNewlyCalculated#899677]
(49) Union
Arguments: false, false
(50) Filter
Arguments: (isNewlyCalculated#899676 <=> false)
(51) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#899673, demandStream#899674, kpis#899708]
(52) ExternalRDD
Arguments: [obj#902172]
(53) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70718), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70718), 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, 70718), 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, 70718), 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, 70718), 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, 70718), 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#902175, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70719), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70719), 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, 70720), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70720), 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, 70720), 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, 70720), 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, 70721), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70721), 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, 70721), 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, 70721), 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, 70721), 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, 70720), 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, 70719), 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, 70722), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70722), 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, 70722), 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, 70722), 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, 70722), 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, 70719), 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, 70719), 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, 70719), 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, 70723), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70723), 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, 70724), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70724), 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, 70724), 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, 70724), 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, 70724), 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, 70723), 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, 70723), 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, 70719), 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#902176]
(54) Generate
Arguments: explode(prodPlantResults#902176), false, [prodPlantResults#902183]
(55) Project
Arguments: [prodPlantResults#902183]
(56) Project
Arguments: [prodPlantResults#902183.productId AS product#902202, prodPlantResults#902183.plantId AS plant#902203, prodPlantResults#902183.kpiResults AS kpis#902204]
(57) Project
Arguments: [product#902202, plant#902203, kpis#902204, null AS qty#902208]
(58) Project
Arguments: [product#902202, plant#902203, kpis#902204, qty#902208, cast(null as string) AS demandChannel#902209]
(59) Project
Arguments: [product#902202, plant#902203, kpis#902204, qty#902208, demandChannel#902209, cast(null as string) AS demandStream#902210]
(60) Project
Arguments: [product#902202, plant#902203, kpis#902204, cast(qty#902208 as double) AS qty#902229, demandChannel#902209, demandStream#902210]
(61) ExternalRDD
Arguments: [obj#902225]
(62) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70718), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70718), 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, 70718), 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, 70718), 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, 70718), 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, 70718), 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#902226, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70719), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70719), 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, 70720), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70720), 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, 70720), 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, 70720), 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, 70721), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70721), 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, 70721), 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, 70721), 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, 70721), 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, 70720), 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, 70719), 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, 70722), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70722), 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, 70722), 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, 70722), 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, 70722), 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, 70719), 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, 70719), 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, 70719), 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, 70723), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70723), 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, 70724), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70724), 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, 70724), 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, 70724), 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, 70724), 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, 70723), 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, 70723), 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, 70719), 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#902227]
(63) Generate
Arguments: explode(prodPlantResults#902227), false, [prodPlantResults#902228]
(64) Project
Arguments: [prodPlantResults#902228]
(65) Generate
Arguments: explode(prodPlantResults#902228.quantityKpiResults), false, [quantityKpiResults#902195]
(66) Project
Arguments: [prodPlantResults#902228.productId AS product#902189, prodPlantResults#902228.plantId AS plant#902190, quantityKpiResults#902195]
(67) Project
Arguments: [product#902189, plant#902190, quantityKpiResults#902195, quantityKpiResults#902195.quantity AS qty#902196]
(68) Project
Arguments: [product#902189, plant#902190, quantityKpiResults#902195, qty#902196, cast(null as string) AS demandChannel#902198]
(69) Project
Arguments: [product#902189, plant#902190, quantityKpiResults#902195, qty#902196, demandChannel#902198, cast(null as string) AS demandStream#902199]
(70) Project
Arguments: [product#902189, plant#902190, quantityKpiResults#902195, qty#902196, demandChannel#902198, demandStream#902199, quantityKpiResults#902195.kpiResults AS kpis#902200]
(71) Project
Arguments: [product#902189, plant#902190, qty#902196, demandChannel#902198, demandStream#902199, kpis#902200]
(72) Project
Arguments: [product#902189, plant#902190, kpis#902200, qty#902196, demandChannel#902198, demandStream#902199]
(73) ExternalRDD
Arguments: [obj#902230]
(74) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70718), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70718), 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, 70718), 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, 70718), 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, 70718), 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, 70718), 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#902231, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70719), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70719), 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, 70720), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70720), 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, 70720), 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, 70720), 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, 70721), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70721), 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, 70721), 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, 70721), 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, 70721), 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, 70720), 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, 70719), 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, 70722), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70722), 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, 70722), 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, 70722), 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, 70722), 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, 70719), 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, 70719), 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, 70719), 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, 70723), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70723), 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, 70724), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 70724), 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, 70724), 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, 70724), 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, 70724), 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, 70723), 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, 70723), 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, 70719), 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#902232]
(75) Generate
Arguments: explode(prodPlantResults#902232), false, [prodPlantResults#902233]
(76) Project
Arguments: [prodPlantResults#902233]
(77) Generate
Arguments: explode(prodPlantResults#902233.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#902217]
(78) Project
Arguments: [prodPlantResults#902233.productId AS product#902211, prodPlantResults#902233.plantId AS plant#902212, demandChannelStreamKpiResults#902217]
(79) Project
Arguments: [product#902211, plant#902212, demandChannelStreamKpiResults#902217, null AS qty#902218]
(80) Project
Arguments: [product#902211, plant#902212, demandChannelStreamKpiResults#902217, qty#902218, demandChannelStreamKpiResults#902217.demandChannel AS demandChannel#902219]
(81) Project
Arguments: [product#902211, plant#902212, demandChannelStreamKpiResults#902217, qty#902218, demandChannel#902219, demandChannelStreamKpiResults#902217.demandStream AS demandStream#902221]
(82) Project
Arguments: [product#902211, plant#902212, demandChannelStreamKpiResults#902217, qty#902218, demandChannel#902219, demandStream#902221, demandChannelStreamKpiResults#902217.kpiResults AS kpis#902223]
(83) Project
Arguments: [product#902211, plant#902212, qty#902218, demandChannel#902219, demandStream#902221, kpis#902223]
(84) Project
Arguments: [product#902211, plant#902212, kpis#902223, qty#902218, demandChannel#902219, demandStream#902221]
(85) Project
Arguments: [product#902211, plant#902212, kpis#902223, cast(qty#902218 as double) AS qty#902234, demandChannel#902219, demandStream#902221]
(86) Union
Arguments: false, false
(87) Project
Arguments: [product#902202, plant#902203, transform(kpis#902204, lambdafunction(struct(label, lambda kpi#902239.label, dateTime, lambda kpi#902239.datetime, value, lambda kpi#902239.value), lambda kpi#902239, false)) AS kpis#902238, qty#902229, demandChannel#902209, demandStream#902210]
(88) Project
Arguments: [product#902202, plant#902203, qty#902229, demandChannel#902209, demandStream#902210, kpis#902238]
(89) LogicalRDD
Arguments: [shardId#903047, worklistShardItemId#903048L, version#903049, product#903050, plant#903051, periodStart#903052, periodEnd#903053, qty#903054], false
(90) RepartitionByExpression
Arguments: [product#903050, plant#903051], 37
(91) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, version#903049, product#903050, plant#903051, qty#903054]
(92) LogicalRDD
Arguments: [shardId#903055, worklistShardItemId#903056L, version#903057, product#903058, plant#903059, periodStart#903060, periodEnd#903061, qty#903062], false
(93) RepartitionByExpression
Arguments: [product#903058, plant#903059], 37
(94) Project
Arguments: [shardId#903055, worklistShardItemId#903056L, version#903057, product#903058, plant#903059, qty#903062]
(95) LogicalRDD
Arguments: [shardId#903063, worklistShardItemId#903064L, qty#903065, demandChannel#903066, demandStream#903067, kpis#903068], false
(96) Project
Arguments: [shardId#903063 AS cachedShardId#903069, worklistShardItemId#903064L AS cachedWorklistShardItemId#903070L, qty#903065 AS cachedQty#903071, demandChannel#903066, demandStream#903067, kpis#903068 AS cachedKpis#903072]
(97) Join
Arguments: Inner, (((worklistShardItemId#903056L = cachedWorklistShardItemId#903070L) AND (shardId#903055 = cachedShardId#903069)) AND ((qty#903062 = cachedQty#903071) OR isnull(qty#903062)))
(98) Project
Arguments: [shardId#903055, worklistShardItemId#903056L, version#903057, product#903058, plant#903059]
(99) Deduplicate
Arguments: [plant#903059, shardId#903055, version#903057, worklistShardItemId#903056L, product#903058]
(100) LogicalRDD
Arguments: [shardId#903073, worklistShardItemId#903074L, qty#903075, demandChannel#903076, demandStream#903077, kpis#903078], false
(101) Project
Arguments: [shardId#903073 AS cachedShardId#903079, worklistShardItemId#903074L AS cachedWorklistShardItemId#903080L, qty#903075 AS cachedQty#903081, demandChannel#903076, demandStream#903077, kpis#903078 AS cachedKpis#903082]
(102) Join
Arguments: Inner, ((worklistShardItemId#903056L = cachedWorklistShardItemId#903080L) AND (shardId#903055 = cachedShardId#903079))
(103) Project
Arguments: [shardId#903055, worklistShardItemId#903056L, version#903057, product#903058, plant#903059, cachedQty#903081 AS qty#903083, demandChannel#903076, demandStream#903077, cachedKpis#903082 AS kpis#903084]
(104) Project
Arguments: [shardId#903055, worklistShardItemId#903056L, version#903057, product#903058, plant#903059, qty#903083]
(105) LogicalRDD
Arguments: [shardId#903085, worklistShardItemId#903086L, version#903087, product#903088, plant#903089, periodStart#903090, periodEnd#903091, qty#903092], false
(106) RepartitionByExpression
Arguments: [product#903088, plant#903089], 37
(107) Project
Arguments: [shardId#903085, worklistShardItemId#903086L, version#903087, product#903088, plant#903089, qty#903092]
(108) LogicalRDD
Arguments: [shardId#903093, worklistShardItemId#903094L, qty#903095, demandChannel#903096, demandStream#903097, kpis#903098], false
(109) Project
Arguments: [shardId#903093 AS cachedShardId#903099, worklistShardItemId#903094L AS cachedWorklistShardItemId#903100L, qty#903095 AS cachedQty#903101, demandChannel#903096, demandStream#903097, kpis#903098 AS cachedKpis#903102]
(110) Join
Arguments: Inner, (((worklistShardItemId#903086L = cachedWorklistShardItemId#903100L) AND (shardId#903085 = cachedShardId#903099)) AND isnull(qty#903092))
(111) Project
Arguments: [shardId#903085, worklistShardItemId#903086L, version#903087, product#903088, plant#903089, qty#903092]
(112) Project
Arguments: [shardId#903085, worklistShardItemId#903086L, version#903087, product#903088, plant#903089, qty#903092]
(113) Union
Arguments: false, false
(114) Join
Arguments: LeftAnti, ((((((shardId#903047 <=> shardId#903055) AND (worklistShardItemId#903048L <=> worklistShardItemId#903056L)) AND (version#903049 <=> version#903057)) AND (product#903050 <=> product#903058)) AND (plant#903051 <=> plant#903059)) AND (qty#903054 <=> qty#903083))
(115) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, version#903049, product#903050, plant#903051, qty#903054]
(116) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, version#903049, product#903050, plant#903051, qty#903054, cast(null as string) AS demandChannel#903103]
(117) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, version#903049, product#903050, plant#903051, qty#903054, demandChannel#903103, cast(null as string) AS demandStream#903104]
(118) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, version#903049, product#903050, plant#903051, qty#903054, demandChannel#903103, demandStream#903104, array() AS kpis#903105]
(119) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, version#903049, product#903050, plant#903051, qty#903054, demandChannel#903103, demandStream#903104, kpis#903105, true AS isNewlyCalculated#903106]
(120) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, version#903049, product#903050, plant#903051, qty#903054, demandChannel#903103, demandStream#903104, cast(kpis#903105 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#903107, isNewlyCalculated#903106]
(121) LogicalRDD
Arguments: [shardId#903108, worklistShardItemId#903109L, version#903110, product#903111, plant#903112, periodStart#903113, periodEnd#903114, qty#903115], false
(122) RepartitionByExpression
Arguments: [product#903111, plant#903112], 37
(123) Project
Arguments: [shardId#903108, worklistShardItemId#903109L, version#903110, product#903111, plant#903112, qty#903115]
(124) LogicalRDD
Arguments: [shardId#903116, worklistShardItemId#903117L, qty#903118, demandChannel#903119, demandStream#903120, kpis#903121], false
(125) Project
Arguments: [shardId#903116 AS cachedShardId#903122, worklistShardItemId#903117L AS cachedWorklistShardItemId#903123L, qty#903118 AS cachedQty#903124, demandChannel#903119, demandStream#903120, kpis#903121 AS cachedKpis#903125]
(126) Join
Arguments: Inner, (((worklistShardItemId#903109L = cachedWorklistShardItemId#903123L) AND (shardId#903108 = cachedShardId#903122)) AND ((qty#903115 = cachedQty#903124) OR isnull(qty#903115)))
(127) Project
Arguments: [shardId#903108, worklistShardItemId#903109L, version#903110, product#903111, plant#903112]
(128) Deduplicate
Arguments: [plant#903112, shardId#903108, version#903110, worklistShardItemId#903109L, product#903111]
(129) LogicalRDD
Arguments: [shardId#903126, worklistShardItemId#903127L, qty#903128, demandChannel#903129, demandStream#903130, kpis#903131], false
(130) Project
Arguments: [shardId#903126 AS cachedShardId#903132, worklistShardItemId#903127L AS cachedWorklistShardItemId#903133L, qty#903128 AS cachedQty#903134, demandChannel#903129, demandStream#903130, kpis#903131 AS cachedKpis#903135]
(131) Join
Arguments: Inner, ((worklistShardItemId#903109L = cachedWorklistShardItemId#903133L) AND (shardId#903108 = cachedShardId#903132))
(132) Project
Arguments: [shardId#903108, worklistShardItemId#903109L, version#903110, product#903111, plant#903112, cachedQty#903134 AS qty#903136, demandChannel#903129, demandStream#903130, cachedKpis#903135 AS kpis#903137]
(133) Project
Arguments: [shardId#903108, worklistShardItemId#903109L, version#903110, product#903111, plant#903112, qty#903136, demandChannel#903129, demandStream#903130, kpis#903137, false AS isNewlyCalculated#903138]
(134) Project
Arguments: [shardId#903108, worklistShardItemId#903109L, version#903110, product#903111, plant#903112, qty#903136, demandChannel#903129, demandStream#903130, kpis#903137, isNewlyCalculated#903138]
(135) Union
Arguments: false, false
(136) Filter
Arguments: (isNewlyCalculated#903106 <=> true)
(137) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, product#903050, plant#903051, qty#903054, kpis#903107]
(138) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, product#903050, plant#903051, qty#903054]
(139) Deduplicate
Arguments: [plant#903051, shardId#903047, qty#903054, worklistShardItemId#903048L, product#903050]
(140) Join
Arguments: Inner, ((product#902202 <=> product#903050) AND ((plant#902203 <=> plant#903051) AND ((qty#902229 <=> qty#903054) OR isnull(qty#903054))))
(141) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, qty#902229, demandChannel#902209, demandStream#902210, kpis#902238]
(142) Deduplicate
Arguments: [demandChannel#902209, shardId#903047, qty#902229, worklistShardItemId#903048L, demandStream#902210]
(143) Project
Arguments: [shardId#903047, worklistShardItemId#903048L, qty#902229, demandChannel#902209, demandStream#902210, kpis#902238]
(144) Union
Arguments: false, false
(145) LogicalRDD
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141, product#903142, plant#903143, periodStart#903144, periodEnd#903145, qty#903146], false
(146) RepartitionByExpression
Arguments: [product#903142, plant#903143], 37
(147) Project
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141, product#903142, plant#903143, qty#903146]
(148) LogicalRDD
Arguments: [shardId#903147, worklistShardItemId#903148L, version#903149, product#903150, plant#903151, periodStart#903152, periodEnd#903153, qty#903154], false
(149) RepartitionByExpression
Arguments: [product#903150, plant#903151], 37
(150) Project
Arguments: [shardId#903147, worklistShardItemId#903148L, version#903149, product#903150, plant#903151, qty#903154]
(151) LogicalRDD
Arguments: [shardId#903155, worklistShardItemId#903156L, qty#903157, demandChannel#903158, demandStream#903159, kpis#903160], false
(152) Project
Arguments: [shardId#903155 AS cachedShardId#903161, worklistShardItemId#903156L AS cachedWorklistShardItemId#903162L, qty#903157 AS cachedQty#903163, demandChannel#903158, demandStream#903159, kpis#903160 AS cachedKpis#903164]
(153) Join
Arguments: Inner, (((worklistShardItemId#903148L = cachedWorklistShardItemId#903162L) AND (shardId#903147 = cachedShardId#903161)) AND ((qty#903154 = cachedQty#903163) OR isnull(qty#903154)))
(154) Project
Arguments: [shardId#903147, worklistShardItemId#903148L, version#903149, product#903150, plant#903151]
(155) Deduplicate
Arguments: [plant#903151, shardId#903147, version#903149, worklistShardItemId#903148L, product#903150]
(156) LogicalRDD
Arguments: [shardId#903165, worklistShardItemId#903166L, qty#903167, demandChannel#903168, demandStream#903169, kpis#903170], false
(157) Project
Arguments: [shardId#903165 AS cachedShardId#903171, worklistShardItemId#903166L AS cachedWorklistShardItemId#903172L, qty#903167 AS cachedQty#903173, demandChannel#903168, demandStream#903169, kpis#903170 AS cachedKpis#903174]
(158) Join
Arguments: Inner, ((worklistShardItemId#903148L = cachedWorklistShardItemId#903172L) AND (shardId#903147 = cachedShardId#903171))
(159) Project
Arguments: [shardId#903147, worklistShardItemId#903148L, version#903149, product#903150, plant#903151, cachedQty#903173 AS qty#903175, demandChannel#903168, demandStream#903169, cachedKpis#903174 AS kpis#903176]
(160) Project
Arguments: [shardId#903147, worklistShardItemId#903148L, version#903149, product#903150, plant#903151, qty#903175]
(161) LogicalRDD
Arguments: [shardId#903177, worklistShardItemId#903178L, version#903179, product#903180, plant#903181, periodStart#903182, periodEnd#903183, qty#903184], false
(162) RepartitionByExpression
Arguments: [product#903180, plant#903181], 37
(163) Project
Arguments: [shardId#903177, worklistShardItemId#903178L, version#903179, product#903180, plant#903181, qty#903184]
(164) LogicalRDD
Arguments: [shardId#903185, worklistShardItemId#903186L, qty#903187, demandChannel#903188, demandStream#903189, kpis#903190], false
(165) Project
Arguments: [shardId#903185 AS cachedShardId#903191, worklistShardItemId#903186L AS cachedWorklistShardItemId#903192L, qty#903187 AS cachedQty#903193, demandChannel#903188, demandStream#903189, kpis#903190 AS cachedKpis#903194]
(166) Join
Arguments: Inner, (((worklistShardItemId#903178L = cachedWorklistShardItemId#903192L) AND (shardId#903177 = cachedShardId#903191)) AND isnull(qty#903184))
(167) Project
Arguments: [shardId#903177, worklistShardItemId#903178L, version#903179, product#903180, plant#903181, qty#903184]
(168) Project
Arguments: [shardId#903177, worklistShardItemId#903178L, version#903179, product#903180, plant#903181, qty#903184]
(169) Union
Arguments: false, false
(170) Join
Arguments: LeftAnti, ((((((shardId#903139 <=> shardId#903147) AND (worklistShardItemId#903140L <=> worklistShardItemId#903148L)) AND (version#903141 <=> version#903149)) AND (product#903142 <=> product#903150)) AND (plant#903143 <=> plant#903151)) AND (qty#903146 <=> qty#903175))
(171) Project
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141, product#903142, plant#903143, qty#903146]
(172) Project
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141, product#903142, plant#903143, qty#903146, cast(null as string) AS demandChannel#903195]
(173) Project
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141, product#903142, plant#903143, qty#903146, demandChannel#903195, cast(null as string) AS demandStream#903196]
(174) Project
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141, product#903142, plant#903143, qty#903146, demandChannel#903195, demandStream#903196, array() AS kpis#903197]
(175) Project
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141, product#903142, plant#903143, qty#903146, demandChannel#903195, demandStream#903196, kpis#903197, true AS isNewlyCalculated#903198]
(176) Project
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141, product#903142, plant#903143, qty#903146, demandChannel#903195, demandStream#903196, cast(kpis#903197 as array<struct<label:string,dateTime:timestamp,value:double>>) AS kpis#903199, isNewlyCalculated#903198]
(177) LogicalRDD
Arguments: [shardId#903200, worklistShardItemId#903201L, version#903202, product#903203, plant#903204, periodStart#903205, periodEnd#903206, qty#903207], false
(178) RepartitionByExpression
Arguments: [product#903203, plant#903204], 37
(179) Project
Arguments: [shardId#903200, worklistShardItemId#903201L, version#903202, product#903203, plant#903204, qty#903207]
(180) LogicalRDD
Arguments: [shardId#903208, worklistShardItemId#903209L, qty#903210, demandChannel#903211, demandStream#903212, kpis#903213], false
(181) Project
Arguments: [shardId#903208 AS cachedShardId#903214, worklistShardItemId#903209L AS cachedWorklistShardItemId#903215L, qty#903210 AS cachedQty#903216, demandChannel#903211, demandStream#903212, kpis#903213 AS cachedKpis#903217]
(182) Join
Arguments: Inner, (((worklistShardItemId#903201L = cachedWorklistShardItemId#903215L) AND (shardId#903200 = cachedShardId#903214)) AND ((qty#903207 = cachedQty#903216) OR isnull(qty#903207)))
(183) Project
Arguments: [shardId#903200, worklistShardItemId#903201L, version#903202, product#903203, plant#903204]
(184) Deduplicate
Arguments: [plant#903204, shardId#903200, version#903202, worklistShardItemId#903201L, product#903203]
(185) LogicalRDD
Arguments: [shardId#903218, worklistShardItemId#903219L, qty#903220, demandChannel#903221, demandStream#903222, kpis#903223], false
(186) Project
Arguments: [shardId#903218 AS cachedShardId#903224, worklistShardItemId#903219L AS cachedWorklistShardItemId#903225L, qty#903220 AS cachedQty#903226, demandChannel#903221, demandStream#903222, kpis#903223 AS cachedKpis#903227]
(187) Join
Arguments: Inner, ((worklistShardItemId#903201L = cachedWorklistShardItemId#903225L) AND (shardId#903200 = cachedShardId#903224))
(188) Project
Arguments: [shardId#903200, worklistShardItemId#903201L, version#903202, product#903203, plant#903204, cachedQty#903226 AS qty#903228, demandChannel#903221, demandStream#903222, cachedKpis#903227 AS kpis#903229]
(189) Project
Arguments: [shardId#903200, worklistShardItemId#903201L, version#903202, product#903203, plant#903204, qty#903228, demandChannel#903221, demandStream#903222, kpis#903229, false AS isNewlyCalculated#903230]
(190) Project
Arguments: [shardId#903200, worklistShardItemId#903201L, version#903202, product#903203, plant#903204, qty#903228, demandChannel#903221, demandStream#903222, kpis#903229, isNewlyCalculated#903230]
(191) Union
Arguments: false, false
(192) Project
Arguments: [shardId#903139, worklistShardItemId#903140L, version#903141]
(193) Aggregate
Arguments: [shardId#903139, worklistShardItemId#903140L], [shardId#903139, worklistShardItemId#903140L, (max(version#903141) + 1) AS version#903042]
(194) Join
Arguments: Inner, ((shardId#815740 = shardId#903139) AND (worklistShardItemId#815741L = worklistShardItemId#903140L))
(195) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, qty#815747, demandChannel#899673, demandStream#899674, kpis#899708, version#903042]
(196) Project
Arguments: [shardId#815740, worklistShardItemId#815741L, version#903042, qty#815747, demandChannel#899673, demandStream#899674, kpis#899708]