String normalizedProjectionString = Schema.normalize(projection.toString());
try {
schema = getSchema( jobContext );
new org.apache.hadoop.zebra.types.Projection(schema, normalizedProjectionString);
} catch (ParseException e) {
throw new ParseException("[" + projection + "] " + "is not a valid Zebra projection string " + e.getMessage());
} catch (IOException e) {
throw new ParseException("[" + projection + "] " + "is not a valid Zebra projection string " + e.getMessage());
}
Configuration conf = jobContext.getConfiguration();
conf.set(INPUT_PROJ, normalizedProjectionString);
// virtual source_table columns require sorted table
if (Projection.getVirtualColumnIndices(projection.toString()) != null && !getSorted( conf ))
throw new ParseException("The source_table virtual column is only availabe for sorted table unions.");
}