This is the code now:
Pipe tsPipe = new Each( "arrival rate", new Fields( "time",
"resptime" ), new DateParser( new Fields( "time" ), "yyyy/MM/
dd:HH:mm:ss" ) );
Pipe tsCountPipe = new Pipe( "tsCount", tsPipe );
tsCountPipe = new GroupBy( tsCountPipe, new Fields( "ts" ) );
tsCountPipe = new Every( tsCountPipe, Fields.GROUP, new Count() );
tsCountPipe = new Every( tsCountPipe, new Fields("resptime"), new
Average() );
I am not sure if I am doing it the right way - i have included both
"time" and "resptime" in the Fields declaration when I create the
tsPipe.
The problem I run into now is:
09/08/14 11:05:06 INFO flow.MultiMapReducePlanner: using application
jar: /C:/cygwin/usr/local/hadoop/apppuncher.jar
cascading.flow.PlannerException: could not build flow from assembly:
[[tsCount][apppuncher.Main.main(Unknown Source)] could not resolve
grouping selector in: GroupBy(tsCount)[by:[{1}:'ts']]]
at cascading.flow.MultiMapReducePlanner.buildFlow
(MultiMapReducePlanner.java:226)
at cascading.flow.FlowConnector.connect(FlowConnector.java:
452)
at cascading.flow.FlowConnector.connect(FlowConnector.java:
434)
at cascading.flow.FlowConnector.connect(FlowConnector.java:
406)
at cascading.flow.FlowConnector.connect(FlowConnector.java:
373)
at apppuncher.Main.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:165)
at org.apache.hadoop.mapred.JobShell.run(JobShell.java:54)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at org.apache.hadoop.mapred.JobShell.main(JobShell.java:68)
Caused by: cascading.pipe.OperatorException: [tsCount]
[apppuncher.Main.main(Unknown Source)] could not resolve grouping
selector in: GroupBy(tsCount)[by:[{1}:'ts']]
at cascading.pipe.Group.resolveGroupingSelectors(Group.java:
879)
at cascading.pipe.Group.outgoingScopeFor(Group.java:847)
at cascading.flow.ElementGraph.resolveFields(ElementGraph.java:
498)
at cascading.flow.ElementGraph.resolveFields(ElementGraph.java:
480)
at cascading.flow.MultiMapReducePlanner.buildFlow
(MultiMapReducePlanner.java:187)
... 14 more
Caused by: cascading.tuple.TupleException: field not found: 'ts',
available fields: ['time']
at cascading.tuple.Fields.indexOf(Fields.java:693)
at cascading.tuple.Fields.select(Fields.java:746)
at cascading.pipe.Group.resolveSelectorsAgainstIncoming
(Group.java:903)
at cascading.pipe.Group.resolveGroupingSelectors(Group.java:
860)
... 18 more