return funcs;
}
@Override
protected TupleSchema mapInputSchema(Schema input) {
TupleSchema output = new TupleSchema();
for (EvalSpec spec: specs) {
Schema schema = spec.getOutputSchemaForPipe(input).copy();
if (spec.isFlattened()){
List<Schema> flattenedSchema = schema.flatten();
if (flattenedSchema.size() == 0){
output.add(new TupleSchema(),true);
continue;
}
for (Schema flattenedItem: flattenedSchema){
output.add(flattenedItem,true);
}
}else{
output.add(schema,false);
}
}
return output;
}