Types.MessageTypeBuilder builder = Types.buildMessage(); for (String s: columns) { if (!fileSchema.containsField(s)) { throw new IOException("Can only project existing columns. Unknown field: " + s + " File schema:\n" + fileSchema);
Types.MessageTypeBuilder builder = Types.buildMessage(); for (String s: columns) { if (!fileSchema.containsField(s)) { throw new IOException("Can only project existing columns. Unknown field: " + s + " File schema:\n" + fileSchema);
Types.MessageTypeBuilder builder = Types.buildMessage(); for (String s: columns) { if (!fileSchema.containsField(s)) { throw new IOException("Can only project existing columns. Unknown field: " + s + " File schema:\n" + fileSchema);
public static org.apache.parquet.schema.Type getParquetTypeByName(String columnName, MessageType messageType) { if (messageType.containsField(columnName)) { return messageType.getType(columnName); } // parquet is case-sensitive, but hive is not. all hive columns get converted to lowercase // check for direct match above but if no match found, try case-insensitive match for (org.apache.parquet.schema.Type type : messageType.getFields()) { if (type.getName().equalsIgnoreCase(columnName)) { return type; } } return null; }
public static org.apache.parquet.schema.Type getParquetTypeByName(String columnName, MessageType messageType) { if (messageType.containsField(columnName)) { return messageType.getType(columnName); } // parquet is case-sensitive, but hive is not. all hive columns get converted to lowercase // check for direct match above but if no match found, try case-insensitive match for (org.apache.parquet.schema.Type type : messageType.getFields()) { if (type.getName().equalsIgnoreCase(columnName)) { return type; } } return null; }
Types.MessageTypeBuilder builder = Types.buildMessage(); for (String s: columns) { if (!fileSchema.containsField(s)) { throw new IOException("Can only project existing columns. Unknown field: " + s + " File schema:\n" + fileSchema);
if (schema.containsField(columnSchema.getName())) { if (!schema.getType(columnSchema.getName()).asPrimitiveType().getPrimitiveTypeName() .equals(getTypeName(columnSchema.getType()))) {