/** * Searches column names by name on a given Parquet message schema, and returns its projected * Parquet schema types. * * @param schema Message type schema where to search for column names. * @param colNames List of column names. * @param colTypes List of column types. * @return A MessageType object of projected columns. */ public static MessageType getSchemaByName(MessageType schema, List<String> colNames, List<TypeInfo> colTypes) { List<Type> projectedFields = getProjectedGroupFields(schema, colNames, colTypes); Type[] typesArray = projectedFields.toArray(new Type[0]); return Types.buildMessage() .addFields(typesArray) .named(schema.getName()); }
" File schema:\n" + fileSchema); builder.addFields(fileSchema.getType(s));
" File schema:\n" + fileSchema); builder.addFields(fileSchema.getType(s));
" File schema:\n" + fileSchema); builder.addFields(fileSchema.getType(s));
/** * Clips `parquetSchema` according to `fieldNames`. */ private MessageType clipParquetSchema(GroupType parquetSchema, String[] fieldNames) { Type[] types = new Type[fieldNames.length]; for (int i = 0; i < fieldNames.length; ++i) { String fieldName = fieldNames[i]; if (parquetSchema.getFieldIndex(fieldName) < 0) { throw new IllegalArgumentException(fieldName + " does not exist"); } types[i] = parquetSchema.getType(fieldName); } return Types.buildMessage().addFields(types).named("flink-parquet"); } }
/** * Clips `parquetSchema` according to `fieldNames`. */ private MessageType clipParquetSchema(GroupType parquetSchema, String[] fieldNames) { Type[] types = new Type[fieldNames.length]; for (int i = 0; i < fieldNames.length; ++i) { String fieldName = fieldNames[i]; if (parquetSchema.getFieldIndex(fieldName) < 0) { throw new IllegalArgumentException(fieldName + " does not exist"); } types[i] = parquetSchema.getType(fieldName); } return Types.buildMessage().addFields(types).named("flink-parquet"); }
" File schema:\n" + fileSchema); builder.addFields(fileSchema.getType(s));