/** * remove currTask from the children of its parentTask * remove currTask from the parent of its childrenTask * @param currTask */ public static void removeEmptySparkTask(SparkTask currTask) { //remove currTask from parentTasks ArrayList<Task> parTasks = new ArrayList<Task>(); parTasks.addAll(currTask.getParentTasks()); Object[] parTaskArr = parTasks.toArray(); for (Object parTask : parTaskArr) { ((Task) parTask).removeDependentTask(currTask); } //remove currTask from childTasks currTask.removeFromChildrenTasks(); }
if (sparkTask.getParentTasks() != null && sparkTask.getParentTasks().size() == 1 && sparkTask.getParentTasks().get(0) instanceof SparkTask) { SparkTask parent = (SparkTask) sparkTask.getParentTasks().get(0); if (containsOp(sparkWork, MapJoinOperator.class) && containsOp(parent.getWork(), SparkHashTableSinkOperator.class)) {
if (sparkTask.getParentTasks() != null && sparkTask.getParentTasks().size() == 1 && sparkTask.getParentTasks().get(0) instanceof SparkTask) { SparkTask parent = (SparkTask) sparkTask.getParentTasks().get(0); if (containsOp(sparkWork, MapJoinOperator.class) && containsOp(parent.getWork(), SparkHashTableSinkOperator.class)) {
List<Task<? extends Serializable>> parentTasks = originalTask.getParentTasks(); if (parentTasks != null && parentTasks.size() > 0) {
List<Task<? extends Serializable>> parentTasks = originalTask.getParentTasks(); if (parentTasks != null && parentTasks.size() > 0) {
@Test public void removeEmptySparkTask() { SparkTask grandpa = new SparkTask(); SparkWork grandpaWork = new SparkWork("grandpa"); grandpaWork.add(new MapWork()); grandpa.setWork(grandpaWork); SparkTask parent = new SparkTask(); SparkWork parentWork = new SparkWork("parent"); parentWork.add(new MapWork()); parent.setWork(parentWork); SparkTask child1 = new SparkTask(); SparkWork childWork1 = new SparkWork("child1"); childWork1.add(new MapWork()); child1.setWork(childWork1); grandpa.addDependentTask(parent); parent.addDependentTask(child1); Assert.assertEquals(grandpa.getChildTasks().size(), 1); Assert.assertEquals(child1.getParentTasks().size(), 1); if (isEmptySparkWork(parent.getWork())) { SparkUtilities.removeEmptySparkTask(parent); } Assert.assertEquals(grandpa.getChildTasks().size(), 0); Assert.assertEquals(child1.getParentTasks().size(), 0); }
if (sparkTask.getParentTasks() != null && sparkTask.getParentTasks().size() == 1 && sparkTask.getParentTasks().get(0) instanceof SparkTask) { SparkTask parent = (SparkTask) sparkTask.getParentTasks().get(0); if (containsOp(sparkWork, MapJoinOperator.class) && containsOp(parent.getWork(), SparkHashTableSinkOperator.class)) {
List<Task<? extends Serializable>> parentTasks = originalTask.getParentTasks(); if (parentTasks != null && parentTasks.size() > 0) {