/** * Create a new tuple schema according the tuple name and two list: names of * fields, types of fields * * @param tupleName * @param fieldNames * @param dataTypes * @return tuple schema * @throws FrontendException */ public static Schema newTupleSchema(String tupleName, List<String> fieldNames, List<Byte> dataTypes) throws FrontendException { checkParameters(fieldNames, dataTypes); List<Schema.FieldSchema> tokenSchemas = new ArrayList<Schema.FieldSchema>(); for (int i = 0; i < fieldNames.size(); ++i) { String name = fieldNames.get(i); Byte type = dataTypes.get(i); tokenSchemas.add(new Schema.FieldSchema(name, type)); } Schema tupleSchema = new Schema(tokenSchemas); Schema.FieldSchema tupleField = new Schema.FieldSchema(tupleName, tupleSchema); return new Schema(tupleField); }
/** * Create a bag schema according two list: name of fields, type of fields, * and the default bag name is b, the default tuple name is t. * * @param names * @param dataTypes * @return bag schema * @throws FrontendException */ public static Schema newBagSchema(List<String> names, List<Byte> dataTypes) throws FrontendException { checkParameters(names, dataTypes); Schema tupleSchema = newTupleSchema(names, dataTypes); Schema.FieldSchema bagField = new Schema.FieldSchema("b", tupleSchema, DataType.BAG); return new Schema(bagField); }
/** * Create a bag schema according the bag name,tuple name and two list: name * of fields, type of fields * * @param bagName * @param tupleName * @param fieldNames * @param dataTypes * @return bag schema * @throws FrontendException */ public static Schema newBagSchema(String bagName, String tupleName, List<String> fieldNames, List<Byte> dataTypes) throws FrontendException { checkParameters(fieldNames, dataTypes); Schema tupleSchema = newTupleSchema(tupleName, fieldNames, dataTypes); Schema.FieldSchema bagField = new Schema.FieldSchema(bagName, tupleSchema, DataType.BAG); return new Schema(bagField); }