digraph G {
0 [id="node0" labelType="html" label="<br><b>MapPartitions</b><br><br>" tooltip="MapPartitions org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008020ce360@23ffb118, obj#922917: com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.KpiCalculationResult"];
1 [id="node1" labelType="html" label="<br><b>DeserializeToObject</b><br><br>" tooltip="DeserializeToObject initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpiservice.core.calculation.PartitionableKpiCalculationArgument), (setConfiguration,initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.Configuration), (setNames,invoke(mapobjects(lambdavariable(MapObject, StringType, false, -1), invoke(lambdavariable(MapObject, StringType, false, -1).toString()), configuration#922644.names, None).array())), (setValues,invoke(mapobjects(lambdavariable(MapObject, StringType, false, -2), invoke(lambdavariable(MapObject, StringType, false, -2).toString()), configuration#922644.values, None).array())))), (setExecutionID,assertnotnull(executionID#922773)), (setPlantOperatingTimesArray,invoke(mapobjects(lambdavariable(MapObject, StructField(plantId,StringType,true), StructField(weekdays,ArrayType(IntegerType,false),false), StructField(openingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), StructField(closingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), false, -3), initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PlantOperatingTimes), (setClosingTimes,invoke(mapobjects(lambdavariable(MapObject, StructField(hour,IntegerType,true), StructField(minute,IntegerType,true), StructField(second,IntegerType,true), false, -4), initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.TimeOfDay), (setHour,assertnotnull(lambdavariable(MapObject, StructField(hour,IntegerType,true), StructField(minute,IntegerType,true), StructField(second,IntegerType,true), false, -4).hour)), (setMinute,assertnotnull(lambdavariable(MapObject, StructField(hour,IntegerType,true), StructField(minute,IntegerType,true), StructField(second,IntegerType,true), false, -4).minute)), (setSecond,assertnotnull(lambdavariable(MapObject, StructField(hour,IntegerType,true), StructField(minute,IntegerType,true), StructField(second,IntegerType,true), false, -4).second))), lambdavariable(MapObject, StructField(plantId,StringType,true), StructField(weekdays,ArrayType(IntegerType,false),false), StructField(openingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), StructField(closingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), false, -3).closingTimes, None).array())), (setOpeningTimes,invoke(mapobjects(lambdavariable(MapObject, StructField(hour,IntegerType,true), StructField(minute,IntegerType,true), StructField(second,IntegerType,true), false, -5), initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.TimeOfDay), (setHour,assertnotnull(lambdavariable(MapObject, StructField(hour,IntegerType,true), StructField(minute,IntegerType,true), StructField(second,IntegerType,true), false, -5).hour)), (setMinute,assertnotnull(lambdavariable(MapObject, StructField(hour,IntegerType,true), StructField(minute,IntegerType,true), StructField(second,IntegerType,true), false, -5).minute)), (setSecond,assertnotnull(lambdavariable(MapObject, StructField(hour,IntegerType,true), StructField(minute,IntegerType,true), StructField(second,IntegerType,true), false, -5).second))), lambdavariable(MapObject, StructField(plantId,StringType,true), StructField(weekdays,ArrayType(IntegerType,false),false), StructField(openingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), StructField(closingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), false, -3).openingTimes, None).array())), (setPlantId,invoke(lambdavariable(MapObject, StructField(plantId,StringType,true), StructField(weekdays,ArrayType(IntegerType,false),false), StructField(openingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), StructField(closingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), false, -3).plantId.toString())), (setWeekdays,invoke(mapobjects(lambdavariable(MapObject, IntegerType, false, -6), static_invoke(java.time.DayOfWeek.valueOf(invoke(cast(lambdavariable(MapObject, IntegerType, false, -6) as string).toString()))), lambdavariable(MapObject, StructField(plantId,StringType,true), StructField(weekdays,ArrayType(IntegerType,false),false), StructField(openingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), StructField(closingTimes,ArrayType(StructType(StructField(hour,IntegerType,true),StructField(minute,IntegerType,true),StructField(second,IntegerType,true)),false),true), false, -3).weekdays, None).array()))), plantOperatingTimesArray#922775, None).array())), (setProdPlantQuantityInformation,invoke(mapobjects(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7), initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.ProdPlantQuantityInformation), (setDemand,initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.Demand), (setDayBucketDemands,invoke(mapobjects(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8), if (isnull(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8))) null else initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.DayBucketDemand), (setAnchorIndices,invoke(mapobjects(lambdavariable(MapObject, IntegerType, true, -9), assertnotnull(lambdavariable(MapObject, IntegerType, true, -9)), lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8).anchorIndices, None).toIntArray())), (setConsiderVariance,assertnotnull(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8).considerVariance)), (setAnchorDatetimes,invoke(mapobjects(lambdavariable(MapObject, TimestampType, true, -10), static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, TimestampType, true, -10))), lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8).anchorDatetimes, None).array())), (setDemandChannel,invoke(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8).demandChannel.toString())), (setDemandStream,invoke(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8).demandStream.toString())), (setAnchorWeekdays,invoke(mapobjects(lambdavariable(MapObject, StringType, true, -11), static_invoke(java.time.DayOfWeek.valueOf(invoke(lambdavariable(MapObject, StringType, true, -11).toString()))), lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8).anchorWeekdays, None).array())), (setDemandVariances,invoke(mapobjects(lambdavariable(MapObject, DoubleType, true, -12), assertnotnull(lambdavariable(MapObject, DoubleType, true, -12)), lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8).demandVariances, None).toDoubleArray())), (setDemandValues,invoke(mapobjects(lambdavariable(MapObject, DoubleType, true, -13), assertnotnull(lambdavariable(MapObject, DoubleType, true, -13)), lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(anchorDatetimes,ArrayType(TimestampType,true),true), StructField(anchorWeekdays,ArrayType(StringType,true),true), StructField(anchorIndices,ArrayType(IntegerType,true),true), true, -8).demandValues, None).toDoubleArray()))), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).demand.dayBucketDemands, None).array())), (setPointInTimeDemands,invoke(mapobjects(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14), if (isnull(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14))) null else initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.PointInTimeDemand), (setHorizonStartDatetime,static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14).horizonStartDatetime))), (setDemandDatetimes,invoke(mapobjects(lambdavariable(MapObject, TimestampType, true, -15), static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, TimestampType, true, -15))), lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14).demandDatetimes, None).array())), (setDemandStream,invoke(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14).demandStream.toString())), (setConsiderVariance,assertnotnull(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14).considerVariance)), (setDemandChannel,invoke(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14).demandChannel.toString())), (setHorizonEndDatetime,static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14).horizonEndDatetime))), (setDemandVariances,invoke(mapobjects(lambdavariable(MapObject, DoubleType, true, -16), assertnotnull(lambdavariable(MapObject, DoubleType, true, -16)), lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14).demandVariances, None).toDoubleArray())), (setDemandValues,invoke(mapobjects(lambdavariable(MapObject, DoubleType, true, -17), assertnotnull(lambdavariable(MapObject, DoubleType, true, -17)), lambdavariable(MapObject, StructField(demandChannel,StringType,true), StructField(demandStream,StringType,true), StructField(considerVariance,BooleanType,true), StructField(demandDatetimes,ArrayType(TimestampType,true),true), StructField(demandValues,ArrayType(DoubleType,true),true), StructField(demandVariances,ArrayType(DoubleType,true),true), StructField(horizonStartDatetime,TimestampType,true), StructField(horizonEndDatetime,TimestampType,true), true, -14).demandValues, None).toDoubleArray()))), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).demand.pointInTimeDemands, None).array())))), (setSchedule,initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.Schedule), (setAvailabilityDatetime,static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).schedule.availabilityDatetime))), (setDemandPeriodEndDatetime,static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).schedule.demandPeriodEndDatetime))), (setOrderDatetime,static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).schedule.orderDatetime))), (setShelfLifeEndDatetime,static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).schedule.shelfLifeEndDatetime))))), (setPlantId,invoke(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).plantId.toString())), (setRequestedQuantities,invoke(mapobjects(lambdavariable(MapObject, DoubleType, true, -18), assertnotnull(lambdavariable(MapObject, DoubleType, true, -18)), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).requestedQuantities, None).toDoubleArray())), (setConfiguration,initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.Configuration), (setNames,invoke(mapobjects(lambdavariable(MapObject, StringType, true, -19), invoke(lambdavariable(MapObject, StringType, true, -19).toString()), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).configuration.names, None).array())), (setValues,invoke(mapobjects(lambdavariable(MapObject, StringType, true, -20), invoke(lambdavariable(MapObject, StringType, true, -20).toString()), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).configuration.values, None).array())))), (setProductId,invoke(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).productId.toString())), (setOpenGoodsMovements,initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.OpenGoodsMovements), (setAvailabilityDatetimes,invoke(mapobjects(lambdavariable(MapObject, TimestampType, true, -21), static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, TimestampType, true, -21))), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).openGoodsMovements.availabilityDatetimes, None).array())), (setOrderDatetimes,invoke(mapobjects(lambdavariable(MapObject, TimestampType, true, -22), static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, TimestampType, true, -22))), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).openGoodsMovements.orderDatetimes, None).array())), (setQuantities,invoke(mapobjects(lambdavariable(MapObject, DoubleType, true, -23), assertnotnull(lambdavariable(MapObject, DoubleType, true, -23)), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).openGoodsMovements.quantities, None).toDoubleArray())), (setShelfLifeEndDatetimes,invoke(mapobjects(lambdavariable(MapObject, TimestampType, true, -24), static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, TimestampType, true, -24))), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).openGoodsMovements.shelfLifeEndDatetimes, None).array())))), (setStock,initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.Stock), (setStockBatchQuantities,invoke(mapobjects(lambdavariable(MapObject, DoubleType, true, -25), assertnotnull(lambdavariable(MapObject, DoubleType, true, -25)), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).stock.stockBatchQuantities, None).toDoubleArray())), (setStockBatchShelfLifeEndDatetimes,invoke(mapobjects(lambdavariable(MapObject, TimestampType, true, -26), static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, TimestampType, true, -26))), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).stock.stockBatchShelfLifeEndDatetimes, None).array())), (setStockDatetime,static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).stock.stockDatetime))))), (setTimeDependentSettings,initializejavabean(newInstance(class com.sap.s4hana.eureka.business.crporderquantitykpicalculation.dto.TimeDependentSettings), (setEndDatetimes,invoke(mapobjects(lambdavariable(MapObject, TimestampType, true, -27), static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, TimestampType, true, -27))), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).timeDependentSettings.endDatetimes, None).array())), (setNames,invoke(mapobjects(lambdavariable(MapObject, StringType, true, -28), invoke(lambdavariable(MapObject, StringType, true, -28).toString()), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).timeDependentSettings.names, None).array())), (setStartDatetimes,invoke(mapobjects(lambdavariable(MapObject, TimestampType, true, -29), static_invoke(DateTimeUtils.toJavaTimestamp(lambdavariable(MapObject, TimestampType, true, -29))), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).timeDependentSettings.startDatetimes, None).array())), (setValues,invoke(mapobjects(lambdavariable(MapObject, DoubleType, true, -30), assertnotnull(lambdavariable(MapObject, DoubleType, true, -30)), lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).timeDependentSettings.values, None).toDoubleArray())))), (setOutboundUnit,assertnotnull(lambdavariable(MapObject, StructField(productId,StringType,true), StructField(plantId,StringType,true), StructField(requestedQuantities,ArrayType(DoubleType,true),false), StructField(outboundUnit,DoubleType,true), StructField(stock,StructType(StructField(stockBatchQuantities,ArrayType(DoubleType,true),true),StructField(stockBatchShelfLifeEndDatetimes,ArrayType(TimestampType,true),true),StructField(stockDatetime,TimestampType,true)),false), StructField(demand,StructType(StructField(dayBucketDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(anchorDatetimes,ArrayType(TimestampType,true),true),StructField(anchorWeekdays,ArrayType(StringType,true),true),StructField(anchorIndices,ArrayType(IntegerType,true),true)),true),true),StructField(pointInTimeDemands,ArrayType(StructType(StructField(demandChannel,StringType,true),StructField(demandStream,StringType,true),StructField(considerVariance,BooleanType,true),StructField(demandDatetimes,ArrayType(TimestampType,true),true),StructField(demandValues,ArrayType(DoubleType,true),true),StructField(demandVariances,ArrayType(DoubleType,true),true),StructField(horizonStartDatetime,TimestampType,true),StructField(horizonEndDatetime,TimestampType,true)),true),true)),false), StructField(schedule,StructType(StructField(orderDatetime,TimestampType,true),StructField(availabilityDatetime,TimestampType,true),StructField(demandPeriodEndDatetime,TimestampType,true),StructField(shelfLifeEndDatetime,TimestampType,false)),false), StructField(openGoodsMovements,StructType(StructField(orderDatetimes,ArrayType(TimestampType,true),true),StructField(availabilityDatetimes,ArrayType(TimestampType,true),true),StructField(quantities,ArrayType(DoubleType,true),true),StructField(shelfLifeEndDatetimes,ArrayType(TimestampType,true),true)),false), StructField(timeDependentSettings,StructType(StructField(endDatetimes,ArrayType(TimestampType,true),true),StructField(names,ArrayType(StringType,true),true),StructField(startDatetimes,ArrayType(TimestampType,true),true),StructField(values,ArrayType(DoubleType,true),true)),false), StructField(configuration,StructType(StructField(names,ArrayType(StringType,true),false),StructField(values,ArrayType(StringType,true),false)),false), false, -7).outboundUnit))), prodPlantQuantityInformation#922774, None).array()))), obj#922914: com.sap.s4hana.eureka.business.crporderquantitykpiservice.core.calculation.PartitionableKpiCalculationArgument"];
subgraph cluster2 {
isCluster="true";
id="cluster2";
label="WholeStageCodegen (17)";
tooltip="WholeStageCodegen (17)";
3 [id="node3" labelType="html" label="<br><b>BroadcastNestedLoopJoin</b><br><br>" tooltip="BroadcastNestedLoopJoin BuildRight, Cross"];
}
4 [id="node4" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[executionID#922773], functions=[collect_list(ProductPlantQuantityInformation#922772, 0, 0), collect_set(plantOperatingTimes#921480, 0, 0)])"];
5 [id="node5" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(executionID#922773, 37), ENSURE_REQUIREMENTS, [plan_id=1450051]"];
6 [id="node6" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[executionID#922773], functions=[partial_collect_list(ProductPlantQuantityInformation#922772, 0, 0), partial_collect_set(plantOperatingTimes#921480, 0, 0)])"];
subgraph cluster7 {
isCluster="true";
id="cluster7";
label="WholeStageCodegen (14)";
tooltip="WholeStageCodegen (14)";
8 [id="node8" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [plantOperatingTimes#921480, struct(productId, product#921481, plantId, plant#921482, requestedQuantities, requestedQuantities#922646, outboundUnit, outboundUnit#921483, stock, struct(stockBatchQuantities, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes, stockBatchShelfLifeEndDatetimes#921486, stockDatetime, stockDatetime#921484), demand, struct(dayBucketDemands, dayBucketDemands#921487, pointInTimeDemands, pointInTimeDemands#921488), schedule, schedule#921523, openGoodsMovements, struct(orderDatetimes, CASE WHEN (isnotnull(openGoodsMovementOrderDatetimes#921517) AND isnotnull(openGoodsMovementQuantities#921489)) THEN openGoodsMovementOrderDatetimes#921517 ELSE [] END, availabilityDatetimes, CASE WHEN (isnotnull(openGoodsMovementAvailabilityDatetimes#921490) AND isnotnull(openGoodsMovementQuantities#921489)) THEN openGoodsMovementAvailabilityDatetimes#921490 ELSE [] END, quantities, CASE WHEN isnotnull(openGoodsMovementQuantities#921489) THEN openGoodsMovementQuantities#921489 ELSE [] END, shelfLifeEndDatetimes, CASE WHEN (isnotnull(openGoodsMovementShelfLifeEndDatetimes#921491) AND isnotnull(openGoodsMovementQuantities#921489)) THEN openGoodsMovementShelfLifeEndDatetimes#921491 ELSE [] END), timeDependentSettings, struct(endDatetimes, timeDependentSettingsEndDatetime#921495, names, timeDependentSettingsName#921493, startDatetimes, timeDependentSettingsStartDatetime#921494, values, timeDependentSettingsValue#921496), configuration, configuration#921654) AS ProductPlantQuantityInformation#922772, cast(abs((xxhash64(product#921481, plant#921482, 42) % 37)) as int) AS executionID#922773]"];
9 [id="node9" labelType="html" label="<br><b>SortMergeJoin</b><br><br>" tooltip="SortMergeJoin [product#921481, plant#921482], [product#922749, plant#922750], Inner"];
}
subgraph cluster10 {
isCluster="true";
id="cluster10";
label="WholeStageCodegen (10)";
tooltip="WholeStageCodegen (10)";
11 [id="node11" labelType="html" label="<br><b>Sort</b><br><br>" tooltip="Sort [product#921481 ASC NULLS FIRST, plant#921482 ASC NULLS FIRST], false, 0"];
}
12 [id="node12" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(product#921481, plant#921482, 37), ENSURE_REQUIREMENTS, [plan_id=1450013]"];
13 [id="node13" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#921481, plant#921482, stockDatetime#921484, outboundUnit#921483, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, dayBucketDemands#921487, pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, timeDependentSettingsValue#921496, openGoodsMovementOrderDatetimes#921517, plantOperatingTimes#921480, schedule#921523, struct(names, transform(configurations#921627, lambdafunction(lambda x#921655.explodedConf.configurationName, lambda x#921655, false)), values, transform(configurations#921627, lambdafunction(lambda x#921656.explodedConf.configurationValue, lambda x#921656, false))) AS configuration#921654]"];
14 [id="node14" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[0_1_10000000348#923687, product#921481, plant#921482, stockDatetime#921484, outboundUnit#921483, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, dayBucketDemands#921487, pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, timeDependentSettingsValue#921496, openGoodsMovementOrderDatetimes#921517, plantOperatingTimes#921480, schedule#921523], functions=[collect_list(struct(confPos, confPos#921524, explodedConf, explodedConf#921525), 0, 0)])"];
15 [id="node15" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(0_1_10000000348#923687, product#921481, plant#921482, stockDatetime#921484, outboundUnit#921483, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, dayBucketDemands#921487, pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, timeDependentSettingsValue#921496, openGoodsMovementOrderDatetimes#921517, plantOperatingTimes#921480, schedule#921523, 37), ENSURE_REQUIREMENTS, [plan_id=1449991]"];
16 [id="node16" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[0_1_10000000348 AS 0_1_10000000348#923687, product#921481, plant#921482, stockDatetime#921484, knownfloatingpointnormalized(normalizenanandzero(outboundUnit#921483)) AS outboundUnit#921483, knownfloatingpointnormalized(transform(stockBatchQuantities#921485, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#923688)), lambda arg#923688, false))) AS stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, knownfloatingpointnormalized(transform(dayBucketDemands#921487, lambdafunction(knownfloatingpointnormalized(if (isnull(lambda arg#923689)) null else named_struct(demandChannel, lambda arg#923689.demandChannel, demandStream, lambda arg#923689.demandStream, considerVariance, lambda arg#923689.considerVariance, demandValues, knownfloatingpointnormalized(transform(lambda arg#923689.demandValues, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#923690)), lambda arg#923690, false))), demandVariances, knownfloatingpointnormalized(transform(lambda arg#923689.demandVariances, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#923691)), lambda arg#923691, false))), anchorDatetimes, lambda arg#923689.anchorDatetimes, anchorWeekdays, lambda arg#923689.anchorWeekdays, anchorIndices, lambda arg#923689.anchorIndices)), lambda arg#923689, false))) AS dayBucketDemands#921487, knownfloatingpointnormalized(transform(pointInTimeDemands#921488, lambdafunction(knownfloatingpointnormalized(if (isnull(lambda arg#923692)) null else named_struct(demandChannel, lambda arg#923692.demandChannel, demandStream, lambda arg#923692.demandStream, considerVariance, lambda arg#923692.considerVariance, demandDatetimes, lambda arg#923692.demandDatetimes, demandValues, knownfloatingpointnormalized(transform(lambda arg#923692.demandValues, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#923693)), lambda arg#923693, false))), demandVariances, knownfloatingpointnormalized(transform(lambda arg#923692.demandVariances, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#923694)), lambda arg#923694, false))), horizonStartDatetime, lambda arg#923692.horizonStartDatetime, horizonEndDatetime, lambda arg#923692.horizonEndDatetime)), lambda arg#923692, false))) AS pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, knownfloatingpointnormalized(transform(openGoodsMovementQuantities#921489, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#923695)), lambda arg#923695, false))) AS openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, knownfloatingpointnormalized(transform(timeDependentSettingsValue#921496, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#923696)), lambda arg#923696, false))) AS timeDependentSettingsValue#921496, openGoodsMovementOrderDatetimes#921517, plantOperatingTimes#921480, schedule#921523], functions=[partial_collect_list(struct(confPos, confPos#921524, explodedConf, explodedConf#921525), 0, 0)])"];
subgraph cluster17 {
isCluster="true";
id="cluster17";
label="WholeStageCodegen (9)";
tooltip="WholeStageCodegen (9)";
18 [id="node18" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#921481, plant#921482, stockDatetime#921484, outboundUnit#921483, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, dayBucketDemands#921487, pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, timeDependentSettingsValue#921496, openGoodsMovementOrderDatetimes#921517, plantOperatingTimes#921480, schedule#921523, confPos#921524, explodedConf#921525]"];
19 [id="node19" labelType="html" label="<br><b>SortMergeJoin</b><br><br>" tooltip="SortMergeJoin [distance#921530L, product#921481, plant#921482, configurationName#921526], [minDistance#921532L, product#921591, plant#921592, configurationName#921623], Inner"];
}
subgraph cluster20 {
isCluster="true";
id="cluster20";
label="WholeStageCodegen (4)";
tooltip="WholeStageCodegen (4)";
21 [id="node21" labelType="html" label="<br><b>Sort</b><br><br>" tooltip="Sort [distance#921530L ASC NULLS FIRST, product#921481 ASC NULLS FIRST, plant#921482 ASC NULLS FIRST, configurationName#921526 ASC NULLS FIRST], false, 0"];
}
22 [id="node22" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(distance#921530L, product#921481, plant#921482, configurationName#921526, 37), ENSURE_REQUIREMENTS, [plan_id=1449819]"];
subgraph cluster23 {
isCluster="true";
id="cluster23";
label="WholeStageCodegen (3)";
tooltip="WholeStageCodegen (3)";
24 [id="node24" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#921481, plant#921482, stockDatetime#921484, outboundUnit#921483, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, dayBucketDemands#921487, pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, timeDependentSettingsValue#921496, openGoodsMovementOrderDatetimes#921517, plantOperatingTimes#921480, schedule#921523, confPos#921524, explodedConf#921525, explodedConf#921525.configurationName AS configurationName#921526, (cast(schedule#921523.orderDatetime as bigint) - CASE WHEN isnull(explodedConf#921525.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#921525.configurationValidityDatetime as bigint) END) AS distance#921530L]"];
25 [id="node25" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (((CASE WHEN isnull(explodedConf#921525.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#921525.configurationValidityDatetime as bigint) END <= cast(schedule#921523.orderDatetime as bigint)) AND isnotnull((cast(schedule#921523.orderDatetime as bigint) - CASE WHEN isnull(explodedConf#921525.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#921525.configurationValidityDatetime as bigint) END))) AND isnotnull(explodedConf#921525.configurationName))"];
26 [id="node26" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate posexplode(configuration#921492), [product#921481, plant#921482, stockDatetime#921484, outboundUnit#921483, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, dayBucketDemands#921487, pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, timeDependentSettingsValue#921496, openGoodsMovementOrderDatetimes#921517, plantOperatingTimes#921480, schedule#921523], true, [confPos#921524, explodedConf#921525]"];
27 [id="node27" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#921481, plant#921482, stockDatetime#921484, outboundUnit#921483, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, dayBucketDemands#921487, pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, timeDependentSettingsValue#921496, configuration#921492, openGoodsMovementOrderDatetimes#921517, plantOperatingTimes#921480, struct(orderDatetime, stockDatetime#921484, availabilityDatetime, periodStart#904719, demandPeriodEndDatetime, periodEnd#904720, shelfLifeEndDatetime, 2199-01-01 00:00:00) AS schedule#921523]"];
28 [id="node28" labelType="html" label="<br><b>BroadcastHashJoin</b><br><br>" tooltip="BroadcastHashJoin [product#921481, plant#921482], [product#904717, plant#904718], Inner, BuildRight, false"];
29 [id="node29" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#921481, plant#921482, stockDatetime#921484, outboundUnit#921483, stockBatchQuantities#921485, stockBatchShelfLifeEndDatetimes#921486, dayBucketDemands#921487, pointInTimeDemands#921488, openGoodsMovementAvailabilityDatetimes#921490, openGoodsMovementQuantities#921489, openGoodsMovementShelfLifeEndDatetimes#921491, timeDependentSettingsName#921493, timeDependentSettingsStartDatetime#921494, timeDependentSettingsEndDatetime#921495, timeDependentSettingsValue#921496, configuration#921492, openGoodsMovementAvailabilityDatetimes#921490 AS openGoodsMovementOrderDatetimes#921517, cast(struct(plantId, plant#921482, weekdays, [], openingTimes, [], closingTimes, []) as struct<plantId:string,weekdays:array<int>,openingTimes:array<struct<hour:int,minute:int,second:int>>,closingTimes:array<struct<hour:int,minute:int,second:int>>>) AS plantOperatingTimes#921480]"];
}
30 [id="node30" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(product#921481, plant#921482, 37), REPARTITION_BY_NUM, [plan_id=1449804]"];
subgraph cluster31 {
isCluster="true";
id="cluster31";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
32 [id="node32" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((isnotnull(product#921481) AND isnotnull(plant#921482)) AND isnotnull(stockDatetime#921484))"];
33 [id="node33" labelType="html" label="<br><b>ColumnarToRow</b><br><br>" tooltip="ColumnarToRow"];
}
34 [id="node34" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 10<br>metadata time: 0 ms<br>size of files read: 605.3 KiB" tooltip="FileScan parquet [product#921481,plant#921482,outboundUnit#921483,stockDatetime#921484,stockBatchQuantities#921485,stockBatchShelfLifeEndDatetimes#921486,dayBucketDemands#921487,pointInTimeDemands#921488,openGoodsMovementQuantities#921489,openGoodsMovementAvailabilityDatetimes#921490,openGoodsMovementShelfLifeEndDatetimes#921491,configuration#921492,timeDependentSettingsName#921493,timeDependentSettingsStartDatetime#921494,timeDependentSettingsEndDatetime#921495,timeDependentSettingsValue#921496] Batched: true, DataFilters: [isnotnull(product#921481), isnotnull(plant#921482), isnotnull(stockDatetime#921484)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(product), IsNotNull(plant), IsNotNull(stockDatetime)], ReadSchema: struct<product:string,plant:string,outboundUnit:double,stockDatetime:timestamp,stockBatchQuantiti..."];
35 [id="node35" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 1 ms<br>time to collect: 196 ms<br>number of output rows: 394<br>data size: 2.0 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true], input[1, string, true]),false), [plan_id=1449811]"];
subgraph cluster36 {
isCluster="true";
id="cluster36";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n15 ms (0 ms, 0 ms, 2 ms (stage 99429.0: task 315442))";
tooltip="WholeStageCodegen (2)";
37 [id="node37" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#904717, plant#904718, periodStart#904719, periodEnd#904720]"];
38 [id="node38" labelType="html" label="<b>Filter</b><br><br>number of output rows: 394" tooltip="Filter (((isnotnull(shardId#904714) AND (0_1_10000000348 = shardId#904714)) AND isnotnull(product#904717)) AND isnotnull(plant#904718))"];
}
39 [id="node39" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [periodEnd#904720, periodStart#904719, plant#904718, product#904717, shardId#904714], [isnotnull(shardId#904714), (0_1_10000000348 = shardId#904714), isnotnull(product#904717), isnotnull(plant#904718)]"];
40 [id="node40" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster41 {
isCluster="true";
id="cluster41";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
42 [id="node42" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster43 {
isCluster="true";
id="cluster43";
label="WholeStageCodegen (8)";
tooltip="WholeStageCodegen (8)";
44 [id="node44" labelType="html" label="<br><b>Sort</b><br><br>" tooltip="Sort [minDistance#921532L ASC NULLS FIRST, product#921591 ASC NULLS FIRST, plant#921592 ASC NULLS FIRST, configurationName#921623 ASC NULLS FIRST], false, 0"];
}
45 [id="node45" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(minDistance#921532L, product#921591, plant#921592, configurationName#921623, 37), ENSURE_REQUIREMENTS, [plan_id=1449961]"];
subgraph cluster46 {
isCluster="true";
id="cluster46";
label="WholeStageCodegen (7)";
tooltip="WholeStageCodegen (7)";
47 [id="node47" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter isnotnull(minDistance#921532L)"];
48 [id="node48" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[product#921591, plant#921592, configurationName#921623], functions=[min(distance#921625L)])"];
49 [id="node49" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[product#921591, plant#921592, configurationName#921623], functions=[partial_min(distance#921625L)])"];
50 [id="node50" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#921591, plant#921592, explodedConf#921622.configurationName AS configurationName#921623, (cast(schedule#921620.orderDatetime as bigint) - CASE WHEN isnull(explodedConf#921622.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#921622.configurationValidityDatetime as bigint) END) AS distance#921625L]"];
51 [id="node51" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((CASE WHEN isnull(explodedConf#921622.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#921622.configurationValidityDatetime as bigint) END <= cast(schedule#921620.orderDatetime as bigint)) AND isnotnull(explodedConf#921622.configurationName))"];
52 [id="node52" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate posexplode(configuration#921602), [product#921591, plant#921592, schedule#921620], true, [confPos#921621, explodedConf#921622]"];
53 [id="node53" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#921591, plant#921592, configuration#921602, struct(orderDatetime, stockDatetime#921594, availabilityDatetime, periodStart#921616, demandPeriodEndDatetime, periodEnd#921617, shelfLifeEndDatetime, 2199-01-01 00:00:00) AS schedule#921620]"];
54 [id="node54" labelType="html" label="<br><b>BroadcastHashJoin</b><br><br>" tooltip="BroadcastHashJoin [product#921591, plant#921592], [product#921614, plant#921615], Inner, BuildRight, false"];
}
55 [id="node55" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(product#921591, plant#921592, 37), REPARTITION_BY_NUM, [plan_id=1449828]"];
subgraph cluster56 {
isCluster="true";
id="cluster56";
label="WholeStageCodegen (5)";
tooltip="WholeStageCodegen (5)";
57 [id="node57" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((isnotnull(product#921591) AND isnotnull(plant#921592)) AND isnotnull(stockDatetime#921594))"];
58 [id="node58" labelType="html" label="<br><b>ColumnarToRow</b><br><br>" tooltip="ColumnarToRow"];
}
59 [id="node59" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 10<br>metadata time: 109 ms<br>size of files read: 605.3 KiB" tooltip="FileScan parquet [product#921591,plant#921592,stockDatetime#921594,configuration#921602] Batched: true, DataFilters: [isnotnull(product#921591), isnotnull(plant#921592), isnotnull(stockDatetime#921594)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(product), IsNotNull(plant), IsNotNull(stockDatetime)], ReadSchema: struct<product:string,plant:string,stockDatetime:timestamp,configuration:array<struct<configurati..."];
subgraph cluster60 {
isCluster="true";
id="cluster60";
label="WholeStageCodegen (13)";
tooltip="WholeStageCodegen (13)";
61 [id="node61" labelType="html" label="<br><b>Sort</b><br><br>" tooltip="Sort [product#922749 ASC NULLS FIRST, plant#922750 ASC NULLS FIRST], false, 0"];
}
62 [id="node62" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(product#922749, plant#922750, 37), ENSURE_REQUIREMENTS, [plan_id=1449874]"];
63 [id="node63" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
64 [id="node64" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[product#922749, plant#922750], functions=[collect_list(qty#922753, 0, 0)])"];
65 [id="node65" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(product#922749, plant#922750, 37), ENSURE_REQUIREMENTS, [plan_id=1449867]"];
66 [id="node66" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[product#922749, plant#922750], functions=[partial_collect_list(qty#922753, 0, 0)])"];
subgraph cluster67 {
isCluster="true";
id="cluster67";
label="WholeStageCodegen (11)";
tooltip="WholeStageCodegen (11)";
68 [id="node68" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#922749, plant#922750, qty#922753]"];
69 [id="node69" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (((isNewlyCalculated#921919 AND isnotnull(qty#922753)) AND isnotnull(product#922749)) AND isnotnull(plant#922750))"];
}
70 [id="node70" labelType="html" label="<br><b>InMemoryTableScan</b><br><br>" tooltip="InMemoryTableScan [isNewlyCalculated#921919, plant#922750, product#922749, qty#922753], [isNewlyCalculated#921919, isnotnull(qty#922753), isnotnull(product#922749), isnotnull(plant#922750)]"];
71 [id="node71" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster72 {
isCluster="true";
id="cluster72";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n401 ms (0 ms, 2 ms, 49 ms (stage 99456.0: task 315833))";
tooltip="WholeStageCodegen (5)";
73 [id="node73" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, null AS demandChannel#921916, null AS demandStream#921917, [] AS kpis#921951, true AS isNewlyCalculated#921919]"];
74 [id="node74" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 394<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="SortMergeJoin [coalesce(shardId#904714, ), isnull(shardId#904714), coalesce(worklistShardItemId#904715L, 0), isnull(worklistShardItemId#904715L), coalesce(version#904716, 0), isnull(version#904716), coalesce(product#904717, ), isnull(product#904717), coalesce(plant#904718, ), isnull(plant#904718), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))), isnull(qty#904721)], [coalesce(shardId#921908, ), isnull(shardId#921908), coalesce(worklistShardItemId#921909L, 0), isnull(worklistShardItemId#921909L), coalesce(version#921910, 0), isnull(version#921910), coalesce(product#921911, ), isnull(product#921911), coalesce(plant#921912, ), isnull(plant#921912), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))), isnull(qty#921683)], LeftAnti"];
}
subgraph cluster75 {
isCluster="true";
id="cluster75";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n3.1 s (8 ms, 10 ms, 267 ms (stage 99456.0: task 315808))";
tooltip="WholeStageCodegen (1)";
76 [id="node76" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>1 ms (0 ms, 0 ms, 1 ms (stage 99456.0: task 315814))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 99456.0: task 315808))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="Sort [coalesce(shardId#904714, ) ASC NULLS FIRST, isnull(shardId#904714) ASC NULLS FIRST, coalesce(worklistShardItemId#904715L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#904715L) ASC NULLS FIRST, coalesce(version#904716, 0) ASC NULLS FIRST, isnull(version#904716) ASC NULLS FIRST, coalesce(product#904717, ) ASC NULLS FIRST, isnull(product#904717) ASC NULLS FIRST, coalesce(plant#904718, ) ASC NULLS FIRST, isnull(plant#904718) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))) ASC NULLS FIRST, isnull(qty#904721) ASC NULLS FIRST], false, 0"];
}
77 [id="node77" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 394<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 394<br>local bytes read total (min, med, max (stageId: taskId))<br>28.4 KiB (179.0 B, 792.0 B, 1422.0 B (stage 99456.0: task 315809))<br>merged fetch fallback count: 0<br>local blocks read: 154<br>remote merged chunks fetched: 0<br>remote blocks read: 181<br>data size total (min, med, max (stageId: taskId))<br>52.3 KiB (136.0 B, 1496.0 B, 4.6 KiB (stage 99454.0: task 315569))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>27 ms (0 ms, 0 ms, 1 ms (stage 99454.0: task 315605))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>105 ms (0 ms, 0 ms, 23 ms (stage 99456.0: task 315833))<br>remote bytes read total (min, med, max (stageId: taskId))<br>33.4 KiB (177.0 B, 954.0 B, 1684.0 B (stage 99456.0: task 315821))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>148 ms (0 ms, 1 ms, 27 ms (stage 99456.0: task 315833))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>61.8 KiB (179.0 B, 1740.0 B, 5.0 KiB (stage 99454.0: task 315569))" tooltip="Exchange hashpartitioning(coalesce(shardId#904714, ), isnull(shardId#904714), coalesce(worklistShardItemId#904715L, 0), isnull(worklistShardItemId#904715L), coalesce(version#904716, 0), isnull(version#904716), coalesce(product#904717, ), isnull(product#904717), coalesce(plant#904718, ), isnull(plant#904718), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))), isnull(qty#904721), 37), ENSURE_REQUIREMENTS, [plan_id=1449425]"];
78 [id="node78" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]"];
79 [id="node79" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster80 {
isCluster="true";
id="cluster80";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
81 [id="node81" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster82 {
isCluster="true";
id="cluster82";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n7.5 s (10 ms, 35 ms, 831 ms (stage 99456.0: task 315808))";
tooltip="WholeStageCodegen (4)";
83 [id="node83" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99456.0: task 315808))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99456.0: task 315808))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="Sort [coalesce(shardId#921908, ) ASC NULLS FIRST, isnull(shardId#921908) ASC NULLS FIRST, coalesce(worklistShardItemId#921909L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#921909L) ASC NULLS FIRST, coalesce(version#921910, 0) ASC NULLS FIRST, isnull(version#921910) ASC NULLS FIRST, coalesce(product#921911, ) ASC NULLS FIRST, isnull(product#921911) ASC NULLS FIRST, coalesce(plant#921912, ) ASC NULLS FIRST, isnull(plant#921912) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))) ASC NULLS FIRST, isnull(qty#921683) ASC NULLS FIRST], false, 0"];
}
84 [id="node84" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(coalesce(shardId#921908, ), isnull(shardId#921908), coalesce(worklistShardItemId#921909L, 0), isnull(worklistShardItemId#921909L), coalesce(version#921910, 0), isnull(version#921910), coalesce(product#921911, ), isnull(product#921911), coalesce(plant#921912, ), isnull(plant#921912), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))), isnull(qty#921683), 37), ENSURE_REQUIREMENTS, [plan_id=1449445]"];
85 [id="node85" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
86 [id="node86" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#921908, worklistShardItemId#921909L, version#921910, product#921911, plant#921912, qty#921683]"];
subgraph cluster87 {
isCluster="true";
id="cluster87";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n25 ms (0 ms, 0 ms, 3 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (7)";
88 [id="node88" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, cachedQty#921681 AS qty#921683, demandChannel#921676, demandStream#921677, cachedKpis#921682 AS kpis#921684]"];
89 [id="node89" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="SortMergeJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921680L, cachedShardId#921679], Inner"];
}
subgraph cluster90 {
isCluster="true";
id="cluster90";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (0 ms, 0 ms, 100 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (4)";
91 [id="node91" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99455.0: task 315735))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99455.0: task 315735))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="Sort [worklistShardItemId#904715L ASC NULLS FIRST, shardId#904714 ASC NULLS FIRST], false, 0"];
}
92 [id="node92" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#904715L, shardId#904714, 37), ENSURE_REQUIREMENTS, [plan_id=1449313]"];
subgraph cluster93 {
isCluster="true";
id="cluster93";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n73 ms (0 ms, 1 ms, 6 ms (stage 99451.0: task 315667))";
tooltip="WholeStageCodegen (3)";
94 [id="node94" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 0 ms, 1 ms (stage 99451.0: task 315674))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99451.0: task 315672))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
}
95 [id="node95" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717, 37), ENSURE_REQUIREMENTS, [plan_id=1449309]"];
subgraph cluster96 {
isCluster="true";
id="cluster96";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.0 s (4 ms, 5 ms, 288 ms (stage 99450.0: task 315559))";
tooltip="WholeStageCodegen (2)";
97 [id="node97" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>1.4 s (3 ms, 4 ms, 149 ms (stage 99450.0: task 315556))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99450.0: task 315561))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
98 [id="node98" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718]"];
99 [id="node99" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921670L, cachedShardId#921669], Inner, BuildLeft, ((qty#904721 = cachedQty#921671) OR isnull(qty#904721)), false"];
107 [id="node107" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921663 AS cachedShardId#921669, worklistShardItemId#921664L AS cachedWorklistShardItemId#921670L, qty#921665 AS cachedQty#921671]"];
108 [id="node108" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921664L) AND isnotnull(shardId#921663))"];
109 [id="node109" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921663,worklistShardItemId#921664L,qty#921665,demandChannel#921666,demandStream#921667,kpis#921668]"];
}
100 [id="node100" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 1 ms<br>time to collect: 216 ms<br>number of output rows: 394<br>data size: 2.0 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449303]"];
subgraph cluster101 {
isCluster="true";
id="cluster101";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n22 ms (0 ms, 0 ms, 8 ms (stage 99431.0: task 315456))";
tooltip="WholeStageCodegen (1)";
102 [id="node102" labelType="html" label="<b>Filter</b><br><br>number of output rows: 394" tooltip="Filter (isnotnull(worklistShardItemId#904715L) AND isnotnull(shardId#904714))"];
}
103 [id="node103" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721], [isnotnull(worklistShardItemId#904715L), isnotnull(shardId#904714)]"];
104 [id="node104" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster105 {
isCluster="true";
id="cluster105";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
106 [id="node106" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster110 {
isCluster="true";
id="cluster110";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
111 [id="node111" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [cachedWorklistShardItemId#921680L ASC NULLS FIRST, cachedShardId#921679 ASC NULLS FIRST], false, 0"];
}
112 [id="node112" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,163<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read total (min, med, max (stageId: taskId))<br>559.2 KiB (7.1 KiB, 16.9 KiB, 21.9 KiB (stage 99455.0: task 315750))<br>merged fetch fallback count: 0<br>local blocks read: 751<br>remote merged chunks fetched: 0<br>remote blocks read: 558<br>data size total (min, med, max (stageId: taskId))<br>2.5 MiB (60.9 KiB, 68.9 KiB, 76.9 KiB (stage 99452.0: task 315619))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>65 ms (1 ms, 1 ms, 2 ms (stage 99452.0: task 315610))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read total (min, med, max (stageId: taskId))<br>412.9 KiB (5.4 KiB, 8.7 KiB, 21.6 KiB (stage 99455.0: task 315741))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>57 ms (0 ms, 1 ms, 7 ms (stage 99455.0: task 315763))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>972.1 KiB (24.1 KiB, 26.3 KiB, 28.4 KiB (stage 99452.0: task 315633))" tooltip="Exchange hashpartitioning(cachedWorklistShardItemId#921680L, cachedShardId#921679, 37), ENSURE_REQUIREMENTS, [plan_id=1449319]"];
subgraph cluster113 {
isCluster="true";
id="cluster113";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n482 ms (6 ms, 8 ms, 54 ms (stage 99452.0: task 315570))";
tooltip="WholeStageCodegen (5)";
114 [id="node114" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921673 AS cachedShardId#921679, worklistShardItemId#921674L AS cachedWorklistShardItemId#921680L, qty#921675 AS cachedQty#921681, demandChannel#921676, demandStream#921677, kpis#921678 AS cachedKpis#921682]"];
115 [id="node115" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921674L) AND isnotnull(shardId#921673))"];
116 [id="node116" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921673,worklistShardItemId#921674L,qty#921675,demandChannel#921676,demandStream#921677,kpis#921678]"];
}
subgraph cluster117 {
isCluster="true";
id="cluster117";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n277 ms (4 ms, 5 ms, 21 ms (stage 99455.0: task 315711))";
tooltip="WholeStageCodegen (3)";
118 [id="node118" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897]"];
119 [id="node119" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#921891L, shardId#921890], [cachedWorklistShardItemId#921905L, cachedShardId#921904], Inner, BuildLeft, false"];
127 [id="node127" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921898 AS cachedShardId#921904, worklistShardItemId#921899L AS cachedWorklistShardItemId#921905L]"];
128 [id="node128" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921899L) AND isnotnull(shardId#921898))"];
129 [id="node129" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921898,worklistShardItemId#921899L,qty#921900,demandChannel#921901,demandStream#921902,kpis#921903]"];
}
120 [id="node120" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 223 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449439]"];
subgraph cluster121 {
isCluster="true";
id="cluster121";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n11 ms (0 ms, 0 ms, 2 ms (stage 99430.0: task 315476))";
tooltip="WholeStageCodegen (2)";
122 [id="node122" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#921897) AND isnotnull(worklistShardItemId#921891L)) AND isnotnull(shardId#921890))"];
}
123 [id="node123" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897], [isnull(qty#921897), isnotnull(worklistShardItemId#921891L), isnotnull(shardId#921890)]"];
124 [id="node124" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster125 {
isCluster="true";
id="cluster125";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
126 [id="node126" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster130 {
isCluster="true";
id="cluster130";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (0 ms, 0 ms, 186 ms (stage 99456.0: task 315774))";
tooltip="WholeStageCodegen (6)";
131 [id="node131" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925, qty#921949, demandChannel#921942, demandStream#921943, kpis#921950, false AS isNewlyCalculated#921920]"];
}
132 [id="node132" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#921942, demandStream#921943, kpis#921950, plant#921925, product#921924, qty#921949, shardId#921921, version#921923, worklistShardItemId#921922L]"];
subgraph cluster133 {
isCluster="true";
id="cluster133";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n25 ms (0 ms, 0 ms, 3 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (7)";
134 [id="node134" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, cachedQty#921681 AS qty#921683, demandChannel#921676, demandStream#921677, cachedKpis#921682 AS kpis#921684]"];
135 [id="node135" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="SortMergeJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921680L, cachedShardId#921679], Inner"];
}
subgraph cluster136 {
isCluster="true";
id="cluster136";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (0 ms, 0 ms, 100 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (4)";
137 [id="node137" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99455.0: task 315735))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99455.0: task 315735))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="Sort [worklistShardItemId#904715L ASC NULLS FIRST, shardId#904714 ASC NULLS FIRST], false, 0"];
}
138 [id="node138" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#904715L, shardId#904714, 37), ENSURE_REQUIREMENTS, [plan_id=1449313]"];
subgraph cluster139 {
isCluster="true";
id="cluster139";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n73 ms (0 ms, 1 ms, 6 ms (stage 99451.0: task 315667))";
tooltip="WholeStageCodegen (3)";
140 [id="node140" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 0 ms, 1 ms (stage 99451.0: task 315674))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99451.0: task 315672))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
}
141 [id="node141" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717, 37), ENSURE_REQUIREMENTS, [plan_id=1449309]"];
subgraph cluster142 {
isCluster="true";
id="cluster142";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.0 s (4 ms, 5 ms, 288 ms (stage 99450.0: task 315559))";
tooltip="WholeStageCodegen (2)";
143 [id="node143" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>1.4 s (3 ms, 4 ms, 149 ms (stage 99450.0: task 315556))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99450.0: task 315561))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
144 [id="node144" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718]"];
145 [id="node145" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921670L, cachedShardId#921669], Inner, BuildLeft, ((qty#904721 = cachedQty#921671) OR isnull(qty#904721)), false"];
153 [id="node153" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921663 AS cachedShardId#921669, worklistShardItemId#921664L AS cachedWorklistShardItemId#921670L, qty#921665 AS cachedQty#921671]"];
154 [id="node154" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921664L) AND isnotnull(shardId#921663))"];
155 [id="node155" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921663,worklistShardItemId#921664L,qty#921665,demandChannel#921666,demandStream#921667,kpis#921668]"];
}
146 [id="node146" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 1 ms<br>time to collect: 216 ms<br>number of output rows: 394<br>data size: 2.0 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449303]"];
subgraph cluster147 {
isCluster="true";
id="cluster147";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n22 ms (0 ms, 0 ms, 8 ms (stage 99431.0: task 315456))";
tooltip="WholeStageCodegen (1)";
148 [id="node148" labelType="html" label="<b>Filter</b><br><br>number of output rows: 394" tooltip="Filter (isnotnull(worklistShardItemId#904715L) AND isnotnull(shardId#904714))"];
}
149 [id="node149" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721], [isnotnull(worklistShardItemId#904715L), isnotnull(shardId#904714)]"];
150 [id="node150" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster151 {
isCluster="true";
id="cluster151";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
152 [id="node152" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster156 {
isCluster="true";
id="cluster156";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
157 [id="node157" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [cachedWorklistShardItemId#921680L ASC NULLS FIRST, cachedShardId#921679 ASC NULLS FIRST], false, 0"];
}
158 [id="node158" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,163<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read total (min, med, max (stageId: taskId))<br>559.2 KiB (7.1 KiB, 16.9 KiB, 21.9 KiB (stage 99455.0: task 315750))<br>merged fetch fallback count: 0<br>local blocks read: 751<br>remote merged chunks fetched: 0<br>remote blocks read: 558<br>data size total (min, med, max (stageId: taskId))<br>2.5 MiB (60.9 KiB, 68.9 KiB, 76.9 KiB (stage 99452.0: task 315619))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>65 ms (1 ms, 1 ms, 2 ms (stage 99452.0: task 315610))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read total (min, med, max (stageId: taskId))<br>412.9 KiB (5.4 KiB, 8.7 KiB, 21.6 KiB (stage 99455.0: task 315741))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>57 ms (0 ms, 1 ms, 7 ms (stage 99455.0: task 315763))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>972.1 KiB (24.1 KiB, 26.3 KiB, 28.4 KiB (stage 99452.0: task 315633))" tooltip="Exchange hashpartitioning(cachedWorklistShardItemId#921680L, cachedShardId#921679, 37), ENSURE_REQUIREMENTS, [plan_id=1449319]"];
subgraph cluster159 {
isCluster="true";
id="cluster159";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n482 ms (6 ms, 8 ms, 54 ms (stage 99452.0: task 315570))";
tooltip="WholeStageCodegen (5)";
160 [id="node160" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921673 AS cachedShardId#921679, worklistShardItemId#921674L AS cachedWorklistShardItemId#921680L, qty#921675 AS cachedQty#921681, demandChannel#921676, demandStream#921677, kpis#921678 AS cachedKpis#921682]"];
161 [id="node161" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921674L) AND isnotnull(shardId#921673))"];
162 [id="node162" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921673,worklistShardItemId#921674L,qty#921675,demandChannel#921676,demandStream#921677,kpis#921678]"];
}
subgraph cluster163 {
isCluster="true";
id="cluster163";
label="WholeStageCodegen (12)";
tooltip="WholeStageCodegen (12)";
164 [id="node164" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#922657, plant#922658, [] AS requestedQuantities#922645]"];
165 [id="node165" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (((isNewlyCalculated#922713 AND isnull(qty#922661)) AND isnotnull(product#922657)) AND isnotnull(plant#922658))"];
}
166 [id="node166" labelType="html" label="<br><b>InMemoryTableScan</b><br><br>" tooltip="InMemoryTableScan [isNewlyCalculated#922713, plant#922658, product#922657, qty#922661], [isNewlyCalculated#922713, isnull(qty#922661), isnotnull(product#922657), isnotnull(plant#922658)]"];
167 [id="node167" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster168 {
isCluster="true";
id="cluster168";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n401 ms (0 ms, 2 ms, 49 ms (stage 99456.0: task 315833))";
tooltip="WholeStageCodegen (5)";
169 [id="node169" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, null AS demandChannel#921916, null AS demandStream#921917, [] AS kpis#921951, true AS isNewlyCalculated#921919]"];
170 [id="node170" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 394<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="SortMergeJoin [coalesce(shardId#904714, ), isnull(shardId#904714), coalesce(worklistShardItemId#904715L, 0), isnull(worklistShardItemId#904715L), coalesce(version#904716, 0), isnull(version#904716), coalesce(product#904717, ), isnull(product#904717), coalesce(plant#904718, ), isnull(plant#904718), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))), isnull(qty#904721)], [coalesce(shardId#921908, ), isnull(shardId#921908), coalesce(worklistShardItemId#921909L, 0), isnull(worklistShardItemId#921909L), coalesce(version#921910, 0), isnull(version#921910), coalesce(product#921911, ), isnull(product#921911), coalesce(plant#921912, ), isnull(plant#921912), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))), isnull(qty#921683)], LeftAnti"];
}
subgraph cluster171 {
isCluster="true";
id="cluster171";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n3.1 s (8 ms, 10 ms, 267 ms (stage 99456.0: task 315808))";
tooltip="WholeStageCodegen (1)";
172 [id="node172" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>1 ms (0 ms, 0 ms, 1 ms (stage 99456.0: task 315814))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 99456.0: task 315808))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="Sort [coalesce(shardId#904714, ) ASC NULLS FIRST, isnull(shardId#904714) ASC NULLS FIRST, coalesce(worklistShardItemId#904715L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#904715L) ASC NULLS FIRST, coalesce(version#904716, 0) ASC NULLS FIRST, isnull(version#904716) ASC NULLS FIRST, coalesce(product#904717, ) ASC NULLS FIRST, isnull(product#904717) ASC NULLS FIRST, coalesce(plant#904718, ) ASC NULLS FIRST, isnull(plant#904718) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))) ASC NULLS FIRST, isnull(qty#904721) ASC NULLS FIRST], false, 0"];
}
173 [id="node173" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 394<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 394<br>local bytes read total (min, med, max (stageId: taskId))<br>28.4 KiB (179.0 B, 792.0 B, 1422.0 B (stage 99456.0: task 315809))<br>merged fetch fallback count: 0<br>local blocks read: 154<br>remote merged chunks fetched: 0<br>remote blocks read: 181<br>data size total (min, med, max (stageId: taskId))<br>52.3 KiB (136.0 B, 1496.0 B, 4.6 KiB (stage 99454.0: task 315569))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>27 ms (0 ms, 0 ms, 1 ms (stage 99454.0: task 315605))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>105 ms (0 ms, 0 ms, 23 ms (stage 99456.0: task 315833))<br>remote bytes read total (min, med, max (stageId: taskId))<br>33.4 KiB (177.0 B, 954.0 B, 1684.0 B (stage 99456.0: task 315821))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>148 ms (0 ms, 1 ms, 27 ms (stage 99456.0: task 315833))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>61.8 KiB (179.0 B, 1740.0 B, 5.0 KiB (stage 99454.0: task 315569))" tooltip="Exchange hashpartitioning(coalesce(shardId#904714, ), isnull(shardId#904714), coalesce(worklistShardItemId#904715L, 0), isnull(worklistShardItemId#904715L), coalesce(version#904716, 0), isnull(version#904716), coalesce(product#904717, ), isnull(product#904717), coalesce(plant#904718, ), isnull(plant#904718), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))), isnull(qty#904721), 37), ENSURE_REQUIREMENTS, [plan_id=1449425]"];
174 [id="node174" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]"];
175 [id="node175" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster176 {
isCluster="true";
id="cluster176";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
177 [id="node177" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster178 {
isCluster="true";
id="cluster178";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n7.5 s (10 ms, 35 ms, 831 ms (stage 99456.0: task 315808))";
tooltip="WholeStageCodegen (4)";
179 [id="node179" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99456.0: task 315808))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99456.0: task 315808))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="Sort [coalesce(shardId#921908, ) ASC NULLS FIRST, isnull(shardId#921908) ASC NULLS FIRST, coalesce(worklistShardItemId#921909L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#921909L) ASC NULLS FIRST, coalesce(version#921910, 0) ASC NULLS FIRST, isnull(version#921910) ASC NULLS FIRST, coalesce(product#921911, ) ASC NULLS FIRST, isnull(product#921911) ASC NULLS FIRST, coalesce(plant#921912, ) ASC NULLS FIRST, isnull(plant#921912) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))) ASC NULLS FIRST, isnull(qty#921683) ASC NULLS FIRST], false, 0"];
}
180 [id="node180" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(coalesce(shardId#921908, ), isnull(shardId#921908), coalesce(worklistShardItemId#921909L, 0), isnull(worklistShardItemId#921909L), coalesce(version#921910, 0), isnull(version#921910), coalesce(product#921911, ), isnull(product#921911), coalesce(plant#921912, ), isnull(plant#921912), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))), isnull(qty#921683), 37), ENSURE_REQUIREMENTS, [plan_id=1449445]"];
181 [id="node181" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
182 [id="node182" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#921908, worklistShardItemId#921909L, version#921910, product#921911, plant#921912, qty#921683]"];
subgraph cluster183 {
isCluster="true";
id="cluster183";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n25 ms (0 ms, 0 ms, 3 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (7)";
184 [id="node184" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, cachedQty#921681 AS qty#921683, demandChannel#921676, demandStream#921677, cachedKpis#921682 AS kpis#921684]"];
185 [id="node185" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="SortMergeJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921680L, cachedShardId#921679], Inner"];
}
subgraph cluster186 {
isCluster="true";
id="cluster186";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (0 ms, 0 ms, 100 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (4)";
187 [id="node187" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99455.0: task 315735))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99455.0: task 315735))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="Sort [worklistShardItemId#904715L ASC NULLS FIRST, shardId#904714 ASC NULLS FIRST], false, 0"];
}
188 [id="node188" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#904715L, shardId#904714, 37), ENSURE_REQUIREMENTS, [plan_id=1449313]"];
subgraph cluster189 {
isCluster="true";
id="cluster189";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n73 ms (0 ms, 1 ms, 6 ms (stage 99451.0: task 315667))";
tooltip="WholeStageCodegen (3)";
190 [id="node190" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 0 ms, 1 ms (stage 99451.0: task 315674))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99451.0: task 315672))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
}
191 [id="node191" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717, 37), ENSURE_REQUIREMENTS, [plan_id=1449309]"];
subgraph cluster192 {
isCluster="true";
id="cluster192";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.0 s (4 ms, 5 ms, 288 ms (stage 99450.0: task 315559))";
tooltip="WholeStageCodegen (2)";
193 [id="node193" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>1.4 s (3 ms, 4 ms, 149 ms (stage 99450.0: task 315556))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99450.0: task 315561))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
194 [id="node194" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718]"];
195 [id="node195" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921670L, cachedShardId#921669], Inner, BuildLeft, ((qty#904721 = cachedQty#921671) OR isnull(qty#904721)), false"];
203 [id="node203" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921663 AS cachedShardId#921669, worklistShardItemId#921664L AS cachedWorklistShardItemId#921670L, qty#921665 AS cachedQty#921671]"];
204 [id="node204" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921664L) AND isnotnull(shardId#921663))"];
205 [id="node205" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921663,worklistShardItemId#921664L,qty#921665,demandChannel#921666,demandStream#921667,kpis#921668]"];
}
196 [id="node196" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 1 ms<br>time to collect: 216 ms<br>number of output rows: 394<br>data size: 2.0 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449303]"];
subgraph cluster197 {
isCluster="true";
id="cluster197";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n22 ms (0 ms, 0 ms, 8 ms (stage 99431.0: task 315456))";
tooltip="WholeStageCodegen (1)";
198 [id="node198" labelType="html" label="<b>Filter</b><br><br>number of output rows: 394" tooltip="Filter (isnotnull(worklistShardItemId#904715L) AND isnotnull(shardId#904714))"];
}
199 [id="node199" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721], [isnotnull(worklistShardItemId#904715L), isnotnull(shardId#904714)]"];
200 [id="node200" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster201 {
isCluster="true";
id="cluster201";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
202 [id="node202" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster206 {
isCluster="true";
id="cluster206";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
207 [id="node207" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [cachedWorklistShardItemId#921680L ASC NULLS FIRST, cachedShardId#921679 ASC NULLS FIRST], false, 0"];
}
208 [id="node208" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,163<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read total (min, med, max (stageId: taskId))<br>559.2 KiB (7.1 KiB, 16.9 KiB, 21.9 KiB (stage 99455.0: task 315750))<br>merged fetch fallback count: 0<br>local blocks read: 751<br>remote merged chunks fetched: 0<br>remote blocks read: 558<br>data size total (min, med, max (stageId: taskId))<br>2.5 MiB (60.9 KiB, 68.9 KiB, 76.9 KiB (stage 99452.0: task 315619))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>65 ms (1 ms, 1 ms, 2 ms (stage 99452.0: task 315610))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read total (min, med, max (stageId: taskId))<br>412.9 KiB (5.4 KiB, 8.7 KiB, 21.6 KiB (stage 99455.0: task 315741))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>57 ms (0 ms, 1 ms, 7 ms (stage 99455.0: task 315763))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>972.1 KiB (24.1 KiB, 26.3 KiB, 28.4 KiB (stage 99452.0: task 315633))" tooltip="Exchange hashpartitioning(cachedWorklistShardItemId#921680L, cachedShardId#921679, 37), ENSURE_REQUIREMENTS, [plan_id=1449319]"];
subgraph cluster209 {
isCluster="true";
id="cluster209";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n482 ms (6 ms, 8 ms, 54 ms (stage 99452.0: task 315570))";
tooltip="WholeStageCodegen (5)";
210 [id="node210" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921673 AS cachedShardId#921679, worklistShardItemId#921674L AS cachedWorklistShardItemId#921680L, qty#921675 AS cachedQty#921681, demandChannel#921676, demandStream#921677, kpis#921678 AS cachedKpis#921682]"];
211 [id="node211" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921674L) AND isnotnull(shardId#921673))"];
212 [id="node212" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921673,worklistShardItemId#921674L,qty#921675,demandChannel#921676,demandStream#921677,kpis#921678]"];
}
subgraph cluster213 {
isCluster="true";
id="cluster213";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n277 ms (4 ms, 5 ms, 21 ms (stage 99455.0: task 315711))";
tooltip="WholeStageCodegen (3)";
214 [id="node214" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897]"];
215 [id="node215" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#921891L, shardId#921890], [cachedWorklistShardItemId#921905L, cachedShardId#921904], Inner, BuildLeft, false"];
223 [id="node223" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921898 AS cachedShardId#921904, worklistShardItemId#921899L AS cachedWorklistShardItemId#921905L]"];
224 [id="node224" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921899L) AND isnotnull(shardId#921898))"];
225 [id="node225" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921898,worklistShardItemId#921899L,qty#921900,demandChannel#921901,demandStream#921902,kpis#921903]"];
}
216 [id="node216" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 223 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449439]"];
subgraph cluster217 {
isCluster="true";
id="cluster217";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n11 ms (0 ms, 0 ms, 2 ms (stage 99430.0: task 315476))";
tooltip="WholeStageCodegen (2)";
218 [id="node218" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#921897) AND isnotnull(worklistShardItemId#921891L)) AND isnotnull(shardId#921890))"];
}
219 [id="node219" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897], [isnull(qty#921897), isnotnull(worklistShardItemId#921891L), isnotnull(shardId#921890)]"];
220 [id="node220" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster221 {
isCluster="true";
id="cluster221";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
222 [id="node222" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster226 {
isCluster="true";
id="cluster226";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (0 ms, 0 ms, 186 ms (stage 99456.0: task 315774))";
tooltip="WholeStageCodegen (6)";
227 [id="node227" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925, qty#921949, demandChannel#921942, demandStream#921943, kpis#921950, false AS isNewlyCalculated#921920]"];
}
228 [id="node228" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#921942, demandStream#921943, kpis#921950, plant#921925, product#921924, qty#921949, shardId#921921, version#921923, worklistShardItemId#921922L]"];
subgraph cluster229 {
isCluster="true";
id="cluster229";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n25 ms (0 ms, 0 ms, 3 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (7)";
230 [id="node230" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, cachedQty#921681 AS qty#921683, demandChannel#921676, demandStream#921677, cachedKpis#921682 AS kpis#921684]"];
231 [id="node231" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="SortMergeJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921680L, cachedShardId#921679], Inner"];
}
subgraph cluster232 {
isCluster="true";
id="cluster232";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (0 ms, 0 ms, 100 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (4)";
233 [id="node233" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99455.0: task 315735))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99455.0: task 315735))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="Sort [worklistShardItemId#904715L ASC NULLS FIRST, shardId#904714 ASC NULLS FIRST], false, 0"];
}
234 [id="node234" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#904715L, shardId#904714, 37), ENSURE_REQUIREMENTS, [plan_id=1449313]"];
subgraph cluster235 {
isCluster="true";
id="cluster235";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n73 ms (0 ms, 1 ms, 6 ms (stage 99451.0: task 315667))";
tooltip="WholeStageCodegen (3)";
236 [id="node236" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 0 ms, 1 ms (stage 99451.0: task 315674))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99451.0: task 315672))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
}
237 [id="node237" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717, 37), ENSURE_REQUIREMENTS, [plan_id=1449309]"];
subgraph cluster238 {
isCluster="true";
id="cluster238";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.0 s (4 ms, 5 ms, 288 ms (stage 99450.0: task 315559))";
tooltip="WholeStageCodegen (2)";
239 [id="node239" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>1.4 s (3 ms, 4 ms, 149 ms (stage 99450.0: task 315556))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99450.0: task 315561))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
240 [id="node240" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718]"];
241 [id="node241" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921670L, cachedShardId#921669], Inner, BuildLeft, ((qty#904721 = cachedQty#921671) OR isnull(qty#904721)), false"];
249 [id="node249" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921663 AS cachedShardId#921669, worklistShardItemId#921664L AS cachedWorklistShardItemId#921670L, qty#921665 AS cachedQty#921671]"];
250 [id="node250" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921664L) AND isnotnull(shardId#921663))"];
251 [id="node251" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921663,worklistShardItemId#921664L,qty#921665,demandChannel#921666,demandStream#921667,kpis#921668]"];
}
242 [id="node242" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 1 ms<br>time to collect: 216 ms<br>number of output rows: 394<br>data size: 2.0 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449303]"];
subgraph cluster243 {
isCluster="true";
id="cluster243";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n22 ms (0 ms, 0 ms, 8 ms (stage 99431.0: task 315456))";
tooltip="WholeStageCodegen (1)";
244 [id="node244" labelType="html" label="<b>Filter</b><br><br>number of output rows: 394" tooltip="Filter (isnotnull(worklistShardItemId#904715L) AND isnotnull(shardId#904714))"];
}
245 [id="node245" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721], [isnotnull(worklistShardItemId#904715L), isnotnull(shardId#904714)]"];
246 [id="node246" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster247 {
isCluster="true";
id="cluster247";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
248 [id="node248" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster252 {
isCluster="true";
id="cluster252";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
253 [id="node253" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [cachedWorklistShardItemId#921680L ASC NULLS FIRST, cachedShardId#921679 ASC NULLS FIRST], false, 0"];
}
254 [id="node254" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,163<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read total (min, med, max (stageId: taskId))<br>559.2 KiB (7.1 KiB, 16.9 KiB, 21.9 KiB (stage 99455.0: task 315750))<br>merged fetch fallback count: 0<br>local blocks read: 751<br>remote merged chunks fetched: 0<br>remote blocks read: 558<br>data size total (min, med, max (stageId: taskId))<br>2.5 MiB (60.9 KiB, 68.9 KiB, 76.9 KiB (stage 99452.0: task 315619))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>65 ms (1 ms, 1 ms, 2 ms (stage 99452.0: task 315610))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read total (min, med, max (stageId: taskId))<br>412.9 KiB (5.4 KiB, 8.7 KiB, 21.6 KiB (stage 99455.0: task 315741))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>57 ms (0 ms, 1 ms, 7 ms (stage 99455.0: task 315763))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>972.1 KiB (24.1 KiB, 26.3 KiB, 28.4 KiB (stage 99452.0: task 315633))" tooltip="Exchange hashpartitioning(cachedWorklistShardItemId#921680L, cachedShardId#921679, 37), ENSURE_REQUIREMENTS, [plan_id=1449319]"];
subgraph cluster255 {
isCluster="true";
id="cluster255";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n482 ms (6 ms, 8 ms, 54 ms (stage 99452.0: task 315570))";
tooltip="WholeStageCodegen (5)";
256 [id="node256" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921673 AS cachedShardId#921679, worklistShardItemId#921674L AS cachedWorklistShardItemId#921680L, qty#921675 AS cachedQty#921681, demandChannel#921676, demandStream#921677, kpis#921678 AS cachedKpis#921682]"];
257 [id="node257" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921674L) AND isnotnull(shardId#921673))"];
258 [id="node258" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921673,worklistShardItemId#921674L,qty#921675,demandChannel#921676,demandStream#921677,kpis#921678]"];
}
259 [id="node259" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 1.7 s<br>number of output rows: 1<br>data size: 392.0 B" tooltip="BroadcastExchange IdentityBroadcastMode, [plan_id=1449895]"];
subgraph cluster260 {
isCluster="true";
id="cluster260";
label="WholeStageCodegen (16)\n \nduration: total (min, med, max (stageId: taskId))\n55 ms (0 ms, 0 ms, 10 ms (stage 99457.0: task 315845))";
tooltip="WholeStageCodegen (16)";
261 [id="node261" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>9 ms (0 ms, 0 ms, 5 ms (stage 99457.0: task 315845))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99457.0: task 315856))<br>number of output rows: 1<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[1#923703], functions=[])"];
}
262 [id="node262" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 37<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 37<br>local bytes read: 1125.0 B<br>merged fetch fallback count: 0<br>local blocks read: 15<br>remote merged chunks fetched: 0<br>remote blocks read: 22<br>data size total (min, med, max (stageId: taskId))<br>592.0 B (16.0 B, 16.0 B, 16.0 B (stage 99456.0: task 315808))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>47 ms (0 ms, 0 ms, 29 ms (stage 99456.0: task 315826))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 1650.0 B<br>number of partitions: 37<br>remote reqs duration: 1 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>2.7 KiB (75.0 B, 75.0 B, 75.0 B (stage 99456.0: task 315808))" tooltip="Exchange hashpartitioning(1#923703, 37), ENSURE_REQUIREMENTS, [plan_id=1449891]"];
subgraph cluster263 {
isCluster="true";
id="cluster263";
label="WholeStageCodegen (15)\n \nduration: total (min, med, max (stageId: taskId))\n375 ms (0 ms, 1 ms, 32 ms (stage 99456.0: task 315784))";
tooltip="WholeStageCodegen (15)";
264 [id="node264" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>13 ms (0 ms, 0 ms, 2 ms (stage 99456.0: task 315775))<br>peak memory total (min, med, max (stageId: taskId))<br>18.5 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99456.0: task 315785))<br>number of output rows: 37<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[1 AS 1#923703], functions=[])"];
265 [id="node265" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project"];
266 [id="node266" labelType="html" label="<b>Filter</b><br><br>number of output rows: 394" tooltip="Filter isNewlyCalculated#922864: boolean"];
}
267 [id="node267" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [isNewlyCalculated#922864], [isNewlyCalculated#922864]"];
268 [id="node268" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster269 {
isCluster="true";
id="cluster269";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n401 ms (0 ms, 2 ms, 49 ms (stage 99456.0: task 315833))";
tooltip="WholeStageCodegen (5)";
270 [id="node270" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721, null AS demandChannel#921916, null AS demandStream#921917, [] AS kpis#921951, true AS isNewlyCalculated#921919]"];
271 [id="node271" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 394<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="SortMergeJoin [coalesce(shardId#904714, ), isnull(shardId#904714), coalesce(worklistShardItemId#904715L, 0), isnull(worklistShardItemId#904715L), coalesce(version#904716, 0), isnull(version#904716), coalesce(product#904717, ), isnull(product#904717), coalesce(plant#904718, ), isnull(plant#904718), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))), isnull(qty#904721)], [coalesce(shardId#921908, ), isnull(shardId#921908), coalesce(worklistShardItemId#921909L, 0), isnull(worklistShardItemId#921909L), coalesce(version#921910, 0), isnull(version#921910), coalesce(product#921911, ), isnull(product#921911), coalesce(plant#921912, ), isnull(plant#921912), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))), isnull(qty#921683)], LeftAnti"];
}
subgraph cluster272 {
isCluster="true";
id="cluster272";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n3.1 s (8 ms, 10 ms, 267 ms (stage 99456.0: task 315808))";
tooltip="WholeStageCodegen (1)";
273 [id="node273" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>1 ms (0 ms, 0 ms, 1 ms (stage 99456.0: task 315814))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 99456.0: task 315808))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="Sort [coalesce(shardId#904714, ) ASC NULLS FIRST, isnull(shardId#904714) ASC NULLS FIRST, coalesce(worklistShardItemId#904715L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#904715L) ASC NULLS FIRST, coalesce(version#904716, 0) ASC NULLS FIRST, isnull(version#904716) ASC NULLS FIRST, coalesce(product#904717, ) ASC NULLS FIRST, isnull(product#904717) ASC NULLS FIRST, coalesce(plant#904718, ) ASC NULLS FIRST, isnull(plant#904718) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))) ASC NULLS FIRST, isnull(qty#904721) ASC NULLS FIRST], false, 0"];
}
274 [id="node274" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 394<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 394<br>local bytes read total (min, med, max (stageId: taskId))<br>28.4 KiB (179.0 B, 792.0 B, 1422.0 B (stage 99456.0: task 315809))<br>merged fetch fallback count: 0<br>local blocks read: 154<br>remote merged chunks fetched: 0<br>remote blocks read: 181<br>data size total (min, med, max (stageId: taskId))<br>52.3 KiB (136.0 B, 1496.0 B, 4.6 KiB (stage 99454.0: task 315569))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>27 ms (0 ms, 0 ms, 1 ms (stage 99454.0: task 315605))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>105 ms (0 ms, 0 ms, 23 ms (stage 99456.0: task 315833))<br>remote bytes read total (min, med, max (stageId: taskId))<br>33.4 KiB (177.0 B, 954.0 B, 1684.0 B (stage 99456.0: task 315821))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>148 ms (0 ms, 1 ms, 27 ms (stage 99456.0: task 315833))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>61.8 KiB (179.0 B, 1740.0 B, 5.0 KiB (stage 99454.0: task 315569))" tooltip="Exchange hashpartitioning(coalesce(shardId#904714, ), isnull(shardId#904714), coalesce(worklistShardItemId#904715L, 0), isnull(worklistShardItemId#904715L), coalesce(version#904716, 0), isnull(version#904716), coalesce(product#904717, ), isnull(product#904717), coalesce(plant#904718, ), isnull(plant#904718), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#904721, 0.0))), isnull(qty#904721), 37), ENSURE_REQUIREMENTS, [plan_id=1449425]"];
275 [id="node275" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721]"];
276 [id="node276" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster277 {
isCluster="true";
id="cluster277";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
278 [id="node278" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster279 {
isCluster="true";
id="cluster279";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n7.5 s (10 ms, 35 ms, 831 ms (stage 99456.0: task 315808))";
tooltip="WholeStageCodegen (4)";
280 [id="node280" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99456.0: task 315808))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99456.0: task 315808))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99456.0: task 315808))" tooltip="Sort [coalesce(shardId#921908, ) ASC NULLS FIRST, isnull(shardId#921908) ASC NULLS FIRST, coalesce(worklistShardItemId#921909L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#921909L) ASC NULLS FIRST, coalesce(version#921910, 0) ASC NULLS FIRST, isnull(version#921910) ASC NULLS FIRST, coalesce(product#921911, ) ASC NULLS FIRST, isnull(product#921911) ASC NULLS FIRST, coalesce(plant#921912, ) ASC NULLS FIRST, isnull(plant#921912) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))) ASC NULLS FIRST, isnull(qty#921683) ASC NULLS FIRST], false, 0"];
}
281 [id="node281" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(coalesce(shardId#921908, ), isnull(shardId#921908), coalesce(worklistShardItemId#921909L, 0), isnull(worklistShardItemId#921909L), coalesce(version#921910, 0), isnull(version#921910), coalesce(product#921911, ), isnull(product#921911), coalesce(plant#921912, ), isnull(plant#921912), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#921683, 0.0))), isnull(qty#921683), 37), ENSURE_REQUIREMENTS, [plan_id=1449445]"];
282 [id="node282" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
283 [id="node283" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#921908, worklistShardItemId#921909L, version#921910, product#921911, plant#921912, qty#921683]"];
subgraph cluster284 {
isCluster="true";
id="cluster284";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n25 ms (0 ms, 0 ms, 3 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (7)";
285 [id="node285" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, cachedQty#921681 AS qty#921683, demandChannel#921676, demandStream#921677, cachedKpis#921682 AS kpis#921684]"];
286 [id="node286" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="SortMergeJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921680L, cachedShardId#921679], Inner"];
}
subgraph cluster287 {
isCluster="true";
id="cluster287";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (0 ms, 0 ms, 100 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (4)";
288 [id="node288" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99455.0: task 315735))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99455.0: task 315735))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="Sort [worklistShardItemId#904715L ASC NULLS FIRST, shardId#904714 ASC NULLS FIRST], false, 0"];
}
289 [id="node289" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#904715L, shardId#904714, 37), ENSURE_REQUIREMENTS, [plan_id=1449313]"];
subgraph cluster290 {
isCluster="true";
id="cluster290";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n73 ms (0 ms, 1 ms, 6 ms (stage 99451.0: task 315667))";
tooltip="WholeStageCodegen (3)";
291 [id="node291" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 0 ms, 1 ms (stage 99451.0: task 315674))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99451.0: task 315672))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
}
292 [id="node292" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717, 37), ENSURE_REQUIREMENTS, [plan_id=1449309]"];
subgraph cluster293 {
isCluster="true";
id="cluster293";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.0 s (4 ms, 5 ms, 288 ms (stage 99450.0: task 315559))";
tooltip="WholeStageCodegen (2)";
294 [id="node294" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>1.4 s (3 ms, 4 ms, 149 ms (stage 99450.0: task 315556))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99450.0: task 315561))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
295 [id="node295" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718]"];
296 [id="node296" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921670L, cachedShardId#921669], Inner, BuildLeft, ((qty#904721 = cachedQty#921671) OR isnull(qty#904721)), false"];
304 [id="node304" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921663 AS cachedShardId#921669, worklistShardItemId#921664L AS cachedWorklistShardItemId#921670L, qty#921665 AS cachedQty#921671]"];
305 [id="node305" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921664L) AND isnotnull(shardId#921663))"];
306 [id="node306" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921663,worklistShardItemId#921664L,qty#921665,demandChannel#921666,demandStream#921667,kpis#921668]"];
}
297 [id="node297" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 1 ms<br>time to collect: 216 ms<br>number of output rows: 394<br>data size: 2.0 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449303]"];
subgraph cluster298 {
isCluster="true";
id="cluster298";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n22 ms (0 ms, 0 ms, 8 ms (stage 99431.0: task 315456))";
tooltip="WholeStageCodegen (1)";
299 [id="node299" labelType="html" label="<b>Filter</b><br><br>number of output rows: 394" tooltip="Filter (isnotnull(worklistShardItemId#904715L) AND isnotnull(shardId#904714))"];
}
300 [id="node300" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721], [isnotnull(worklistShardItemId#904715L), isnotnull(shardId#904714)]"];
301 [id="node301" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster302 {
isCluster="true";
id="cluster302";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
303 [id="node303" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster307 {
isCluster="true";
id="cluster307";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
308 [id="node308" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [cachedWorklistShardItemId#921680L ASC NULLS FIRST, cachedShardId#921679 ASC NULLS FIRST], false, 0"];
}
309 [id="node309" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,163<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read total (min, med, max (stageId: taskId))<br>559.2 KiB (7.1 KiB, 16.9 KiB, 21.9 KiB (stage 99455.0: task 315750))<br>merged fetch fallback count: 0<br>local blocks read: 751<br>remote merged chunks fetched: 0<br>remote blocks read: 558<br>data size total (min, med, max (stageId: taskId))<br>2.5 MiB (60.9 KiB, 68.9 KiB, 76.9 KiB (stage 99452.0: task 315619))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>65 ms (1 ms, 1 ms, 2 ms (stage 99452.0: task 315610))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read total (min, med, max (stageId: taskId))<br>412.9 KiB (5.4 KiB, 8.7 KiB, 21.6 KiB (stage 99455.0: task 315741))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>57 ms (0 ms, 1 ms, 7 ms (stage 99455.0: task 315763))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>972.1 KiB (24.1 KiB, 26.3 KiB, 28.4 KiB (stage 99452.0: task 315633))" tooltip="Exchange hashpartitioning(cachedWorklistShardItemId#921680L, cachedShardId#921679, 37), ENSURE_REQUIREMENTS, [plan_id=1449319]"];
subgraph cluster310 {
isCluster="true";
id="cluster310";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n482 ms (6 ms, 8 ms, 54 ms (stage 99452.0: task 315570))";
tooltip="WholeStageCodegen (5)";
311 [id="node311" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921673 AS cachedShardId#921679, worklistShardItemId#921674L AS cachedWorklistShardItemId#921680L, qty#921675 AS cachedQty#921681, demandChannel#921676, demandStream#921677, kpis#921678 AS cachedKpis#921682]"];
312 [id="node312" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921674L) AND isnotnull(shardId#921673))"];
313 [id="node313" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921673,worklistShardItemId#921674L,qty#921675,demandChannel#921676,demandStream#921677,kpis#921678]"];
}
subgraph cluster314 {
isCluster="true";
id="cluster314";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n277 ms (4 ms, 5 ms, 21 ms (stage 99455.0: task 315711))";
tooltip="WholeStageCodegen (3)";
315 [id="node315" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897]"];
316 [id="node316" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#921891L, shardId#921890], [cachedWorklistShardItemId#921905L, cachedShardId#921904], Inner, BuildLeft, false"];
324 [id="node324" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921898 AS cachedShardId#921904, worklistShardItemId#921899L AS cachedWorklistShardItemId#921905L]"];
325 [id="node325" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921899L) AND isnotnull(shardId#921898))"];
326 [id="node326" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921898,worklistShardItemId#921899L,qty#921900,demandChannel#921901,demandStream#921902,kpis#921903]"];
}
317 [id="node317" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 223 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449439]"];
subgraph cluster318 {
isCluster="true";
id="cluster318";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n11 ms (0 ms, 0 ms, 2 ms (stage 99430.0: task 315476))";
tooltip="WholeStageCodegen (2)";
319 [id="node319" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((isnull(qty#921897) AND isnotnull(worklistShardItemId#921891L)) AND isnotnull(shardId#921890))"];
}
320 [id="node320" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#921890, worklistShardItemId#921891L, version#921892, product#921893, plant#921894, qty#921897], [isnull(qty#921897), isnotnull(worklistShardItemId#921891L), isnotnull(shardId#921890)]"];
321 [id="node321" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster322 {
isCluster="true";
id="cluster322";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
323 [id="node323" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster327 {
isCluster="true";
id="cluster327";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (0 ms, 0 ms, 186 ms (stage 99456.0: task 315774))";
tooltip="WholeStageCodegen (6)";
328 [id="node328" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921921, worklistShardItemId#921922L, version#921923, product#921924, plant#921925, qty#921949, demandChannel#921942, demandStream#921943, kpis#921950, false AS isNewlyCalculated#921920]"];
}
329 [id="node329" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#921942, demandStream#921943, kpis#921950, plant#921925, product#921924, qty#921949, shardId#921921, version#921923, worklistShardItemId#921922L]"];
subgraph cluster330 {
isCluster="true";
id="cluster330";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n25 ms (0 ms, 0 ms, 3 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (7)";
331 [id="node331" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, cachedQty#921681 AS qty#921683, demandChannel#921676, demandStream#921677, cachedKpis#921682 AS kpis#921684]"];
332 [id="node332" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 0<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="SortMergeJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921680L, cachedShardId#921679], Inner"];
}
subgraph cluster333 {
isCluster="true";
id="cluster333";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (0 ms, 0 ms, 100 ms (stage 99455.0: task 315739))";
tooltip="WholeStageCodegen (4)";
334 [id="node334" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 99455.0: task 315735))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 99455.0: task 315735))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 99455.0: task 315735))" tooltip="Sort [worklistShardItemId#904715L ASC NULLS FIRST, shardId#904714 ASC NULLS FIRST], false, 0"];
}
335 [id="node335" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#904715L, shardId#904714, 37), ENSURE_REQUIREMENTS, [plan_id=1449313]"];
subgraph cluster336 {
isCluster="true";
id="cluster336";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n73 ms (0 ms, 1 ms, 6 ms (stage 99451.0: task 315667))";
tooltip="WholeStageCodegen (3)";
337 [id="node337" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>2 ms (0 ms, 0 ms, 1 ms (stage 99451.0: task 315674))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99451.0: task 315672))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
}
338 [id="node338" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717, 37), ENSURE_REQUIREMENTS, [plan_id=1449309]"];
subgraph cluster339 {
isCluster="true";
id="cluster339";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.0 s (4 ms, 5 ms, 288 ms (stage 99450.0: task 315559))";
tooltip="WholeStageCodegen (2)";
340 [id="node340" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>1.4 s (3 ms, 4 ms, 149 ms (stage 99450.0: task 315556))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 99450.0: task 315561))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#904718, shardId#904714, version#904716, worklistShardItemId#904715L, product#904717], functions=[])"];
341 [id="node341" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718]"];
342 [id="node342" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [worklistShardItemId#904715L, shardId#904714], [cachedWorklistShardItemId#921670L, cachedShardId#921669], Inner, BuildLeft, ((qty#904721 = cachedQty#921671) OR isnull(qty#904721)), false"];
350 [id="node350" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921663 AS cachedShardId#921669, worklistShardItemId#921664L AS cachedWorklistShardItemId#921670L, qty#921665 AS cachedQty#921671]"];
351 [id="node351" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921664L) AND isnotnull(shardId#921663))"];
352 [id="node352" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921663,worklistShardItemId#921664L,qty#921665,demandChannel#921666,demandStream#921667,kpis#921668]"];
}
343 [id="node343" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 1 ms<br>time to collect: 216 ms<br>number of output rows: 394<br>data size: 2.0 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[1, bigint, false], input[0, string, false]),false), [plan_id=1449303]"];
subgraph cluster344 {
isCluster="true";
id="cluster344";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n22 ms (0 ms, 0 ms, 8 ms (stage 99431.0: task 315456))";
tooltip="WholeStageCodegen (1)";
345 [id="node345" labelType="html" label="<b>Filter</b><br><br>number of output rows: 394" tooltip="Filter (isnotnull(worklistShardItemId#904715L) AND isnotnull(shardId#904714))"];
}
346 [id="node346" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 394" tooltip="InMemoryTableScan [shardId#904714, worklistShardItemId#904715L, version#904716, product#904717, plant#904718, qty#904721], [isnotnull(worklistShardItemId#904715L), isnotnull(shardId#904714)]"];
347 [id="node347" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#904717, plant#904718, 37), REPARTITION_BY_NUM, [plan_id=1449195]"];
subgraph cluster348 {
isCluster="true";
id="cluster348";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
349 [id="node349" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#904714,worklistShardItemId#904715L,version#904716,product#904717,plant#904718,periodStart#904719,periodEnd#904720,qty#904721]"];
}
subgraph cluster353 {
isCluster="true";
id="cluster353";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
354 [id="node354" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [cachedWorklistShardItemId#921680L ASC NULLS FIRST, cachedShardId#921679 ASC NULLS FIRST], false, 0"];
}
355 [id="node355" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,163<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read total (min, med, max (stageId: taskId))<br>559.2 KiB (7.1 KiB, 16.9 KiB, 21.9 KiB (stage 99455.0: task 315750))<br>merged fetch fallback count: 0<br>local blocks read: 751<br>remote merged chunks fetched: 0<br>remote blocks read: 558<br>data size total (min, med, max (stageId: taskId))<br>2.5 MiB (60.9 KiB, 68.9 KiB, 76.9 KiB (stage 99452.0: task 315619))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>65 ms (1 ms, 1 ms, 2 ms (stage 99452.0: task 315610))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read total (min, med, max (stageId: taskId))<br>412.9 KiB (5.4 KiB, 8.7 KiB, 21.6 KiB (stage 99455.0: task 315741))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>57 ms (0 ms, 1 ms, 7 ms (stage 99455.0: task 315763))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>972.1 KiB (24.1 KiB, 26.3 KiB, 28.4 KiB (stage 99452.0: task 315633))" tooltip="Exchange hashpartitioning(cachedWorklistShardItemId#921680L, cachedShardId#921679, 37), ENSURE_REQUIREMENTS, [plan_id=1449319]"];
subgraph cluster356 {
isCluster="true";
id="cluster356";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n482 ms (6 ms, 8 ms, 54 ms (stage 99452.0: task 315570))";
tooltip="WholeStageCodegen (5)";
357 [id="node357" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#921673 AS cachedShardId#921679, worklistShardItemId#921674L AS cachedWorklistShardItemId#921680L, qty#921675 AS cachedQty#921681, demandChannel#921676, demandStream#921677, kpis#921678 AS cachedKpis#921682]"];
358 [id="node358" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,163" tooltip="Filter (isnotnull(worklistShardItemId#921674L) AND isnotnull(shardId#921673))"];
359 [id="node359" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 4,163" tooltip="Scan ExistingRDD[shardId#921673,worklistShardItemId#921674L,qty#921675,demandChannel#921676,demandStream#921677,kpis#921678]"];
}
1->0;
3->1;
4->3;
5->4;
6->5;
8->6;
9->8;
11->9;
12->11;
13->12;
14->13;
15->14;
16->15;
18->16;
19->18;
21->19;
22->21;
24->22;
25->24;
26->25;
27->26;
28->27;
29->28;
30->29;
32->30;
33->32;
34->33;
35->28;
37->35;
38->37;
39->38;
40->39;
42->40;
44->19;
45->44;
47->45;
48->47;
49->48;
50->49;
51->50;
52->51;
53->52;
54->53;
55->54;
57->55;
58->57;
59->58;
35->54;
61->9;
62->61;
63->62;
64->63;
65->64;
66->65;
68->66;
69->68;
70->69;
71->70;
73->71;
74->73;
76->74;
77->76;
78->77;
79->78;
81->79;
83->74;
84->83;
85->84;
86->85;
88->86;
89->88;
91->89;
92->91;
94->92;
95->94;
97->95;
98->97;
99->98;
100->99;
102->100;
103->102;
104->103;
106->104;
107->99;
108->107;
109->108;
111->89;
112->111;
114->112;
115->114;
116->115;
118->85;
119->118;
120->119;
122->120;
123->122;
124->123;
126->124;
127->119;
128->127;
129->128;
131->71;
132->131;
134->132;
135->134;
137->135;
138->137;
140->138;
141->140;
143->141;
144->143;
145->144;
146->145;
148->146;
149->148;
150->149;
152->150;
153->145;
154->153;
155->154;
157->135;
158->157;
160->158;
161->160;
162->161;
164->63;
165->164;
166->165;
167->166;
169->167;
170->169;
172->170;
173->172;
174->173;
175->174;
177->175;
179->170;
180->179;
181->180;
182->181;
184->182;
185->184;
187->185;
188->187;
190->188;
191->190;
193->191;
194->193;
195->194;
196->195;
198->196;
199->198;
200->199;
202->200;
203->195;
204->203;
205->204;
207->185;
208->207;
210->208;
211->210;
212->211;
214->181;
215->214;
216->215;
218->216;
219->218;
220->219;
222->220;
223->215;
224->223;
225->224;
227->167;
228->227;
230->228;
231->230;
233->231;
234->233;
236->234;
237->236;
239->237;
240->239;
241->240;
242->241;
244->242;
245->244;
246->245;
248->246;
249->241;
250->249;
251->250;
253->231;
254->253;
256->254;
257->256;
258->257;
259->3;
261->259;
262->261;
264->262;
265->264;
266->265;
267->266;
268->267;
270->268;
271->270;
273->271;
274->273;
275->274;
276->275;
278->276;
280->271;
281->280;
282->281;
283->282;
285->283;
286->285;
288->286;
289->288;
291->289;
292->291;
294->292;
295->294;
296->295;
297->296;
299->297;
300->299;
301->300;
303->301;
304->296;
305->304;
306->305;
308->286;
309->308;
311->309;
312->311;
313->312;
315->282;
316->315;
317->316;
319->317;
320->319;
321->320;
323->321;
324->316;
325->324;
326->325;
328->268;
329->328;
331->329;
332->331;
334->332;
335->334;
337->335;
338->337;
340->338;
341->340;
342->341;
343->342;
345->343;
346->345;
347->346;
349->347;
350->342;
351->350;
352->351;
354->332;
355->354;
357->355;
358->357;
359->358;
}