Professional Documents
Culture Documents
package com.subassemly;
import
import
import
import
import
import
cascading.pipe.Each;
cascading.pipe.Every;
cascading.pipe.GroupBy;
cascading.pipe.Pipe;
cascading.pipe.SubAssembly;
cascading.tuple.Fields;
///////////////////////
package com.subassemly;
import
import
import
import
import
import
import
import
cascading.flow.FlowProcess;
cascading.operation.BaseOperation;
cascading.operation.Function;
cascading.operation.FunctionCall;
cascading.operation.OperationCall;
cascading.tuple.Fields;
cascading.tuple.Tuple;
cascading.tuple.TupleEntry;
@SuppressWarnings("serial")
public class CalculateGrade extends BaseOperation implements Function
{
public CalculateGrade() {
// TODO Auto-generated constructor stub
//these fields will print in output
//
super(6,new Fields("roll no1","name","maths marks","science mark
s","english marks","percentage","grade"));
super(6,new Fields("roll no1","grade"));
}
public void operate( FlowProcess flowProcess, FunctionCall functionCall )
{
// get the arguments TupleEntry
cascading.flow.FlowDef;
cascading.flow.local.LocalFlowConnector;
cascading.operation.Identity;
cascading.pipe.CoGroup;
cascading.pipe.Each;
cascading.pipe.Every;
cascading.pipe.GroupBy;
cascading.pipe.HashJoin;
cascading.pipe.Pipe;
cascading.pipe.joiner.LeftJoin;
cascading.scheme.Scheme;
cascading.scheme.local.TextDelimited;
cascading.tap.Tap;
import cascading.tap.local.FileTap;
import cascading.tuple.Fields;
import
import
import
import
import
import
import
cascading.flow.FlowProcess;
cascading.operation.Aggregator;
cascading.operation.AggregatorCall;
cascading.operation.BaseOperation;
cascading.tuple.Fields;
cascading.tuple.Tuple;
cascading.tuple.TupleEntry;
//
String name;
int roll_number;
int s1,s2,s3;
int p1,percentage;
String grade=" ";
public Custom_Aggregator()
{
super(5,new Fields("roll no","name","maths marks","science marks
","english marks","percentage"));
}
@Override
public void aggregate(FlowProcess arg0, AggregatorCall arg1) {
// TODO Auto-generated method stub
//
TupleEntry t=arg1.getArguments();
roll_number =t.getInteger("roll no");
name=t.getString("name");
s1=t.getInteger("maths marks");
s2=t.getInteger("science marks");
s3=t.getInteger("english marks");
grade="A";
p1=(s1+s2+s3)/3;
percentage=p1;
System.out.println("Percentage"+percentage);
}
@Override
public void complete(FlowProcess arg0, AggregatorCall arg1) {
// TODO Auto-generated method stub
Tuple t1=new Tuple();
t1.add(roll_number);
t1.add(name);
t1.add(s1);
t1.add(s2);
t1.add(s3);
t1.add(percentage);
//t1.add(grade);
}}
///////////////////////
package com.subassemly;
import
import
import
import
import
import
cascading.flow.FlowProcess;
cascading.operation.BaseOperation;
cascading.operation.Filter;
cascading.operation.FilterCall;
cascading.tuple.Tuple;
cascading.tuple.TupleEntry;
cascading.pipe.Each;
cascading.pipe.Every;
cascading.pipe.GroupBy;
cascading.pipe.Pipe;
cascading.pipe.SubAssembly;
cascading.tuple.Fields;
import
import
import
import
cascading.pipe.Each;
cascading.pipe.Pipe;
cascading.pipe.SubAssembly;
cascading.tuple.Fields;
cascading.pipe.CoGroup;
cascading.pipe.Each;
cascading.pipe.HashJoin;
cascading.pipe.Pipe;
cascading.pipe.SubAssembly;
cascading.tuple.Fields;