public String toString() { StringBuilder sb = new StringBuilder(); sb.append(this.getId()); return sb.toString(); }
public String toString() { StringBuilder sb = new StringBuilder(); sb.append(this.getId()); return sb.toString(); }
private static int calculatePartitionNumDefault(ExecutionBlock parent, Stage currentStage) { int mb = getInputVolumeMB(parent, currentStage); LOG.info(currentStage.getId() + ", Table's volume is approximately " + mb + " MB"); // determine the number of task per 128 MB return (int) Math.ceil((double)mb / 128); }
private static int calculatePartitionNumDefault(ExecutionBlock parent, Stage currentStage) { int mb = getInputVolumeMB(parent, currentStage); LOG.info(currentStage.getId() + ", Table's volume is approximately " + mb + " MB"); // determine the number of task per 128 MB return (int) Math.ceil((double)mb / 128); }
@Override public int hashCode() { return getId().hashCode(); }
public static void scheduleFragment(Stage stage, Fragment leftFragment, Collection<Fragment> rightFragments) { stage.taskScheduler.handle(new FragmentScheduleEvent(TaskSchedulerEvent.EventType.T_SCHEDULE, stage.getId(), leftFragment, rightFragments)); }
private static int calculatePartitionNumForAgg(ExecutionBlock parent, Stage stage) { int volumeByMB = getInputVolumeMB(parent, stage); LOG.info(stage.getId() + ", Table's volume is approximately " + volumeByMB + " MB"); // determine the number of task return (int) Math.ceil((double) volumeByMB / stage.masterPlan.getContext().getInt(SessionVars.GROUPBY_PER_SHUFFLE_SIZE)); }
public static void scheduleFragment(Stage stage, Fragment leftFragment, Collection<Fragment> rightFragments) { stage.taskScheduler.handle(new FragmentScheduleEvent(TaskSchedulerEvent.EventType.T_SCHEDULE, stage.getId(), leftFragment, rightFragments)); }
private static int calculatePartitionNumForAgg(ExecutionBlock parent, Stage stage) { int volumeByMB = getInputVolumeMB(parent, stage); LOG.info(stage.getId() + ", Table's volume is approximately " + volumeByMB + " MB"); // determine the number of task return (int) Math.ceil((double) volumeByMB / stage.masterPlan.getContext().getInt(SessionVars.GROUPBY_PER_SHUFFLE_SIZE)); }
public static void scheduleFetches(Stage stage, Map<String, List<FetchProto>> fetches) { stage.taskScheduler.handle(new FetchScheduleEvent(TaskSchedulerEvent.EventType.T_SCHEDULE, stage.getId(), fetches)); }
public static void scheduleFragment(Stage stage, Fragment fragment) { stage.taskScheduler.handle(new FragmentScheduleEvent(TaskSchedulerEvent.EventType.T_SCHEDULE, stage.getId(), fragment)); }
private void initTaskScheduler(Stage stage) throws IOException { TajoConf conf = stage.context.getConf(); stage.schedulerContext = new TaskSchedulerContext(stage.context, stage.getMasterPlan().isLeaf(stage.getId()), stage.getId()); stage.taskScheduler = TaskSchedulerFactory.get(conf, stage.schedulerContext, stage); stage.taskScheduler.init(conf); LOG.info(stage.taskScheduler.getName() + " is chosen for the task scheduling for " + stage.getId()); }
private void initTaskScheduler(Stage stage) throws IOException { TajoConf conf = stage.context.getConf(); stage.schedulerContext = new TaskSchedulerContext(stage.context, stage.getMasterPlan().isLeaf(stage.getId()), stage.getId()); stage.taskScheduler = TaskSchedulerFactory.get(conf, stage.schedulerContext, stage); stage.taskScheduler.init(conf); LOG.info(stage.taskScheduler.getName() + " is chosen for the task scheduling for " + stage.getId()); }
@Override public void transition(Query query, QueryEvent event) { synchronized (query.stages) { for (Stage stage : query.stages.values()) { stage.stopFinalization(); query.eventHandler.handle(new StageEvent(stage.getId(), StageEventType.SQ_KILL)); } } } }
@Override public void transition(Query query, QueryEvent event) { synchronized (query.stages) { for (Stage stage : query.stages.values()) { stage.stopFinalization(); query.eventHandler.handle(new StageEvent(stage.getId(), StageEventType.SQ_KILL)); } } } }
/** * It complete this stage. It is only invoked when the stage is succeeded. */ public void complete() { finalizeStats(); setFinishTime(); eventHandler.handle(new StageCompletedEvent(getId(), StageState.SUCCEEDED)); }
/** * It complete this stage. It is only invoked when the stage is succeeded. */ public void complete() { finalizeStats(); setFinishTime(); eventHandler.handle(new StageCompletedEvent(getId(), StageState.SUCCEEDED)); }
@Override public void transition(Query query, QueryEvent queryEvent) { query.setStartTime(); ExecutionQueue executionQueue = query.newExecutionQueue(); for (ExecutionBlock executionBlock : executionQueue.first()) { Stage stage = new Stage(query.context, query.getPlan(), executionBlock); stage.setPriority(query.priority--); query.addStage(stage); stage.getEventHandler().handle(new StageEvent(stage.getId(), StageEventType.SQ_INIT)); LOG.debug("Schedule unit plan: \n" + stage.getBlock().getPlan()); } } }