我正在努力运行此简单的级联程序。由于某种原因,它什么也不做。至少我希望它能打印记录。任何帮助,将不胜感激。
package com.myLearning.cascading;
import cascading.flow.Flow;
import cascading.flow.FlowDef;
import cascading.flow.local.LocalFlowConnector;
import cascading.operation.Debug;
import cascading.operation.expression.ExpressionFilter;
import cascading.pipe.Each;
import cascading.pipe.Pipe;
import cascading.scheme.Scheme;
import cascading.scheme.local.TextDelimited;
import cascading.tap.SinkMode;
import cascading.tap.Tap;
import cascading.tap.local.FileTap;
import cascading.tuple.Fields;
public class operations_example
{
public static void main(String[] args)
{
Scheme sourceScheme = new TextDelimited(new Fields("username", "age"), true, ",");
String sourcePath = "C:/Users/Desktop/cascading/data/names.txt";
Tap sourceTap = new FileTap(sourceScheme, sourcePath);
Scheme targetScheme = new TextDelimited(new Fields("username", "age"), true, ",");
String targetPath = "C:/Users/Desktop/cascading/data/output2.txt";
Tap targetTap = new FileTap(targetScheme, targetPath, SinkMode.REPLACE);
Pipe dataPipe = new Pipe("data");
dataPipe = new Each(dataPipe, new Debug());
ExpressionFilter filter = new ExpressionFilter("age >= 30", Integer.TYPE);
dataPipe = new Each( dataPipe,new Fields("username","age"), filter);
FlowDef flowdef = FlowDef.flowDef().
addSource(dataPipe, sourceTap).
addTailSink(dataPipe, targetTap);
Flow flow = new LocalFlowConnector().connect(flowdef);
flow.stop();
}
}
最佳答案
您没有执行该流程。
创建流程后,调用complete()
(阻止)或start()
来执行它。调用stop()
是,而不是来执行该流程。
http://docs.cascading.org/impatient/impatient1.html
http://docs.cascading.org/cascading/1.2/javadoc/cascading/flow/Flow.html#complete()
关于hadoop - 在本地模式下运行一个简单的层叠程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45534925/