package com.scaleunlimited.cascading; import cascading.flow.FlowProcess; import cascading.operation.BaseOperation; import cascading.operation.Filter; import cascading.operation.FilterCall; import cascading.pipe.Each; import cascading.pipe.Pipe; import cascading.pipe.SubAssembly; @SuppressWarnings("serial") public class FlowBreak extends SubAssembly { private static class FlowBreaker extends BaseOperation<NullContext> implements Filter<NullContext> { @Override public boolean isSafe() { // Force Cascading to save results to TempHFS return false; } @Override public boolean isRemove(FlowProcess arg0, FilterCall<NullContext> arg1) { return false; } } public FlowBreak(Pipe p) { super(p); p = new Each(p, new FlowBreaker()); setTails(p); } }