@Override public String toString() { List<String> fieldStrings = new ArrayList<String>(); for (PojoField field : fields) { fieldStrings.add(field.getField().getName() + ": " + field.getTypeInformation().toString()); } return "PojoType<" + getTypeClass().getName() + ", fields = [" + StringUtils.join(fieldStrings, ", ") + "]" + ">"; }
public PojoSerializer<T> createPojoSerializer(ExecutionConfig config) { TypeSerializer<?>[] fieldSerializers = new TypeSerializer<?>[fields.length]; Field[] reflectiveFields = new Field[fields.length]; for (int i = 0; i < fields.length; i++) { fieldSerializers[i] = fields[i].getTypeInformation().createSerializer(config); reflectiveFields[i] = fields[i].getField(); } return new PojoSerializer<T>(getTypeClass(), fieldSerializers, reflectiveFields, config); }
@Override @PublicEvolving @SuppressWarnings("unchecked") public TypeSerializer<T> createSerializer(ExecutionConfig config) { if (config.isForceKryoEnabled()) { return new KryoSerializer<>(getTypeClass(), config); } if (config.isForceAvroEnabled()) { return AvroUtils.getAvroUtils().createAvroSerializer(getTypeClass()); } return createPojoSerializer(config); }
private void configure(String lineDelimiter, String fieldDelimiter, PojoTypeInfo<OUT> pojoTypeInfo, String[] fieldNames, boolean[] includedFieldsMask) { if (includedFieldsMask == null) { includedFieldsMask = createDefaultMask(fieldNames.length); } for (String name : fieldNames) { if (name == null) { throw new NullPointerException("Field name must not be null."); } if (pojoTypeInfo.getFieldIndex(name) < 0) { throw new IllegalArgumentException("Field \"" + name + "\" not part of POJO type " + pojoTypeInfo.getTypeClass().getCanonicalName()); } } setDelimiter(lineDelimiter); setFieldDelimiter(fieldDelimiter); Class<?>[] classes = new Class<?>[fieldNames.length]; for (int i = 0; i < fieldNames.length; i++) { try { classes[i] = pojoTypeInfo.getTypeAt(pojoTypeInfo.getFieldIndex(fieldNames[i])).getTypeClass(); } catch (IndexOutOfBoundsException e) { throw new IllegalArgumentException("Invalid field name: " + fieldNames[i]); } } this.pojoTypeClass = pojoTypeInfo.getTypeClass(); this.pojoTypeInfo = pojoTypeInfo; setFieldsGeneric(includedFieldsMask, classes); setOrderOfPOJOFields(fieldNames); }
if (!(isClassType(type) && ((PojoTypeInfo<?>) typeInfo).getTypeClass() == (clazz = typeToClass(type)))) { throw new InvalidTypesException("POJO type '" + ((PojoTypeInfo<?>) typeInfo).getTypeClass().getCanonicalName() + "' expected but was '" + clazz.getCanonicalName() + "'.");
@Override public String toString() { List<String> fieldStrings = new ArrayList<String>(); for (PojoField field : fields) { fieldStrings.add(field.getField().getName() + ": " + field.getTypeInformation().toString()); } return "PojoType<" + getTypeClass().getName() + ", fields = [" + StringUtils.join(fieldStrings, ", ") + "]" + ">"; }
@Override public String toString() { List<String> fieldStrings = new ArrayList<String>(); for (PojoField field : fields) { fieldStrings.add(field.getField().getName() + ": " + field.getTypeInformation().toString()); } return "PojoType<" + getTypeClass().getName() + ", fields = [" + StringUtils.join(fieldStrings, ", ") + "]" + ">"; }
public PojoParquetInputFormat(Path filePath, PojoTypeInfo<OUT> pojoTypeInfo, String[] fieldNames, ExecutionConfig config) { super(filePath, extractTypeInfo(pojoTypeInfo, fieldNames), fieldNames); this.pojoSerializer = pojoTypeInfo.createSerializer(config); this.pojoTypeClass = pojoTypeInfo.getTypeClass(); }
@Override @PublicEvolving @SuppressWarnings("unchecked") public TypeSerializer<T> createSerializer(ExecutionConfig config) { if (config.isForceKryoEnabled()) { return new KryoSerializer<>(getTypeClass(), config); } if (config.isForceAvroEnabled()) { return AvroUtils.getAvroUtils().createAvroSerializer(getTypeClass()); } return createPojoSerializer(config); }
@Override @PublicEvolving @SuppressWarnings("unchecked") public TypeSerializer<T> createSerializer(ExecutionConfig config) { if (config.isForceKryoEnabled()) { return new KryoSerializer<>(getTypeClass(), config); } if (config.isForceAvroEnabled()) { return AvroUtils.getAvroUtils().createAvroSerializer(getTypeClass()); } return createPojoSerializer(config); }
public PojoSerializer<T> createPojoSerializer(ExecutionConfig config) { TypeSerializer<?>[] fieldSerializers = new TypeSerializer<?>[fields.length]; Field[] reflectiveFields = new Field[fields.length]; for (int i = 0; i < fields.length; i++) { fieldSerializers[i] = fields[i].getTypeInformation().createSerializer(config); reflectiveFields[i] = fields[i].getField(); } return new PojoSerializer<T>(getTypeClass(), fieldSerializers, reflectiveFields, config); }
private void configure(String lineDelimiter, String fieldDelimiter, PojoTypeInfo<OUT> pojoTypeInfo, String[] fieldNames, boolean[] includedFieldsMask) { if (includedFieldsMask == null) { includedFieldsMask = createDefaultMask(fieldNames.length); } for (String name : fieldNames) { if (name == null) { throw new NullPointerException("Field name must not be null."); } if (pojoTypeInfo.getFieldIndex(name) < 0) { throw new IllegalArgumentException("Field \"" + name + "\" not part of POJO type " + pojoTypeInfo.getTypeClass().getCanonicalName()); } } setDelimiter(lineDelimiter); setFieldDelimiter(fieldDelimiter); Class<?>[] classes = new Class<?>[fieldNames.length]; for (int i = 0; i < fieldNames.length; i++) { try { classes[i] = pojoTypeInfo.getTypeAt(pojoTypeInfo.getFieldIndex(fieldNames[i])).getTypeClass(); } catch (IndexOutOfBoundsException e) { throw new IllegalArgumentException("Invalid field name: " + fieldNames[i]); } } this.pojoTypeClass = pojoTypeInfo.getTypeClass(); this.pojoTypeInfo = pojoTypeInfo; setFieldsGeneric(includedFieldsMask, classes); setOrderOfPOJOFields(fieldNames); }
public PojoSerializer<T> createPojoSerializer(ExecutionConfig config) { TypeSerializer<?>[] fieldSerializers = new TypeSerializer<?>[fields.length]; Field[] reflectiveFields = new Field[fields.length]; for (int i = 0; i < fields.length; i++) { fieldSerializers[i] = fields[i].getTypeInformation().createSerializer(config); reflectiveFields[i] = fields[i].getField(); } return new PojoSerializer<T>(getTypeClass(), fieldSerializers, reflectiveFields, config); }
private void configure(String lineDelimiter, String fieldDelimiter, PojoTypeInfo<OUT> pojoTypeInfo, String[] fieldNames, boolean[] includedFieldsMask) { if (includedFieldsMask == null) { includedFieldsMask = createDefaultMask(fieldNames.length); } for (String name : fieldNames) { if (name == null) { throw new NullPointerException("Field name must not be null."); } if (pojoTypeInfo.getFieldIndex(name) < 0) { throw new IllegalArgumentException("Field \"" + name + "\" not part of POJO type " + pojoTypeInfo.getTypeClass().getCanonicalName()); } } setDelimiter(lineDelimiter); setFieldDelimiter(fieldDelimiter); Class<?>[] classes = new Class<?>[fieldNames.length]; for (int i = 0; i < fieldNames.length; i++) { try { classes[i] = pojoTypeInfo.getTypeAt(pojoTypeInfo.getFieldIndex(fieldNames[i])).getTypeClass(); } catch (IndexOutOfBoundsException e) { throw new IllegalArgumentException("Invalid field name: " + fieldNames[i]); } } this.pojoTypeClass = pojoTypeInfo.getTypeClass(); this.pojoTypeInfo = pojoTypeInfo; setFieldsGeneric(includedFieldsMask, classes); setOrderOfPOJOFields(fieldNames); }
/** * Extracts the {@link InternalType}s from {@link PojoTypeInfo} corresponding to the given fieldNames. */ private static <OUT> InternalType[] extractTypeInfo(PojoTypeInfo<OUT> pojoTypeInfo, String[] fieldNames) { Preconditions.checkNotNull(pojoTypeInfo); Preconditions.checkNotNull(fieldNames); Preconditions.checkArgument(pojoTypeInfo.getArity() >= fieldNames.length); RowType rowType = (RowType) TypeConverters.createInternalTypeFromTypeInfo(pojoTypeInfo); InternalType[] fieldTypes = new InternalType[fieldNames.length]; for (int i = 0; i < fieldNames.length; ++i) { String fieldName = fieldNames[i]; Preconditions.checkNotNull(fieldName, "The field name cannot be null."); int fieldPos = pojoTypeInfo.getFieldIndex(fieldName); Preconditions.checkArgument(fieldPos >= 0, "Field \"" + fieldName + "\" is not a member of POJO class " + pojoTypeInfo.getTypeClass().getName()); fieldTypes[i] = rowType.getInternalTypeAt(fieldPos).toInternalType(); } return fieldTypes; }
if (!(isClassType(type) && ((PojoTypeInfo<?>) typeInfo).getTypeClass() == (clazz = typeToClass(type)))) { throw new InvalidTypesException("POJO type '" + ((PojoTypeInfo<?>) typeInfo).getTypeClass().getCanonicalName() + "' expected but was '" + clazz.getCanonicalName() + "'.");
if (!(isClassType(type) && ((PojoTypeInfo<?>) typeInfo).getTypeClass() == (clazz = typeToClass(type)))) { throw new InvalidTypesException("POJO type '" + ((PojoTypeInfo<?>) typeInfo).getTypeClass().getCanonicalName() + "' expected but was '" + clazz.getCanonicalName() + "'.");