try {
Configuration conf = context.getConfiguration();
HblQueryClient hblQueryClient = new HblQueryClient(conf);
HblInputSplit hblSplit = (HblInputSplit) split;
PreparedAggregateQueryImpl paq = (PreparedAggregateQueryImpl) hblQueryClient.createPreparedQuery();
paq.prepare(getHblQuery(conf));
String cuboidTableName = hblSplit.getCuboidTable();
if (cuboidTableName == null)
throw new HblException("Invalid cuboid name at backend. Something in MR happened wrong.");
int paramNo = getParamNo(conf);
for (int i = 0; i < paramNo; i++)
paq.setHblParameter(i, getParamNo(conf));
ars = paq.execute(hblSplit.getStartGroupingKey(), hblSplit.getEndGroupingKey(), cuboidTableName);
} catch (HblException exc) {
throw new IOException(exc);
}