jcschema1.addField(new LogicalSchema.LogicalFieldSchema(
"x", null, DataType.INTEGER));
jcschema1.addField(new LogicalSchema.LogicalFieldSchema(
"y", null, DataType.INTEGER));
LogicalExpressionPlan aprojplan1 = new LogicalExpressionPlan();
new ProjectExpression(aprojplan1, 0, 0, null);
LogicalExpressionPlan bprojplan1 = new LogicalExpressionPlan();
new ProjectExpression(bprojplan1, 1, 0, null);
MultiMap<Integer, LogicalExpressionPlan> mm1 =
new MultiMap<Integer, LogicalExpressionPlan>();
mm1.put(0, aprojplan1);
mm1.put(1, bprojplan1);
LOJoin C1 = new LOJoin(lp, mm1, JOINTYPE.HASH, new boolean[] {true, true});
C1.neverUseForRealSetSchema(jcschema1);
lp.add(C1);
lp.connect(A1, C1);
lp.connect(B1, C1);
// A = load
LogicalSchema jaschema5 = new LogicalSchema();
jaschema5.addField(new LogicalSchema.LogicalFieldSchema(
"x", null, DataType.INTEGER));
LOLoad A5 = new LOLoad(new FileSpec("/abc",
new FuncSpec("/fooload", new String[] {"x", "y"})), jaschema5, lp, null);
lp.add(A5);
// B = load
LogicalSchema jbschema5 = new LogicalSchema();
jbschema5.addField(new LogicalSchema.LogicalFieldSchema(
"y", null, DataType.INTEGER));
LOLoad B5 = new LOLoad(new FileSpec("/def",
new FuncSpec("PigStorage", "\t")), jbschema5, lp, null);
lp.add(B5);
// Beta = load
LogicalSchema jbetaschema5 = new LogicalSchema();
jbetaschema5.addField(new LogicalSchema.LogicalFieldSchema(
"y", null, DataType.INTEGER));
LOLoad Beta5 = new LOLoad(new FileSpec("/ghi",
new FuncSpec("PigStorage", "\t")), jbetaschema5, lp, null);
lp.add(Beta5);
// C = join
LogicalSchema jcschema5 = new LogicalSchema();
jcschema5.addField(new LogicalSchema.LogicalFieldSchema(
"x", null, DataType.INTEGER));
jcschema5.addField(new LogicalSchema.LogicalFieldSchema(
"y", null, DataType.INTEGER));
LogicalExpressionPlan aprojplan5 = new LogicalExpressionPlan();
new ProjectExpression(aprojplan5, 0, 0, null);
LogicalExpressionPlan bprojplan5 = new LogicalExpressionPlan();
new ProjectExpression(bprojplan5, 1, 0, null);
LogicalExpressionPlan betaprojplan5 = new LogicalExpressionPlan();
new ProjectExpression(betaprojplan5, 1, 0, null);
MultiMap<Integer, LogicalExpressionPlan> mm5 =
new MultiMap<Integer, LogicalExpressionPlan>();
mm5.put(0, aprojplan5);
mm5.put(1, bprojplan5);
mm5.put(2, betaprojplan5);