== Physical Plan ==
Execute SaveIntoDataSourceCommand (1)
+- SaveIntoDataSourceCommand (2)
+- Project (53)
+- Project (52)
+- Join (51)
:- Deduplicate (46)
: +- Project (45)
: +- Join (44)
: :- Project (39)
: : +- Project (38)
: : +- Union (37)
: : :- Project (11)
: : : +- Project (10)
: : : +- Project (9)
: : : +- Project (8)
: : : +- Project (7)
: : : +- Project (6)
: : : +- Generate (5)
: : : +- SerializeFromObject (4)
: : : +- ExternalRDD (3)
: : :- Project (23)
: : : +- Project (22)
: : : +- Project (21)
: : : +- Project (20)
: : : +- Project (19)
: : : +- Project (18)
: : : +- Project (17)
: : : +- Generate (16)
: : : +- Project (15)
: : : +- Generate (14)
: : : +- SerializeFromObject (13)
: : : +- ExternalRDD (12)
: : +- Project (36)
: : +- Project (35)
: : +- Project (34)
: : +- Project (33)
: : +- Project (32)
: : +- Project (31)
: : +- Project (30)
: : +- Project (29)
: : +- Generate (28)
: : +- Project (27)
: : +- Generate (26)
: : +- SerializeFromObject (25)
: : +- ExternalRDD (24)
: +- Deduplicate (43)
: +- Project (42)
: +- RepartitionByExpression (41)
: +- LogicalRDD (40)
+- Aggregate (50)
+- Project (49)
+- RepartitionByExpression (48)
+- LogicalRDD (47)
(1) Execute SaveIntoDataSourceCommand
Output: []
(2) SaveIntoDataSourceCommand
Arguments: org.apache.spark.sql.delta.sources.DeltaDataSource@3f7e8e73, [path=hdlfs://25570170-65a4-43d6-a97a-474f9553b696.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/out/kpi-curve-update/10000001126/stream-10000001126-1], Append
(3) ExternalRDD
Arguments: [obj#1106131]
(4) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148177), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148177), 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, 148177), 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, 148177), 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, 148177), 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, 148177), 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#1106134, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148178), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148178), 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, 148179), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148179), 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, 148179), 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, 148179), 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, 148180), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148180), 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, 148180), 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, 148180), 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, 148180), 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, 148179), 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, 148178), 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, 148181), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148181), 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, 148181), 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, 148181), 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, 148181), 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, 148178), 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, 148178), 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, 148178), 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, 148182), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148182), 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, 148183), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148183), 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, 148183), 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, 148183), 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, 148183), 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, 148182), 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, 148182), 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, 148178), 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#1106135]
(5) Generate
Arguments: explode(prodPlantResults#1106135), false, [prodPlantResults#1106142]
(6) Project
Arguments: [prodPlantResults#1106142]
(7) Project
Arguments: [prodPlantResults#1106142.productId AS product#1106161, prodPlantResults#1106142.plantId AS plant#1106162, prodPlantResults#1106142.kpiResults AS kpis#1106163]
(8) Project
Arguments: [product#1106161, plant#1106162, kpis#1106163, null AS qty#1106167]
(9) Project
Arguments: [product#1106161, plant#1106162, kpis#1106163, qty#1106167, cast(null as string) AS demandChannel#1106168]
(10) Project
Arguments: [product#1106161, plant#1106162, kpis#1106163, qty#1106167, demandChannel#1106168, cast(null as string) AS demandStream#1106169]
(11) Project
Arguments: [product#1106161, plant#1106162, kpis#1106163, cast(qty#1106167 as double) AS qty#1106188, demandChannel#1106168, demandStream#1106169]
(12) ExternalRDD
Arguments: [obj#1106184]
(13) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148177), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148177), 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, 148177), 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, 148177), 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, 148177), 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, 148177), 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#1106185, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148178), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148178), 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, 148179), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148179), 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, 148179), 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, 148179), 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, 148180), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148180), 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, 148180), 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, 148180), 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, 148180), 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, 148179), 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, 148178), 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, 148181), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148181), 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, 148181), 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, 148181), 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, 148181), 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, 148178), 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, 148178), 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, 148178), 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, 148182), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148182), 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, 148183), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148183), 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, 148183), 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, 148183), 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, 148183), 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, 148182), 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, 148182), 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, 148178), 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#1106186]
(14) Generate
Arguments: explode(prodPlantResults#1106186), false, [prodPlantResults#1106187]
(15) Project
Arguments: [prodPlantResults#1106187]
(16) Generate
Arguments: explode(prodPlantResults#1106187.quantityKpiResults), false, [quantityKpiResults#1106154]
(17) Project
Arguments: [prodPlantResults#1106187.productId AS product#1106148, prodPlantResults#1106187.plantId AS plant#1106149, quantityKpiResults#1106154]
(18) Project
Arguments: [product#1106148, plant#1106149, quantityKpiResults#1106154, quantityKpiResults#1106154.quantity AS qty#1106155]
(19) Project
Arguments: [product#1106148, plant#1106149, quantityKpiResults#1106154, qty#1106155, cast(null as string) AS demandChannel#1106157]
(20) Project
Arguments: [product#1106148, plant#1106149, quantityKpiResults#1106154, qty#1106155, demandChannel#1106157, cast(null as string) AS demandStream#1106158]
(21) Project
Arguments: [product#1106148, plant#1106149, quantityKpiResults#1106154, qty#1106155, demandChannel#1106157, demandStream#1106158, quantityKpiResults#1106154.kpiResults AS kpis#1106159]
(22) Project
Arguments: [product#1106148, plant#1106149, qty#1106155, demandChannel#1106157, demandStream#1106158, kpis#1106159]
(23) Project
Arguments: [product#1106148, plant#1106149, kpis#1106159, qty#1106155, demandChannel#1106157, demandStream#1106158]
(24) ExternalRDD
Arguments: [obj#1106189]
(25) SerializeFromObject
Arguments: [mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148177), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148177), 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, 148177), 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, 148177), 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, 148177), 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, 148177), 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#1106190, mapobjects(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148178), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148178), 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, 148179), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148179), 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, 148179), 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, 148179), 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, 148180), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148180), 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, 148180), 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, 148180), 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, 148180), 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, 148179), 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, 148178), 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, 148181), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148181), 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, 148181), 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, 148181), 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, 148181), 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, 148178), 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, 148178), 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, 148178), 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, 148182), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148182), 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, 148183), if (isnull(validateexternaltype(lambdavariable(MapObject, ObjectType(class java.lang.Object), true, 148183), 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, 148183), 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, 148183), 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, 148183), 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, 148182), 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, 148182), 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, 148178), 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#1106191]
(26) Generate
Arguments: explode(prodPlantResults#1106191), false, [prodPlantResults#1106192]
(27) Project
Arguments: [prodPlantResults#1106192]
(28) Generate
Arguments: explode(prodPlantResults#1106192.demandChannelStreamKpiResults), false, [demandChannelStreamKpiResults#1106176]
(29) Project
Arguments: [prodPlantResults#1106192.productId AS product#1106170, prodPlantResults#1106192.plantId AS plant#1106171, demandChannelStreamKpiResults#1106176]
(30) Project
Arguments: [product#1106170, plant#1106171, demandChannelStreamKpiResults#1106176, null AS qty#1106177]
(31) Project
Arguments: [product#1106170, plant#1106171, demandChannelStreamKpiResults#1106176, qty#1106177, demandChannelStreamKpiResults#1106176.demandChannel AS demandChannel#1106178]
(32) Project
Arguments: [product#1106170, plant#1106171, demandChannelStreamKpiResults#1106176, qty#1106177, demandChannel#1106178, demandChannelStreamKpiResults#1106176.demandStream AS demandStream#1106180]
(33) Project
Arguments: [product#1106170, plant#1106171, demandChannelStreamKpiResults#1106176, qty#1106177, demandChannel#1106178, demandStream#1106180, demandChannelStreamKpiResults#1106176.kpiResults AS kpis#1106182]
(34) Project
Arguments: [product#1106170, plant#1106171, qty#1106177, demandChannel#1106178, demandStream#1106180, kpis#1106182]
(35) Project
Arguments: [product#1106170, plant#1106171, kpis#1106182, qty#1106177, demandChannel#1106178, demandStream#1106180]
(36) Project
Arguments: [product#1106170, plant#1106171, kpis#1106182, cast(qty#1106177 as double) AS qty#1106193, demandChannel#1106178, demandStream#1106180]
(37) Union
Arguments: false, false
(38) Project
Arguments: [product#1106161, plant#1106162, transform(kpis#1106163, lambdafunction(struct(label, lambda kpi#1106198.label, dateTime, lambda kpi#1106198.datetime, value, lambda kpi#1106198.value), lambda kpi#1106198, false)) AS kpis#1106197, qty#1106188, demandChannel#1106168, demandStream#1106169]
(39) Project
Arguments: [product#1106161, plant#1106162, qty#1106188, demandChannel#1106168, demandStream#1106169, kpis#1106197]
(40) LogicalRDD
Arguments: [shardId#564511, worklistShardItemId#564512L, version#564513, product#564514, plant#564515, periodStart#564516, periodEnd#564517, qty#564518], false
(41) RepartitionByExpression
Arguments: [product#564514, plant#564515], 30
(42) Project
Arguments: [shardId#564511, worklistShardItemId#564512L, product#564514, plant#564515, qty#564518]
(43) Deduplicate
Arguments: [plant#564515, shardId#564511, qty#564518, worklistShardItemId#564512L, product#564514]
(44) Join
Arguments: Inner, ((product#1106161 <=> product#564514) AND ((plant#1106162 <=> plant#564515) AND ((qty#1106188 <=> qty#564518) OR isnull(qty#564518))))
(45) Project
Arguments: [shardId#564511, worklistShardItemId#564512L, qty#1106188, demandChannel#1106168, demandStream#1106169, kpis#1106197]
(46) Deduplicate
Arguments: [demandChannel#1106168, shardId#564511, qty#1106188, worklistShardItemId#564512L, demandStream#1106169]
(47) LogicalRDD
Arguments: [shardId#1106664, worklistShardItemId#1106665L, version#1106666, product#1106667, plant#1106668, periodStart#1106669, periodEnd#1106670, qty#1106671], false
(48) RepartitionByExpression
Arguments: [product#1106667, plant#1106668], 30
(49) Project
Arguments: [shardId#1106664, worklistShardItemId#1106665L, version#1106666]
(50) Aggregate
Arguments: [shardId#1106664, worklistShardItemId#1106665L], [shardId#1106664, worklistShardItemId#1106665L, (max(version#1106666) + 1) AS version#1106659]
(51) Join
Arguments: Inner, ((shardId#564511 = shardId#1106664) AND (worklistShardItemId#564512L = worklistShardItemId#1106665L))
(52) Project
Arguments: [shardId#564511, worklistShardItemId#564512L, qty#1106188, demandChannel#1106168, demandStream#1106169, kpis#1106197, version#1106659]
(53) Project
Arguments: [shardId#564511, worklistShardItemId#564512L, version#1106659, qty#1106188, demandChannel#1106168, demandStream#1106169, kpis#1106197]