digraph G {
0 [id="node0" labelType="html" label="<br><b>MapPartitions</b><br><br>" tooltip="MapPartitions org.apache.spark.sql.internal.ToScalaUDF$$$Lambda/0x00000008021deab8@3dc2df75, obj#14246: 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#13973.names, None).array())), (setValues,invoke(mapobjects(lambdavariable(MapObject, StringType, false, -2), invoke(lambdavariable(MapObject, StringType, false, -2).toString()), configuration#13973.values, None).array())))), (setExecutionID,assertnotnull(executionID#14102)), (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#14104, 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#14103, None).array()))), obj#14243: com.sap.s4hana.eureka.business.crporderquantitykpiservice.core.calculation.PartitionableKpiCalculationArgument"];
subgraph cluster2 {
isCluster="true";
id="cluster2";
label="WholeStageCodegen (16)";
tooltip="WholeStageCodegen (16)";
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#14102], functions=[collect_list(ProductPlantQuantityInformation#14101, 0, 0), collect_set(plantOperatingTimes#12809, 0, 0)])"];
5 [id="node5" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(executionID#14102, 37), ENSURE_REQUIREMENTS, [plan_id=114621]"];
6 [id="node6" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[executionID#14102], functions=[partial_collect_list(ProductPlantQuantityInformation#14101, 0, 0), partial_collect_set(plantOperatingTimes#12809, 0, 0)])"];
subgraph cluster7 {
isCluster="true";
id="cluster7";
label="WholeStageCodegen (13)";
tooltip="WholeStageCodegen (13)";
8 [id="node8" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [plantOperatingTimes#12809, struct(productId, product#12810, plantId, plant#12811, requestedQuantities, requestedQuantities#13975, outboundUnit, outboundUnit#12812, stock, struct(stockBatchQuantities, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes, stockBatchShelfLifeEndDatetimes#12815, stockDatetime, stockDatetime#12813), demand, struct(dayBucketDemands, dayBucketDemands#12816, pointInTimeDemands, pointInTimeDemands#12817), schedule, schedule#12852, openGoodsMovements, struct(orderDatetimes, CASE WHEN (isnotnull(openGoodsMovementOrderDatetimes#12846) AND isnotnull(openGoodsMovementQuantities#12818)) THEN openGoodsMovementOrderDatetimes#12846 ELSE [] END, availabilityDatetimes, CASE WHEN (isnotnull(openGoodsMovementAvailabilityDatetimes#12819) AND isnotnull(openGoodsMovementQuantities#12818)) THEN openGoodsMovementAvailabilityDatetimes#12819 ELSE [] END, quantities, CASE WHEN isnotnull(openGoodsMovementQuantities#12818) THEN openGoodsMovementQuantities#12818 ELSE [] END, shelfLifeEndDatetimes, CASE WHEN (isnotnull(openGoodsMovementShelfLifeEndDatetimes#12820) AND isnotnull(openGoodsMovementQuantities#12818)) THEN openGoodsMovementShelfLifeEndDatetimes#12820 ELSE [] END), timeDependentSettings, struct(endDatetimes, timeDependentSettingsEndDatetime#12824, names, timeDependentSettingsName#12822, startDatetimes, timeDependentSettingsStartDatetime#12823, values, timeDependentSettingsValue#12825), configuration, configuration#12983) AS ProductPlantQuantityInformation#14101, cast(abs((xxhash64(product#12810, plant#12811, 42) % 37)) as int) AS executionID#14102]"];
9 [id="node9" labelType="html" label="<br><b>SortMergeJoin</b><br><br>" tooltip="SortMergeJoin [product#12810, plant#12811], [product#14078, plant#14079], Inner"];
}
subgraph cluster10 {
isCluster="true";
id="cluster10";
label="WholeStageCodegen (9)";
tooltip="WholeStageCodegen (9)";
11 [id="node11" labelType="html" label="<br><b>Sort</b><br><br>" tooltip="Sort [product#12810 ASC NULLS FIRST, plant#12811 ASC NULLS FIRST], false, 0"];
}
12 [id="node12" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(product#12810, plant#12811, 37), ENSURE_REQUIREMENTS, [plan_id=114595]"];
13 [id="node13" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#12810, plant#12811, stockDatetime#12813, outboundUnit#12812, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, dayBucketDemands#12816, pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, timeDependentSettingsValue#12825, openGoodsMovementOrderDatetimes#12846, plantOperatingTimes#12809, schedule#12852, struct(names, transform(configurations#12956, lambdafunction(lambda x#12984.explodedConf.configurationName, lambda x#12984, false)), values, transform(configurations#12956, lambdafunction(lambda x#12985.explodedConf.configurationValue, lambda x#12985, false))) AS configuration#12983]"];
14 [id="node14" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[0_1_10000000004#15184, product#12810, plant#12811, stockDatetime#12813, outboundUnit#12812, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, dayBucketDemands#12816, pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, timeDependentSettingsValue#12825, openGoodsMovementOrderDatetimes#12846, plantOperatingTimes#12809, schedule#12852], functions=[collect_list(struct(confPos, confPos#12853, explodedConf, explodedConf#12854), 0, 0)])"];
15 [id="node15" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(0_1_10000000004#15184, product#12810, plant#12811, stockDatetime#12813, outboundUnit#12812, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, dayBucketDemands#12816, pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, timeDependentSettingsValue#12825, openGoodsMovementOrderDatetimes#12846, plantOperatingTimes#12809, schedule#12852, 37), ENSURE_REQUIREMENTS, [plan_id=114592]"];
16 [id="node16" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[0_1_10000000004 AS 0_1_10000000004#15184, product#12810, plant#12811, stockDatetime#12813, knownfloatingpointnormalized(normalizenanandzero(outboundUnit#12812)) AS outboundUnit#12812, knownfloatingpointnormalized(transform(stockBatchQuantities#12814, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#15185)), lambda arg#15185, false))) AS stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, knownfloatingpointnormalized(transform(dayBucketDemands#12816, lambdafunction(knownfloatingpointnormalized(if (isnull(lambda arg#15186)) null else named_struct(demandChannel, lambda arg#15186.demandChannel, demandStream, lambda arg#15186.demandStream, considerVariance, lambda arg#15186.considerVariance, demandValues, knownfloatingpointnormalized(transform(lambda arg#15186.demandValues, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#15187)), lambda arg#15187, false))), demandVariances, knownfloatingpointnormalized(transform(lambda arg#15186.demandVariances, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#15188)), lambda arg#15188, false))), anchorDatetimes, lambda arg#15186.anchorDatetimes, anchorWeekdays, lambda arg#15186.anchorWeekdays, anchorIndices, lambda arg#15186.anchorIndices)), lambda arg#15186, false))) AS dayBucketDemands#12816, knownfloatingpointnormalized(transform(pointInTimeDemands#12817, lambdafunction(knownfloatingpointnormalized(if (isnull(lambda arg#15189)) null else named_struct(demandChannel, lambda arg#15189.demandChannel, demandStream, lambda arg#15189.demandStream, considerVariance, lambda arg#15189.considerVariance, demandDatetimes, lambda arg#15189.demandDatetimes, demandValues, knownfloatingpointnormalized(transform(lambda arg#15189.demandValues, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#15190)), lambda arg#15190, false))), demandVariances, knownfloatingpointnormalized(transform(lambda arg#15189.demandVariances, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#15191)), lambda arg#15191, false))), horizonStartDatetime, lambda arg#15189.horizonStartDatetime, horizonEndDatetime, lambda arg#15189.horizonEndDatetime)), lambda arg#15189, false))) AS pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, knownfloatingpointnormalized(transform(openGoodsMovementQuantities#12818, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#15192)), lambda arg#15192, false))) AS openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, knownfloatingpointnormalized(transform(timeDependentSettingsValue#12825, lambdafunction(knownfloatingpointnormalized(normalizenanandzero(lambda arg#15193)), lambda arg#15193, false))) AS timeDependentSettingsValue#12825, openGoodsMovementOrderDatetimes#12846, plantOperatingTimes#12809, schedule#12852], functions=[partial_collect_list(struct(confPos, confPos#12853, explodedConf, explodedConf#12854), 0, 0)])"];
subgraph cluster17 {
isCluster="true";
id="cluster17";
label="WholeStageCodegen (8)";
tooltip="WholeStageCodegen (8)";
18 [id="node18" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#12810, plant#12811, stockDatetime#12813, outboundUnit#12812, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, dayBucketDemands#12816, pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, timeDependentSettingsValue#12825, openGoodsMovementOrderDatetimes#12846, plantOperatingTimes#12809, schedule#12852, confPos#12853, explodedConf#12854]"];
19 [id="node19" labelType="html" label="<br><b>SortMergeJoin</b><br><br>" tooltip="SortMergeJoin [distance#12859L, product#12810, plant#12811, configurationName#12855], [minDistance#12861L, product#12920, plant#12921, configurationName#12952], 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#12859L ASC NULLS FIRST, product#12810 ASC NULLS FIRST, plant#12811 ASC NULLS FIRST, configurationName#12855 ASC NULLS FIRST], false, 0"];
}
22 [id="node22" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(distance#12859L, product#12810, plant#12811, configurationName#12855, 37), ENSURE_REQUIREMENTS, [plan_id=114559]"];
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#12810, plant#12811, stockDatetime#12813, outboundUnit#12812, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, dayBucketDemands#12816, pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, timeDependentSettingsValue#12825, openGoodsMovementOrderDatetimes#12846, plantOperatingTimes#12809, schedule#12852, confPos#12853, explodedConf#12854, explodedConf#12854.configurationName AS configurationName#12855, (cast(schedule#12852.orderDatetime as bigint) - CASE WHEN isnull(explodedConf#12854.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#12854.configurationValidityDatetime as bigint) END) AS distance#12859L]"];
25 [id="node25" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (((CASE WHEN isnull(explodedConf#12854.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#12854.configurationValidityDatetime as bigint) END <= cast(schedule#12852.orderDatetime as bigint)) AND isnotnull((cast(schedule#12852.orderDatetime as bigint) - CASE WHEN isnull(explodedConf#12854.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#12854.configurationValidityDatetime as bigint) END))) AND isnotnull(explodedConf#12854.configurationName))"];
26 [id="node26" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate posexplode(configuration#12821), [product#12810, plant#12811, stockDatetime#12813, outboundUnit#12812, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, dayBucketDemands#12816, pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, timeDependentSettingsValue#12825, openGoodsMovementOrderDatetimes#12846, plantOperatingTimes#12809, schedule#12852], true, [confPos#12853, explodedConf#12854]"];
27 [id="node27" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#12810, plant#12811, stockDatetime#12813, outboundUnit#12812, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, dayBucketDemands#12816, pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, timeDependentSettingsValue#12825, configuration#12821, openGoodsMovementOrderDatetimes#12846, plantOperatingTimes#12809, struct(orderDatetime, stockDatetime#12813, availabilityDatetime, periodStart#450, demandPeriodEndDatetime, periodEnd#451, shelfLifeEndDatetime, 2199-01-01 00:00:00) AS schedule#12852]"];
28 [id="node28" labelType="html" label="<br><b>BroadcastHashJoin</b><br><br>" tooltip="BroadcastHashJoin [product#12810, plant#12811], [product#448, plant#449], Inner, BuildLeft, false"];
37 [id="node37" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#448, plant#449, periodStart#450, periodEnd#451]"];
38 [id="node38" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (((isnotnull(shardId#445) AND (0_1_10000000004 = shardId#445)) AND isnotnull(product#448)) AND isnotnull(plant#449))"];
}
29 [id="node29" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 11 ms<br>time to build: 21 ms<br>time to collect: 3.9 s<br>number of output rows: 9,999<br>data size: 10.5 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true], input[1, string, true]),false), [plan_id=114548]"];
subgraph cluster30 {
isCluster="true";
id="cluster30";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n96 ms (1 ms, 3 ms, 5 ms (stage 489.0: task 5063))";
tooltip="WholeStageCodegen (2)";
31 [id="node31" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#12810, plant#12811, stockDatetime#12813, outboundUnit#12812, stockBatchQuantities#12814, stockBatchShelfLifeEndDatetimes#12815, dayBucketDemands#12816, pointInTimeDemands#12817, openGoodsMovementAvailabilityDatetimes#12819, openGoodsMovementQuantities#12818, openGoodsMovementShelfLifeEndDatetimes#12820, timeDependentSettingsName#12822, timeDependentSettingsStartDatetime#12823, timeDependentSettingsEndDatetime#12824, timeDependentSettingsValue#12825, configuration#12821, openGoodsMovementAvailabilityDatetimes#12819 AS openGoodsMovementOrderDatetimes#12846, cast(struct(plantId, plant#12811, 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#12809]"];
}
32 [id="node32" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>715.5 KiB (16.9 KiB, 19.6 KiB, 22.8 KiB (stage 489.0: task 5073))<br>merged fetch fallback count: 0<br>local blocks read: 37<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>7.2 MiB (442.1 KiB, 593.4 KiB, 961.3 KiB (stage 488.0: task 4818))<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>8 ms (0 ms, 0 ms, 0 ms (stage 488.0: task 4820))<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>0 ms (0 ms, 0 ms, 0 ms (stage 489.0: task 5051))<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 total (min, med, max (stageId: taskId))<br>715.5 KiB (43.0 KiB, 58.5 KiB, 93.7 KiB (stage 488.0: task 4818))" tooltip="Exchange hashpartitioning(product#12810, plant#12811, 37), REPARTITION_BY_NUM, [plan_id=114544]"];
subgraph cluster33 {
isCluster="true";
id="cluster33";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n9.4 s (102 ms, 193 ms, 3.3 s (stage 488.0: task 4818))";
tooltip="WholeStageCodegen (1)";
34 [id="node34" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter ((isnotnull(product#12810) AND isnotnull(plant#12811)) AND isnotnull(stockDatetime#12813))"];
35 [id="node35" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 9,999<br>number of input batches: 12" tooltip="ColumnarToRow"];
}
36 [id="node36" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 12<br>scan time total (min, med, max (stageId: taskId))<br>3.0 s (99 ms, 132 ms, 881 ms (stage 488.0: task 4821))<br>metadata time: 0 ms<br>size of files read: 259.3 KiB<br>number of output rows: 9,999" tooltip="FileScan parquet [product#12810,plant#12811,outboundUnit#12812,stockDatetime#12813,stockBatchQuantities#12814,stockBatchShelfLifeEndDatetimes#12815,dayBucketDemands#12816,pointInTimeDemands#12817,openGoodsMovementQuantities#12818,openGoodsMovementAvailabilityDatetimes#12819,openGoodsMovementShelfLifeEndDatetimes#12820,configuration#12821,timeDependentSettingsName#12822,timeDependentSettingsStartDatetime#12823,timeDependentSettingsEndDatetime#12824,timeDependentSettingsValue#12825] Batched: true, DataFilters: [isnotnull(product#12810), isnotnull(plant#12811), isnotnull(stockDatetime#12813)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(product), IsNotNull(plant), IsNotNull(stockDatetime)], ReadSchema: struct<product:string,plant:string,outboundUnit:double,stockDatetime:timestamp,stockBatchQuantiti..."];
39 [id="node39" labelType="html" label="<br><b>InMemoryTableScan</b><br><br>" tooltip="InMemoryTableScan [periodEnd#451, periodStart#450, plant#449, product#448, shardId#445], [isnotnull(shardId#445), (0_1_10000000004 = shardId#445), isnotnull(product#448), isnotnull(plant#449)]"];
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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
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#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster43 {
isCluster="true";
id="cluster43";
label="WholeStageCodegen (7)";
tooltip="WholeStageCodegen (7)";
44 [id="node44" labelType="html" label="<br><b>Sort</b><br><br>" tooltip="Sort [minDistance#12861L ASC NULLS FIRST, product#12920 ASC NULLS FIRST, plant#12921 ASC NULLS FIRST, configurationName#12952 ASC NULLS FIRST], false, 0"];
}
45 [id="node45" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(minDistance#12861L, product#12920, plant#12921, configurationName#12952, 37), ENSURE_REQUIREMENTS, [plan_id=114583]"];
subgraph cluster46 {
isCluster="true";
id="cluster46";
label="WholeStageCodegen (6)";
tooltip="WholeStageCodegen (6)";
47 [id="node47" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter isnotnull(minDistance#12861L)"];
48 [id="node48" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[product#12920, plant#12921, configurationName#12952], functions=[min(distance#12954L)])"];
49 [id="node49" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[product#12920, plant#12921, configurationName#12952], functions=[partial_min(distance#12954L)])"];
50 [id="node50" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#12920, plant#12921, explodedConf#12951.configurationName AS configurationName#12952, (cast(schedule#12949.orderDatetime as bigint) - CASE WHEN isnull(explodedConf#12951.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#12951.configurationValidityDatetime as bigint) END) AS distance#12954L]"];
51 [id="node51" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((CASE WHEN isnull(explodedConf#12951.configurationValidityDatetime) THEN 0 ELSE cast(explodedConf#12951.configurationValidityDatetime as bigint) END <= cast(schedule#12949.orderDatetime as bigint)) AND isnotnull(explodedConf#12951.configurationName))"];
52 [id="node52" labelType="html" label="<br><b>Generate</b><br><br>" tooltip="Generate posexplode(configuration#12931), [product#12920, plant#12921, schedule#12949], true, [confPos#12950, explodedConf#12951]"];
53 [id="node53" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#12920, plant#12921, configuration#12931, struct(orderDatetime, stockDatetime#12923, availabilityDatetime, periodStart#12945, demandPeriodEndDatetime, periodEnd#12946, shelfLifeEndDatetime, 2199-01-01 00:00:00) AS schedule#12949]"];
54 [id="node54" labelType="html" label="<br><b>BroadcastHashJoin</b><br><br>" tooltip="BroadcastHashJoin [product#12920, plant#12921], [product#12943, plant#12944], Inner, BuildLeft, false"];
61 [id="node61" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#12943, plant#12944, periodStart#12945, periodEnd#12946]"];
62 [id="node62" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (((isnotnull(shardId#12940) AND (0_1_10000000004 = shardId#12940)) AND isnotnull(product#12943)) AND isnotnull(plant#12944))"];
}
55 [id="node55" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 7 ms<br>time to build: 15 ms<br>time to collect: 2.2 s<br>number of output rows: 9,999<br>data size: 4.5 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false], input[1, string, false]),false), [plan_id=114569]"];
56 [id="node56" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>467.4 KiB (10.8 KiB, 12.6 KiB, 14.9 KiB (stage 503.0: task 5013))<br>merged fetch fallback count: 0<br>local blocks read: 37<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>2.7 MiB (169.3 KiB, 227.3 KiB, 368.2 KiB (stage 502.0: task 4905))<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>7 ms (0 ms, 0 ms, 0 ms (stage 502.0: task 4921))<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>0 ms (0 ms, 0 ms, 0 ms (stage 503.0: task 5007))<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 total (min, med, max (stageId: taskId))<br>467.4 KiB (27.8 KiB, 37.8 KiB, 60.8 KiB (stage 502.0: task 4905))" tooltip="Exchange hashpartitioning(product#12920, plant#12921, 37), REPARTITION_BY_NUM, [plan_id=114568]"];
subgraph cluster57 {
isCluster="true";
id="cluster57";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n3.5 s (89 ms, 121 ms, 1.2 s (stage 502.0: task 4927))";
tooltip="WholeStageCodegen (5)";
58 [id="node58" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter ((isnotnull(product#12920) AND isnotnull(plant#12921)) AND isnotnull(stockDatetime#12923))"];
59 [id="node59" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 9,999<br>number of input batches: 12" tooltip="ColumnarToRow"];
}
60 [id="node60" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 12<br>scan time total (min, med, max (stageId: taskId))<br>3.4 s (87 ms, 117 ms, 1.2 s (stage 502.0: task 4927))<br>metadata time: 592 ms<br>size of files read: 259.3 KiB<br>number of output rows: 9,999" tooltip="FileScan parquet [product#12920,plant#12921,stockDatetime#12923,configuration#12931] Batched: true, DataFilters: [isnotnull(product#12920), isnotnull(plant#12921), isnotnull(stockDatetime#12923)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(product), IsNotNull(plant), IsNotNull(stockDatetime)], ReadSchema: struct<product:string,plant:string,stockDatetime:timestamp,configuration:array<struct<configurati..."];
63 [id="node63" labelType="html" label="<br><b>InMemoryTableScan</b><br><br>" tooltip="InMemoryTableScan [periodEnd#12946, periodStart#12945, plant#12944, product#12943, shardId#12940], [isnotnull(shardId#12940), (0_1_10000000004 = shardId#12940), isnotnull(product#12943), isnotnull(plant#12944)]"];
64 [id="node64" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster65 {
isCluster="true";
id="cluster65";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
66 [id="node66" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster67 {
isCluster="true";
id="cluster67";
label="WholeStageCodegen (12)";
tooltip="WholeStageCodegen (12)";
68 [id="node68" labelType="html" label="<br><b>Sort</b><br><br>" tooltip="Sort [product#14078 ASC NULLS FIRST, plant#14079 ASC NULLS FIRST], false, 0"];
}
69 [id="node69" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(product#14078, plant#14079, 37), ENSURE_REQUIREMENTS, [plan_id=114612]"];
70 [id="node70" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
71 [id="node71" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[product#14078, plant#14079], functions=[collect_list(qty#14082, 0, 0)])"];
72 [id="node72" labelType="html" label="<b>Exchange</b><br><br>number of partitions: 37" tooltip="Exchange hashpartitioning(product#14078, plant#14079, 37), ENSURE_REQUIREMENTS, [plan_id=114605]"];
73 [id="node73" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[product#14078, plant#14079], functions=[partial_collect_list(qty#14082, 0, 0)])"];
subgraph cluster74 {
isCluster="true";
id="cluster74";
label="WholeStageCodegen (10)";
tooltip="WholeStageCodegen (10)";
75 [id="node75" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#14078, plant#14079, qty#14082]"];
76 [id="node76" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (((isNewlyCalculated#13248 AND isnotnull(qty#14082)) AND isnotnull(product#14078)) AND isnotnull(plant#14079))"];
}
77 [id="node77" labelType="html" label="<br><b>InMemoryTableScan</b><br><br>" tooltip="InMemoryTableScan [isNewlyCalculated#13248, plant#14079, product#14078, qty#14082], [isNewlyCalculated#13248, isnotnull(qty#14082), isnotnull(product#14078), isnotnull(plant#14079)]"];
78 [id="node78" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster79 {
isCluster="true";
id="cluster79";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (7 ms, 14 ms, 109 ms (stage 500.0: task 5211))";
tooltip="WholeStageCodegen (8)";
80 [id="node80" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452, null AS demandChannel#13245, null AS demandStream#13246, [] AS kpis#13280, true AS isNewlyCalculated#13248]"];
81 [id="node81" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 9,999<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="SortMergeJoin [coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452)], [coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012)], LeftAnti"];
}
subgraph cluster82 {
isCluster="true";
id="cluster82";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n2.7 s (15 ms, 28 ms, 387 ms (stage 500.0: task 5208))";
tooltip="WholeStageCodegen (1)";
83 [id="node83" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>19 ms (0 ms, 0 ms, 3 ms (stage 500.0: task 5210))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 500.0: task 5211))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="Sort [coalesce(shardId#445, ) ASC NULLS FIRST, isnull(shardId#445) ASC NULLS FIRST, coalesce(worklistShardItemId#446L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#446L) ASC NULLS FIRST, coalesce(version#447, 0) ASC NULLS FIRST, isnull(version#447) ASC NULLS FIRST, coalesce(product#448, ) ASC NULLS FIRST, isnull(product#448) ASC NULLS FIRST, coalesce(plant#449, ) ASC NULLS FIRST, isnull(plant#449) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))) ASC NULLS FIRST, isnull(qty#452) ASC NULLS FIRST], false, 0"];
}
84 [id="node84" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>333.0 KiB (7.3 KiB, 9.0 KiB, 11.8 KiB (stage 500.0: task 5239))<br>merged fetch fallback count: 0<br>local blocks read: 518<br>remote merged chunks fetched: 0<br>remote blocks read: 851<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 498.0: task 4947))<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>60 ms (1 ms, 1 ms, 2 ms (stage 498.0: task 4947))<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>39 ms (0 ms, 0 ms, 8 ms (stage 500.0: task 5228))<br>remote bytes read total (min, med, max (stageId: taskId))<br>553.8 KiB (12.6 KiB, 14.9 KiB, 17.4 KiB (stage 500.0: task 5233))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>227 ms (3 ms, 4 ms, 16 ms (stage 500.0: task 5214))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>886.8 KiB (21.5 KiB, 24.1 KiB, 27.4 KiB (stage 498.0: task 4947))" tooltip="Exchange hashpartitioning(coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452), 37), ENSURE_REQUIREMENTS, [plan_id=114079]"];
85 [id="node85" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452]"];
86 [id="node86" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster87 {
isCluster="true";
id="cluster87";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
88 [id="node88" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster89 {
isCluster="true";
id="cluster89";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n3.5 m (1.3 s, 2.6 s, 27.4 s (stage 500.0: task 5208))";
tooltip="WholeStageCodegen (7)";
90 [id="node90" 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 500.0: task 5211))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 500.0: task 5211))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="Sort [coalesce(shardId#13237, ) ASC NULLS FIRST, isnull(shardId#13237) ASC NULLS FIRST, coalesce(worklistShardItemId#13238L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#13238L) ASC NULLS FIRST, coalesce(version#13239, 0) ASC NULLS FIRST, isnull(version#13239) ASC NULLS FIRST, coalesce(product#13240, ) ASC NULLS FIRST, isnull(product#13240) ASC NULLS FIRST, coalesce(plant#13241, ) ASC NULLS FIRST, isnull(plant#13241) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))) ASC NULLS FIRST, isnull(qty#13012) ASC NULLS FIRST], false, 0"];
}
91 [id="node91" 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#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012), 37), ENSURE_REQUIREMENTS, [plan_id=114108]"];
92 [id="node92" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
93 [id="node93" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13237, worklistShardItemId#13238L, version#13239, product#13240, plant#13241, qty#13012]"];
subgraph cluster94 {
isCluster="true";
id="cluster94";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (4 ms, 5 ms, 157 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (8)";
95 [id="node95" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
96 [id="node96" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster97 {
isCluster="true";
id="cluster97";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n2.5 s (4 ms, 6 ms, 353 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (5)";
98 [id="node98" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
99 [id="node99" 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>252 ms (3 ms, 4 ms, 21 ms (stage 499.0: task 5042))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
100 [id="node100" 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>186 ms (2 ms, 3 ms, 14 ms (stage 499.0: task 5048))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
101 [id="node101" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
102 [id="node102" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster103 {
isCluster="true";
id="cluster103";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
104 [id="node104" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
105 [id="node105" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>361.3 KiB (7.7 KiB, 8.9 KiB, 16.3 KiB (stage 499.0: task 5048))<br>merged fetch fallback count: 0<br>local blocks read: 563<br>remote merged chunks fetched: 0<br>remote blocks read: 806<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 495.0: task 4954))<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>61 ms (1 ms, 1 ms, 2 ms (stage 495.0: task 4975))<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>1 ms (0 ms, 0 ms, 1 ms (stage 499.0: task 5115))<br>remote bytes read total (min, med, max (stageId: taskId))<br>524.5 KiB (8.4 KiB, 14.5 KiB, 17.7 KiB (stage 499.0: task 5107))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>141 ms (3 ms, 4 ms, 6 ms (stage 499.0: task 5115))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 495.0: task 4954))" tooltip="Exchange hashpartitioning(worklistShardItemId#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster106 {
isCluster="true";
id="cluster106";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n429 ms (3 ms, 4 ms, 125 ms (stage 495.0: task 4930))";
tooltip="WholeStageCodegen (1)";
107 [id="node107" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
108 [id="node108" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
109 [id="node109" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster110 {
isCluster="true";
id="cluster110";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
111 [id="node111" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster112 {
isCluster="true";
id="cluster112";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n5.1 s (5 ms, 6 ms, 721 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (4)";
113 [id="node113" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
114 [id="node114" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster115 {
isCluster="true";
id="cluster115";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
116 [id="node116" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
117 [id="node117" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
118 [id="node118" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster119 {
isCluster="true";
id="cluster119";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
120 [id="node120" 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#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
121 [id="node121" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster122 {
isCluster="true";
id="cluster122";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
123 [id="node123" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
124 [id="node124" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
125 [id="node125" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
subgraph cluster126 {
isCluster="true";
id="cluster126";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n193 ms (3 ms, 4 ms, 20 ms (stage 499.0: task 5139))";
tooltip="WholeStageCodegen (6)";
127 [id="node127" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
128 [id="node128" 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 499.0: task 5123))" tooltip="SortMergeJoin [worklistShardItemId#13220L, shardId#13219], [cachedWorklistShardItemId#13234L, cachedShardId#13233], Inner"];
}
subgraph cluster129 {
isCluster="true";
id="cluster129";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
130 [id="node130" 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 499.0: task 5123))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5123))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5123))" tooltip="Sort [worklistShardItemId#13220L ASC NULLS FIRST, shardId#13219 ASC NULLS FIRST], false, 0"];
}
131 [id="node131" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>332.6 KiB (7.7 KiB, 8.8 KiB, 10.9 KiB (stage 499.0: task 5122))<br>merged fetch fallback count: 0<br>local blocks read: 518<br>remote merged chunks fetched: 0<br>remote blocks read: 851<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 493.0: task 4966))<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>2.9 s (1 ms, 1 ms, 2.8 s (stage 493.0: task 4863))<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>40 ms (0 ms, 0 ms, 16 ms (stage 499.0: task 5139))<br>remote bytes read total (min, med, max (stageId: taskId))<br>553.2 KiB (12.6 KiB, 15.3 KiB, 17.7 KiB (stage 499.0: task 5144))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>207 ms (3 ms, 4 ms, 25 ms (stage 499.0: task 5139))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 493.0: task 4966))" tooltip="Exchange hashpartitioning(worklistShardItemId#13220L, shardId#13219, 37), ENSURE_REQUIREMENTS, [plan_id=114093]"];
subgraph cluster132 {
isCluster="true";
id="cluster132";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.2 s (3 ms, 4 ms, 2.9 s (stage 493.0: task 4863))";
tooltip="WholeStageCodegen (2)";
133 [id="node133" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter ((isnull(qty#13226) AND isnotnull(worklistShardItemId#13220L)) AND isnotnull(shardId#13219))"];
}
134 [id="node134" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226], [isnull(qty#13226), isnotnull(worklistShardItemId#13220L), isnotnull(shardId#13219)]"];
135 [id="node135" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster136 {
isCluster="true";
id="cluster136";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
137 [id="node137" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster138 {
isCluster="true";
id="cluster138";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n291 ms (3 ms, 4 ms, 38 ms (stage 499.0: task 5123))";
tooltip="WholeStageCodegen (5)";
139 [id="node139" 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 499.0: task 5123))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5123))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5123))" tooltip="Sort [cachedWorklistShardItemId#13234L ASC NULLS FIRST, cachedShardId#13233 ASC NULLS FIRST], false, 0"];
}
140 [id="node140" 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(cachedWorklistShardItemId#13234L, cachedShardId#13233, 37), ENSURE_REQUIREMENTS, [plan_id=114099]"];
subgraph cluster141 {
isCluster="true";
id="cluster141";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
142 [id="node142" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
143 [id="node143" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
144 [id="node144" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13227,worklistShardItemId#13228L,qty#13229,demandChannel#13230,demandStream#13231,kpis#13232]"];
}
subgraph cluster145 {
isCluster="true";
id="cluster145";
label="WholeStageCodegen (9)\n \nduration: total (min, med, max (stageId: taskId))\n40 ms (0 ms, 0 ms, 38 ms (stage 500.0: task 5170))";
tooltip="WholeStageCodegen (9)";
146 [id="node146" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13250, worklistShardItemId#13251L, version#13252, product#13253, plant#13254, qty#13278, demandChannel#13271, demandStream#13272, kpis#13279, false AS isNewlyCalculated#13249]"];
}
147 [id="node147" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#13271, demandStream#13272, kpis#13279, plant#13254, product#13253, qty#13278, shardId#13250, version#13252, worklistShardItemId#13251L]"];
subgraph cluster148 {
isCluster="true";
id="cluster148";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (4 ms, 5 ms, 157 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (8)";
149 [id="node149" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
150 [id="node150" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster151 {
isCluster="true";
id="cluster151";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n2.5 s (4 ms, 6 ms, 353 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (5)";
152 [id="node152" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
153 [id="node153" 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>252 ms (3 ms, 4 ms, 21 ms (stage 499.0: task 5042))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
154 [id="node154" 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>186 ms (2 ms, 3 ms, 14 ms (stage 499.0: task 5048))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
155 [id="node155" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
156 [id="node156" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster157 {
isCluster="true";
id="cluster157";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
158 [id="node158" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
159 [id="node159" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>361.3 KiB (7.7 KiB, 8.9 KiB, 16.3 KiB (stage 499.0: task 5048))<br>merged fetch fallback count: 0<br>local blocks read: 563<br>remote merged chunks fetched: 0<br>remote blocks read: 806<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 495.0: task 4954))<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>61 ms (1 ms, 1 ms, 2 ms (stage 495.0: task 4975))<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>1 ms (0 ms, 0 ms, 1 ms (stage 499.0: task 5115))<br>remote bytes read total (min, med, max (stageId: taskId))<br>524.5 KiB (8.4 KiB, 14.5 KiB, 17.7 KiB (stage 499.0: task 5107))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>141 ms (3 ms, 4 ms, 6 ms (stage 499.0: task 5115))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 495.0: task 4954))" tooltip="Exchange hashpartitioning(worklistShardItemId#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster160 {
isCluster="true";
id="cluster160";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n429 ms (3 ms, 4 ms, 125 ms (stage 495.0: task 4930))";
tooltip="WholeStageCodegen (1)";
161 [id="node161" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
162 [id="node162" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
163 [id="node163" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster164 {
isCluster="true";
id="cluster164";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
165 [id="node165" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster166 {
isCluster="true";
id="cluster166";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n5.1 s (5 ms, 6 ms, 721 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (4)";
167 [id="node167" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
168 [id="node168" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster169 {
isCluster="true";
id="cluster169";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
170 [id="node170" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
171 [id="node171" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
172 [id="node172" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster173 {
isCluster="true";
id="cluster173";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
174 [id="node174" 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#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
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>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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster176 {
isCluster="true";
id="cluster176";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
177 [id="node177" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
178 [id="node178" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
179 [id="node179" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
subgraph cluster180 {
isCluster="true";
id="cluster180";
label="WholeStageCodegen (11)";
tooltip="WholeStageCodegen (11)";
181 [id="node181" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#13986, plant#13987, [] AS requestedQuantities#13974]"];
182 [id="node182" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (((isNewlyCalculated#14042 AND isnull(qty#13990)) AND isnotnull(product#13986)) AND isnotnull(plant#13987))"];
}
183 [id="node183" labelType="html" label="<br><b>InMemoryTableScan</b><br><br>" tooltip="InMemoryTableScan [isNewlyCalculated#14042, plant#13987, product#13986, qty#13990], [isNewlyCalculated#14042, isnull(qty#13990), isnotnull(product#13986), isnotnull(plant#13987)]"];
184 [id="node184" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster185 {
isCluster="true";
id="cluster185";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (7 ms, 14 ms, 109 ms (stage 500.0: task 5211))";
tooltip="WholeStageCodegen (8)";
186 [id="node186" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452, null AS demandChannel#13245, null AS demandStream#13246, [] AS kpis#13280, true AS isNewlyCalculated#13248]"];
187 [id="node187" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 9,999<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="SortMergeJoin [coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452)], [coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012)], LeftAnti"];
}
subgraph cluster188 {
isCluster="true";
id="cluster188";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n2.7 s (15 ms, 28 ms, 387 ms (stage 500.0: task 5208))";
tooltip="WholeStageCodegen (1)";
189 [id="node189" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>19 ms (0 ms, 0 ms, 3 ms (stage 500.0: task 5210))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 500.0: task 5211))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="Sort [coalesce(shardId#445, ) ASC NULLS FIRST, isnull(shardId#445) ASC NULLS FIRST, coalesce(worklistShardItemId#446L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#446L) ASC NULLS FIRST, coalesce(version#447, 0) ASC NULLS FIRST, isnull(version#447) ASC NULLS FIRST, coalesce(product#448, ) ASC NULLS FIRST, isnull(product#448) ASC NULLS FIRST, coalesce(plant#449, ) ASC NULLS FIRST, isnull(plant#449) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))) ASC NULLS FIRST, isnull(qty#452) ASC NULLS FIRST], false, 0"];
}
190 [id="node190" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>333.0 KiB (7.3 KiB, 9.0 KiB, 11.8 KiB (stage 500.0: task 5239))<br>merged fetch fallback count: 0<br>local blocks read: 518<br>remote merged chunks fetched: 0<br>remote blocks read: 851<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 498.0: task 4947))<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>60 ms (1 ms, 1 ms, 2 ms (stage 498.0: task 4947))<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>39 ms (0 ms, 0 ms, 8 ms (stage 500.0: task 5228))<br>remote bytes read total (min, med, max (stageId: taskId))<br>553.8 KiB (12.6 KiB, 14.9 KiB, 17.4 KiB (stage 500.0: task 5233))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>227 ms (3 ms, 4 ms, 16 ms (stage 500.0: task 5214))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>886.8 KiB (21.5 KiB, 24.1 KiB, 27.4 KiB (stage 498.0: task 4947))" tooltip="Exchange hashpartitioning(coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452), 37), ENSURE_REQUIREMENTS, [plan_id=114079]"];
191 [id="node191" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452]"];
192 [id="node192" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster193 {
isCluster="true";
id="cluster193";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
194 [id="node194" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster195 {
isCluster="true";
id="cluster195";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n3.5 m (1.3 s, 2.6 s, 27.4 s (stage 500.0: task 5208))";
tooltip="WholeStageCodegen (7)";
196 [id="node196" 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 500.0: task 5211))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 500.0: task 5211))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="Sort [coalesce(shardId#13237, ) ASC NULLS FIRST, isnull(shardId#13237) ASC NULLS FIRST, coalesce(worklistShardItemId#13238L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#13238L) ASC NULLS FIRST, coalesce(version#13239, 0) ASC NULLS FIRST, isnull(version#13239) ASC NULLS FIRST, coalesce(product#13240, ) ASC NULLS FIRST, isnull(product#13240) ASC NULLS FIRST, coalesce(plant#13241, ) ASC NULLS FIRST, isnull(plant#13241) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))) ASC NULLS FIRST, isnull(qty#13012) ASC NULLS FIRST], false, 0"];
}
197 [id="node197" 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#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012), 37), ENSURE_REQUIREMENTS, [plan_id=114108]"];
198 [id="node198" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
199 [id="node199" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13237, worklistShardItemId#13238L, version#13239, product#13240, plant#13241, qty#13012]"];
subgraph cluster200 {
isCluster="true";
id="cluster200";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (4 ms, 5 ms, 157 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (8)";
201 [id="node201" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
202 [id="node202" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster203 {
isCluster="true";
id="cluster203";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n2.5 s (4 ms, 6 ms, 353 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (5)";
204 [id="node204" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
205 [id="node205" 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>252 ms (3 ms, 4 ms, 21 ms (stage 499.0: task 5042))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
206 [id="node206" 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>186 ms (2 ms, 3 ms, 14 ms (stage 499.0: task 5048))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
207 [id="node207" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
208 [id="node208" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster209 {
isCluster="true";
id="cluster209";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
210 [id="node210" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
211 [id="node211" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>361.3 KiB (7.7 KiB, 8.9 KiB, 16.3 KiB (stage 499.0: task 5048))<br>merged fetch fallback count: 0<br>local blocks read: 563<br>remote merged chunks fetched: 0<br>remote blocks read: 806<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 495.0: task 4954))<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>61 ms (1 ms, 1 ms, 2 ms (stage 495.0: task 4975))<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>1 ms (0 ms, 0 ms, 1 ms (stage 499.0: task 5115))<br>remote bytes read total (min, med, max (stageId: taskId))<br>524.5 KiB (8.4 KiB, 14.5 KiB, 17.7 KiB (stage 499.0: task 5107))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>141 ms (3 ms, 4 ms, 6 ms (stage 499.0: task 5115))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 495.0: task 4954))" tooltip="Exchange hashpartitioning(worklistShardItemId#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster212 {
isCluster="true";
id="cluster212";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n429 ms (3 ms, 4 ms, 125 ms (stage 495.0: task 4930))";
tooltip="WholeStageCodegen (1)";
213 [id="node213" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
214 [id="node214" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
215 [id="node215" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster216 {
isCluster="true";
id="cluster216";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
217 [id="node217" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster218 {
isCluster="true";
id="cluster218";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n5.1 s (5 ms, 6 ms, 721 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (4)";
219 [id="node219" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
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>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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster221 {
isCluster="true";
id="cluster221";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
222 [id="node222" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
223 [id="node223" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
224 [id="node224" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster225 {
isCluster="true";
id="cluster225";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
226 [id="node226" 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#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
227 [id="node227" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster228 {
isCluster="true";
id="cluster228";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
229 [id="node229" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
230 [id="node230" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
231 [id="node231" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
subgraph cluster232 {
isCluster="true";
id="cluster232";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n193 ms (3 ms, 4 ms, 20 ms (stage 499.0: task 5139))";
tooltip="WholeStageCodegen (6)";
233 [id="node233" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
234 [id="node234" 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 499.0: task 5123))" tooltip="SortMergeJoin [worklistShardItemId#13220L, shardId#13219], [cachedWorklistShardItemId#13234L, cachedShardId#13233], Inner"];
}
subgraph cluster235 {
isCluster="true";
id="cluster235";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
236 [id="node236" 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 499.0: task 5123))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5123))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5123))" tooltip="Sort [worklistShardItemId#13220L ASC NULLS FIRST, shardId#13219 ASC NULLS FIRST], false, 0"];
}
237 [id="node237" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>332.6 KiB (7.7 KiB, 8.8 KiB, 10.9 KiB (stage 499.0: task 5122))<br>merged fetch fallback count: 0<br>local blocks read: 518<br>remote merged chunks fetched: 0<br>remote blocks read: 851<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 493.0: task 4966))<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>2.9 s (1 ms, 1 ms, 2.8 s (stage 493.0: task 4863))<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>40 ms (0 ms, 0 ms, 16 ms (stage 499.0: task 5139))<br>remote bytes read total (min, med, max (stageId: taskId))<br>553.2 KiB (12.6 KiB, 15.3 KiB, 17.7 KiB (stage 499.0: task 5144))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>207 ms (3 ms, 4 ms, 25 ms (stage 499.0: task 5139))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 493.0: task 4966))" tooltip="Exchange hashpartitioning(worklistShardItemId#13220L, shardId#13219, 37), ENSURE_REQUIREMENTS, [plan_id=114093]"];
subgraph cluster238 {
isCluster="true";
id="cluster238";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.2 s (3 ms, 4 ms, 2.9 s (stage 493.0: task 4863))";
tooltip="WholeStageCodegen (2)";
239 [id="node239" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter ((isnull(qty#13226) AND isnotnull(worklistShardItemId#13220L)) AND isnotnull(shardId#13219))"];
}
240 [id="node240" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226], [isnull(qty#13226), isnotnull(worklistShardItemId#13220L), isnotnull(shardId#13219)]"];
241 [id="node241" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster242 {
isCluster="true";
id="cluster242";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
243 [id="node243" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster244 {
isCluster="true";
id="cluster244";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n291 ms (3 ms, 4 ms, 38 ms (stage 499.0: task 5123))";
tooltip="WholeStageCodegen (5)";
245 [id="node245" 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 499.0: task 5123))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5123))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5123))" tooltip="Sort [cachedWorklistShardItemId#13234L ASC NULLS FIRST, cachedShardId#13233 ASC NULLS FIRST], false, 0"];
}
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>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(cachedWorklistShardItemId#13234L, cachedShardId#13233, 37), ENSURE_REQUIREMENTS, [plan_id=114099]"];
subgraph cluster247 {
isCluster="true";
id="cluster247";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
248 [id="node248" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
249 [id="node249" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
250 [id="node250" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13227,worklistShardItemId#13228L,qty#13229,demandChannel#13230,demandStream#13231,kpis#13232]"];
}
subgraph cluster251 {
isCluster="true";
id="cluster251";
label="WholeStageCodegen (9)\n \nduration: total (min, med, max (stageId: taskId))\n40 ms (0 ms, 0 ms, 38 ms (stage 500.0: task 5170))";
tooltip="WholeStageCodegen (9)";
252 [id="node252" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13250, worklistShardItemId#13251L, version#13252, product#13253, plant#13254, qty#13278, demandChannel#13271, demandStream#13272, kpis#13279, false AS isNewlyCalculated#13249]"];
}
253 [id="node253" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#13271, demandStream#13272, kpis#13279, plant#13254, product#13253, qty#13278, shardId#13250, version#13252, worklistShardItemId#13251L]"];
subgraph cluster254 {
isCluster="true";
id="cluster254";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (4 ms, 5 ms, 157 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (8)";
255 [id="node255" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
256 [id="node256" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster257 {
isCluster="true";
id="cluster257";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n2.5 s (4 ms, 6 ms, 353 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (5)";
258 [id="node258" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
259 [id="node259" 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>252 ms (3 ms, 4 ms, 21 ms (stage 499.0: task 5042))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
260 [id="node260" 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>186 ms (2 ms, 3 ms, 14 ms (stage 499.0: task 5048))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
261 [id="node261" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
262 [id="node262" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster263 {
isCluster="true";
id="cluster263";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
264 [id="node264" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
265 [id="node265" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>361.3 KiB (7.7 KiB, 8.9 KiB, 16.3 KiB (stage 499.0: task 5048))<br>merged fetch fallback count: 0<br>local blocks read: 563<br>remote merged chunks fetched: 0<br>remote blocks read: 806<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 495.0: task 4954))<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>61 ms (1 ms, 1 ms, 2 ms (stage 495.0: task 4975))<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>1 ms (0 ms, 0 ms, 1 ms (stage 499.0: task 5115))<br>remote bytes read total (min, med, max (stageId: taskId))<br>524.5 KiB (8.4 KiB, 14.5 KiB, 17.7 KiB (stage 499.0: task 5107))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>141 ms (3 ms, 4 ms, 6 ms (stage 499.0: task 5115))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 495.0: task 4954))" tooltip="Exchange hashpartitioning(worklistShardItemId#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster266 {
isCluster="true";
id="cluster266";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n429 ms (3 ms, 4 ms, 125 ms (stage 495.0: task 4930))";
tooltip="WholeStageCodegen (1)";
267 [id="node267" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
268 [id="node268" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
269 [id="node269" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster270 {
isCluster="true";
id="cluster270";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
271 [id="node271" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster272 {
isCluster="true";
id="cluster272";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n5.1 s (5 ms, 6 ms, 721 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (4)";
273 [id="node273" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
274 [id="node274" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster275 {
isCluster="true";
id="cluster275";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
276 [id="node276" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
277 [id="node277" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
278 [id="node278" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster279 {
isCluster="true";
id="cluster279";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
280 [id="node280" 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#13009L ASC NULLS FIRST, cachedShardId#13008 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster282 {
isCluster="true";
id="cluster282";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
283 [id="node283" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
284 [id="node284" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
285 [id="node285" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
286 [id="node286" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 1 ms<br>time to collect: 6.7 s<br>number of output rows: 1<br>data size: 392.0 B" tooltip="BroadcastExchange IdentityBroadcastMode, [plan_id=114633]"];
subgraph cluster287 {
isCluster="true";
id="cluster287";
label="WholeStageCodegen (15)\n \nduration: total (min, med, max (stageId: taskId))\n430 ms (0 ms, 0 ms, 76 ms (stage 501.0: task 5256))";
tooltip="WholeStageCodegen (15)";
288 [id="node288" 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>5 ms (0 ms, 0 ms, 3 ms (stage 501.0: task 5298))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 501.0: task 5256))<br>number of output rows: 1<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[1#15200], functions=[])"];
}
289 [id="node289" 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: 2.7 KiB<br>merged fetch fallback count: 0<br>local blocks read: 37<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>592.0 B (16.0 B, 16.0 B, 16.0 B (stage 500.0: task 5211))<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>18 ms (0 ms, 0 ms, 0 ms (stage 500.0: task 5222))<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 total (min, med, max (stageId: taskId))<br>2.7 KiB (75.0 B, 75.0 B, 75.0 B (stage 500.0: task 5211))" tooltip="Exchange hashpartitioning(1#15200, 37), ENSURE_REQUIREMENTS, [plan_id=114629]"];
subgraph cluster290 {
isCluster="true";
id="cluster290";
label="WholeStageCodegen (14)\n \nduration: total (min, med, max (stageId: taskId))\n600 ms (0 ms, 1 ms, 57 ms (stage 500.0: task 5190))";
tooltip="WholeStageCodegen (14)";
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>8 ms (0 ms, 0 ms, 1 ms (stage 500.0: task 5190))<br>peak memory total (min, med, max (stageId: taskId))<br>18.5 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 500.0: task 5168))<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#15200], functions=[])"];
292 [id="node292" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project"];
293 [id="node293" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter isNewlyCalculated#14193: boolean"];
}
294 [id="node294" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [isNewlyCalculated#14193], [isNewlyCalculated#14193]"];
295 [id="node295" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster296 {
isCluster="true";
id="cluster296";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.0 s (7 ms, 14 ms, 109 ms (stage 500.0: task 5211))";
tooltip="WholeStageCodegen (8)";
297 [id="node297" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452, null AS demandChannel#13245, null AS demandStream#13246, [] AS kpis#13280, true AS isNewlyCalculated#13248]"];
298 [id="node298" labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 9,999<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="SortMergeJoin [coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452)], [coalesce(shardId#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012)], LeftAnti"];
}
subgraph cluster299 {
isCluster="true";
id="cluster299";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n2.7 s (15 ms, 28 ms, 387 ms (stage 500.0: task 5208))";
tooltip="WholeStageCodegen (1)";
300 [id="node300" labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>19 ms (0 ms, 0 ms, 3 ms (stage 500.0: task 5210))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 500.0: task 5211))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="Sort [coalesce(shardId#445, ) ASC NULLS FIRST, isnull(shardId#445) ASC NULLS FIRST, coalesce(worklistShardItemId#446L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#446L) ASC NULLS FIRST, coalesce(version#447, 0) ASC NULLS FIRST, isnull(version#447) ASC NULLS FIRST, coalesce(product#448, ) ASC NULLS FIRST, isnull(product#448) ASC NULLS FIRST, coalesce(plant#449, ) ASC NULLS FIRST, isnull(plant#449) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))) ASC NULLS FIRST, isnull(qty#452) ASC NULLS FIRST], false, 0"];
}
301 [id="node301" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>333.0 KiB (7.3 KiB, 9.0 KiB, 11.8 KiB (stage 500.0: task 5239))<br>merged fetch fallback count: 0<br>local blocks read: 518<br>remote merged chunks fetched: 0<br>remote blocks read: 851<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 498.0: task 4947))<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>60 ms (1 ms, 1 ms, 2 ms (stage 498.0: task 4947))<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>39 ms (0 ms, 0 ms, 8 ms (stage 500.0: task 5228))<br>remote bytes read total (min, med, max (stageId: taskId))<br>553.8 KiB (12.6 KiB, 14.9 KiB, 17.4 KiB (stage 500.0: task 5233))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>227 ms (3 ms, 4 ms, 16 ms (stage 500.0: task 5214))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>886.8 KiB (21.5 KiB, 24.1 KiB, 27.4 KiB (stage 498.0: task 4947))" tooltip="Exchange hashpartitioning(coalesce(shardId#445, ), isnull(shardId#445), coalesce(worklistShardItemId#446L, 0), isnull(worklistShardItemId#446L), coalesce(version#447, 0), isnull(version#447), coalesce(product#448, ), isnull(product#448), coalesce(plant#449, ), isnull(plant#449), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#452, 0.0))), isnull(qty#452), 37), ENSURE_REQUIREMENTS, [plan_id=114079]"];
302 [id="node302" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452]"];
303 [id="node303" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster304 {
isCluster="true";
id="cluster304";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
305 [id="node305" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster306 {
isCluster="true";
id="cluster306";
label="WholeStageCodegen (7)\n \nduration: total (min, med, max (stageId: taskId))\n3.5 m (1.3 s, 2.6 s, 27.4 s (stage 500.0: task 5208))";
tooltip="WholeStageCodegen (7)";
307 [id="node307" 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 500.0: task 5211))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 500.0: task 5211))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 500.0: task 5211))" tooltip="Sort [coalesce(shardId#13237, ) ASC NULLS FIRST, isnull(shardId#13237) ASC NULLS FIRST, coalesce(worklistShardItemId#13238L, 0) ASC NULLS FIRST, isnull(worklistShardItemId#13238L) ASC NULLS FIRST, coalesce(version#13239, 0) ASC NULLS FIRST, isnull(version#13239) ASC NULLS FIRST, coalesce(product#13240, ) ASC NULLS FIRST, isnull(product#13240) ASC NULLS FIRST, coalesce(plant#13241, ) ASC NULLS FIRST, isnull(plant#13241) ASC NULLS FIRST, knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))) ASC NULLS FIRST, isnull(qty#13012) ASC NULLS FIRST], false, 0"];
}
308 [id="node308" 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#13237, ), isnull(shardId#13237), coalesce(worklistShardItemId#13238L, 0), isnull(worklistShardItemId#13238L), coalesce(version#13239, 0), isnull(version#13239), coalesce(product#13240, ), isnull(product#13240), coalesce(plant#13241, ), isnull(plant#13241), knownfloatingpointnormalized(normalizenanandzero(coalesce(qty#13012, 0.0))), isnull(qty#13012), 37), ENSURE_REQUIREMENTS, [plan_id=114108]"];
309 [id="node309" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
310 [id="node310" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [shardId#13237, worklistShardItemId#13238L, version#13239, product#13240, plant#13241, qty#13012]"];
subgraph cluster311 {
isCluster="true";
id="cluster311";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (4 ms, 5 ms, 157 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (8)";
312 [id="node312" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
313 [id="node313" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster314 {
isCluster="true";
id="cluster314";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n2.5 s (4 ms, 6 ms, 353 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (5)";
315 [id="node315" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
316 [id="node316" 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>252 ms (3 ms, 4 ms, 21 ms (stage 499.0: task 5042))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
317 [id="node317" 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>186 ms (2 ms, 3 ms, 14 ms (stage 499.0: task 5048))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
318 [id="node318" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
319 [id="node319" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster320 {
isCluster="true";
id="cluster320";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
321 [id="node321" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
322 [id="node322" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>361.3 KiB (7.7 KiB, 8.9 KiB, 16.3 KiB (stage 499.0: task 5048))<br>merged fetch fallback count: 0<br>local blocks read: 563<br>remote merged chunks fetched: 0<br>remote blocks read: 806<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 495.0: task 4954))<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>61 ms (1 ms, 1 ms, 2 ms (stage 495.0: task 4975))<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>1 ms (0 ms, 0 ms, 1 ms (stage 499.0: task 5115))<br>remote bytes read total (min, med, max (stageId: taskId))<br>524.5 KiB (8.4 KiB, 14.5 KiB, 17.7 KiB (stage 499.0: task 5107))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>141 ms (3 ms, 4 ms, 6 ms (stage 499.0: task 5115))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 495.0: task 4954))" tooltip="Exchange hashpartitioning(worklistShardItemId#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster323 {
isCluster="true";
id="cluster323";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n429 ms (3 ms, 4 ms, 125 ms (stage 495.0: task 4930))";
tooltip="WholeStageCodegen (1)";
324 [id="node324" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
325 [id="node325" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
326 [id="node326" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster327 {
isCluster="true";
id="cluster327";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
328 [id="node328" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster329 {
isCluster="true";
id="cluster329";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n5.1 s (5 ms, 6 ms, 721 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (4)";
330 [id="node330" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
331 [id="node331" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster332 {
isCluster="true";
id="cluster332";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
333 [id="node333" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
334 [id="node334" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
335 [id="node335" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster336 {
isCluster="true";
id="cluster336";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
337 [id="node337" 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#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster339 {
isCluster="true";
id="cluster339";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
340 [id="node340" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
341 [id="node341" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
342 [id="node342" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
subgraph cluster343 {
isCluster="true";
id="cluster343";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n193 ms (3 ms, 4 ms, 20 ms (stage 499.0: task 5139))";
tooltip="WholeStageCodegen (6)";
344 [id="node344" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226]"];
345 [id="node345" 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 499.0: task 5123))" tooltip="SortMergeJoin [worklistShardItemId#13220L, shardId#13219], [cachedWorklistShardItemId#13234L, cachedShardId#13233], Inner"];
}
subgraph cluster346 {
isCluster="true";
id="cluster346";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
347 [id="node347" 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 499.0: task 5123))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5123))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5123))" tooltip="Sort [worklistShardItemId#13220L ASC NULLS FIRST, shardId#13219 ASC NULLS FIRST], false, 0"];
}
348 [id="node348" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>332.6 KiB (7.7 KiB, 8.8 KiB, 10.9 KiB (stage 499.0: task 5122))<br>merged fetch fallback count: 0<br>local blocks read: 518<br>remote merged chunks fetched: 0<br>remote blocks read: 851<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 493.0: task 4966))<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>2.9 s (1 ms, 1 ms, 2.8 s (stage 493.0: task 4863))<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>40 ms (0 ms, 0 ms, 16 ms (stage 499.0: task 5139))<br>remote bytes read total (min, med, max (stageId: taskId))<br>553.2 KiB (12.6 KiB, 15.3 KiB, 17.7 KiB (stage 499.0: task 5144))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>207 ms (3 ms, 4 ms, 25 ms (stage 499.0: task 5139))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 493.0: task 4966))" tooltip="Exchange hashpartitioning(worklistShardItemId#13220L, shardId#13219, 37), ENSURE_REQUIREMENTS, [plan_id=114093]"];
subgraph cluster349 {
isCluster="true";
id="cluster349";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n3.2 s (3 ms, 4 ms, 2.9 s (stage 493.0: task 4863))";
tooltip="WholeStageCodegen (2)";
350 [id="node350" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter ((isnull(qty#13226) AND isnotnull(worklistShardItemId#13220L)) AND isnotnull(shardId#13219))"];
}
351 [id="node351" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#13219, worklistShardItemId#13220L, version#13221, product#13222, plant#13223, qty#13226], [isnull(qty#13226), isnotnull(worklistShardItemId#13220L), isnotnull(shardId#13219)]"];
352 [id="node352" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster353 {
isCluster="true";
id="cluster353";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
354 [id="node354" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster355 {
isCluster="true";
id="cluster355";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n291 ms (3 ms, 4 ms, 38 ms (stage 499.0: task 5123))";
tooltip="WholeStageCodegen (5)";
356 [id="node356" 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 499.0: task 5123))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5123))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5123))" tooltip="Sort [cachedWorklistShardItemId#13234L ASC NULLS FIRST, cachedShardId#13233 ASC NULLS FIRST], false, 0"];
}
357 [id="node357" 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(cachedWorklistShardItemId#13234L, cachedShardId#13233, 37), ENSURE_REQUIREMENTS, [plan_id=114099]"];
subgraph cluster358 {
isCluster="true";
id="cluster358";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
359 [id="node359" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13227 AS cachedShardId#13233, worklistShardItemId#13228L AS cachedWorklistShardItemId#13234L]"];
360 [id="node360" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13228L) AND isnotnull(shardId#13227))"];
361 [id="node361" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13227,worklistShardItemId#13228L,qty#13229,demandChannel#13230,demandStream#13231,kpis#13232]"];
}
subgraph cluster362 {
isCluster="true";
id="cluster362";
label="WholeStageCodegen (9)\n \nduration: total (min, med, max (stageId: taskId))\n40 ms (0 ms, 0 ms, 38 ms (stage 500.0: task 5170))";
tooltip="WholeStageCodegen (9)";
363 [id="node363" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13250, worklistShardItemId#13251L, version#13252, product#13253, plant#13254, qty#13278, demandChannel#13271, demandStream#13272, kpis#13279, false AS isNewlyCalculated#13249]"];
}
364 [id="node364" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [demandChannel#13271, demandStream#13272, kpis#13279, plant#13254, product#13253, qty#13278, shardId#13250, version#13252, worklistShardItemId#13251L]"];
subgraph cluster365 {
isCluster="true";
id="cluster365";
label="WholeStageCodegen (8)\n \nduration: total (min, med, max (stageId: taskId))\n1.2 s (4 ms, 5 ms, 157 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (8)";
366 [id="node366" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, cachedQty#13010 AS qty#13012, demandChannel#13005, demandStream#13006, cachedKpis#13011 AS kpis#13013]"];
367 [id="node367" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#13009L, cachedShardId#13008], Inner"];
}
subgraph cluster368 {
isCluster="true";
id="cluster368";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n2.5 s (4 ms, 6 ms, 353 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (5)";
369 [id="node369" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
370 [id="node370" 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>252 ms (3 ms, 4 ms, 21 ms (stage 499.0: task 5042))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
371 [id="node371" 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>186 ms (2 ms, 3 ms, 14 ms (stage 499.0: task 5048))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 499.0: task 5049))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[plant#449, shardId#445, version#447, worklistShardItemId#446L, product#448], functions=[])"];
372 [id="node372" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449]"];
373 [id="node373" 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 499.0: task 5049))" tooltip="SortMergeJoin [worklistShardItemId#446L, shardId#445], [cachedWorklistShardItemId#12999L, cachedShardId#12998], Inner, ((qty#452 = cachedQty#13000) OR isnull(qty#452))"];
}
subgraph cluster374 {
isCluster="true";
id="cluster374";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
375 [id="node375" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>76.3 MiB (2.1 MiB, 2.1 MiB, 2.1 MiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [worklistShardItemId#446L ASC NULLS FIRST, shardId#445 ASC NULLS FIRST], false, 0"];
}
376 [id="node376" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 9,999<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 9,999<br>local bytes read total (min, med, max (stageId: taskId))<br>361.3 KiB (7.7 KiB, 8.9 KiB, 16.3 KiB (stage 499.0: task 5048))<br>merged fetch fallback count: 0<br>local blocks read: 563<br>remote merged chunks fetched: 0<br>remote blocks read: 806<br>data size total (min, med, max (stageId: taskId))<br>1328.0 KiB (31.5 KiB, 36.3 KiB, 42.1 KiB (stage 495.0: task 4954))<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>61 ms (1 ms, 1 ms, 2 ms (stage 495.0: task 4975))<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>1 ms (0 ms, 0 ms, 1 ms (stage 499.0: task 5115))<br>remote bytes read total (min, med, max (stageId: taskId))<br>524.5 KiB (8.4 KiB, 14.5 KiB, 17.7 KiB (stage 499.0: task 5107))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>141 ms (3 ms, 4 ms, 6 ms (stage 499.0: task 5115))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>885.8 KiB (21.5 KiB, 24.0 KiB, 27.2 KiB (stage 495.0: task 4954))" tooltip="Exchange hashpartitioning(worklistShardItemId#446L, shardId#445, 37), ENSURE_REQUIREMENTS, [plan_id=113962]"];
subgraph cluster377 {
isCluster="true";
id="cluster377";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n429 ms (3 ms, 4 ms, 125 ms (stage 495.0: task 4930))";
tooltip="WholeStageCodegen (1)";
378 [id="node378" labelType="html" label="<b>Filter</b><br><br>number of output rows: 9,999" tooltip="Filter (isnotnull(worklistShardItemId#446L) AND isnotnull(shardId#445))"];
}
379 [id="node379" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 9,999" tooltip="InMemoryTableScan [shardId#445, worklistShardItemId#446L, version#447, product#448, plant#449, qty#452], [isnotnull(worklistShardItemId#446L), isnotnull(shardId#445)]"];
380 [id="node380" 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#448, plant#449, 37), REPARTITION_BY_NUM, [plan_id=113634]"];
subgraph cluster381 {
isCluster="true";
id="cluster381";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
382 [id="node382" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#445,worklistShardItemId#446L,version#447,product#448,plant#449,periodStart#450,periodEnd#451,qty#452]"];
}
subgraph cluster383 {
isCluster="true";
id="cluster383";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n5.1 s (5 ms, 6 ms, 721 ms (stage 499.0: task 5044))";
tooltip="WholeStageCodegen (4)";
384 [id="node384" 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 499.0: task 5049))<br>peak memory total (min, med, max (stageId: taskId))<br>2.3 MiB (64.0 KiB, 64.0 KiB, 64.0 KiB (stage 499.0: task 5049))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 499.0: task 5049))" tooltip="Sort [cachedWorklistShardItemId#12999L ASC NULLS FIRST, cachedShardId#12998 ASC NULLS FIRST], false, 0"];
}
385 [id="node385" 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(cachedWorklistShardItemId#12999L, cachedShardId#12998, 37), ENSURE_REQUIREMENTS, [plan_id=113968]"];
subgraph cluster386 {
isCluster="true";
id="cluster386";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
387 [id="node387" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#12992 AS cachedShardId#12998, worklistShardItemId#12993L AS cachedWorklistShardItemId#12999L, qty#12994 AS cachedQty#13000]"];
388 [id="node388" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#12993L) AND isnotnull(shardId#12992))"];
389 [id="node389" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#12992,worklistShardItemId#12993L,qty#12994,demandChannel#12995,demandStream#12996,kpis#12997]"];
}
subgraph cluster390 {
isCluster="true";
id="cluster390";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
391 [id="node391" 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#13009L ASC NULLS FIRST, cachedShardId#13008 ASC NULLS FIRST], false, 0"];
}
392 [id="node392" 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(cachedWorklistShardItemId#13009L, cachedShardId#13008, 37), ENSURE_REQUIREMENTS, [plan_id=113981]"];
subgraph cluster393 {
isCluster="true";
id="cluster393";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
394 [id="node394" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#13002 AS cachedShardId#13008, worklistShardItemId#13003L AS cachedWorklistShardItemId#13009L, qty#13004 AS cachedQty#13010, demandChannel#13005, demandStream#13006, kpis#13007 AS cachedKpis#13011]"];
395 [id="node395" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (isnotnull(worklistShardItemId#13003L) AND isnotnull(shardId#13002))"];
396 [id="node396" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 0" tooltip="Scan ExistingRDD[shardId#13002,worklistShardItemId#13003L,qty#13004,demandChannel#13005,demandStream#13006,kpis#13007]"];
}
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;
31->29;
32->31;
34->32;
35->34;
36->35;
37->28;
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;
56->55;
58->56;
59->58;
60->59;
61->54;
62->61;
63->62;
64->63;
66->64;
68->9;
69->68;
70->69;
71->70;
72->71;
73->72;
75->73;
76->75;
77->76;
78->77;
80->78;
81->80;
83->81;
84->83;
85->84;
86->85;
88->86;
90->81;
91->90;
92->91;
93->92;
95->93;
96->95;
98->96;
99->98;
100->99;
101->100;
102->101;
104->102;
105->104;
107->105;
108->107;
109->108;
111->109;
113->102;
114->113;
116->114;
117->116;
118->117;
120->96;
121->120;
123->121;
124->123;
125->124;
127->92;
128->127;
130->128;
131->130;
133->131;
134->133;
135->134;
137->135;
139->128;
140->139;
142->140;
143->142;
144->143;
146->78;
147->146;
149->147;
150->149;
152->150;
153->152;
154->153;
155->154;
156->155;
158->156;
159->158;
161->159;
162->161;
163->162;
165->163;
167->156;
168->167;
170->168;
171->170;
172->171;
174->150;
175->174;
177->175;
178->177;
179->178;
181->70;
182->181;
183->182;
184->183;
186->184;
187->186;
189->187;
190->189;
191->190;
192->191;
194->192;
196->187;
197->196;
198->197;
199->198;
201->199;
202->201;
204->202;
205->204;
206->205;
207->206;
208->207;
210->208;
211->210;
213->211;
214->213;
215->214;
217->215;
219->208;
220->219;
222->220;
223->222;
224->223;
226->202;
227->226;
229->227;
230->229;
231->230;
233->198;
234->233;
236->234;
237->236;
239->237;
240->239;
241->240;
243->241;
245->234;
246->245;
248->246;
249->248;
250->249;
252->184;
253->252;
255->253;
256->255;
258->256;
259->258;
260->259;
261->260;
262->261;
264->262;
265->264;
267->265;
268->267;
269->268;
271->269;
273->262;
274->273;
276->274;
277->276;
278->277;
280->256;
281->280;
283->281;
284->283;
285->284;
286->3;
288->286;
289->288;
291->289;
292->291;
293->292;
294->293;
295->294;
297->295;
298->297;
300->298;
301->300;
302->301;
303->302;
305->303;
307->298;
308->307;
309->308;
310->309;
312->310;
313->312;
315->313;
316->315;
317->316;
318->317;
319->318;
321->319;
322->321;
324->322;
325->324;
326->325;
328->326;
330->319;
331->330;
333->331;
334->333;
335->334;
337->313;
338->337;
340->338;
341->340;
342->341;
344->309;
345->344;
347->345;
348->347;
350->348;
351->350;
352->351;
354->352;
356->345;
357->356;
359->357;
360->359;
361->360;
363->295;
364->363;
366->364;
367->366;
369->367;
370->369;
371->370;
372->371;
373->372;
375->373;
376->375;
378->376;
379->378;
380->379;
382->380;
384->373;
385->384;
387->385;
388->387;
389->388;
391->367;
392->391;
394->392;
395->394;
396->395;
}