Skip to content

Instantly share code, notes, and snippets.

@masayuki038
Created November 9, 2019 07:33
Show Gist options
  • Save masayuki038/31c6c1f7d1534e4c5151e09db8062026 to your computer and use it in GitHub Desktop.
Save masayuki038/31c6c1f7d1534e4c5151e09db8062026 to your computer and use it in GitHub Desktop.
@Override
public RelDataType getRowType(RelDataTypeFactory relDataTypeFactory) {
JavaTypeFactory typeFactory = (JavaTypeFactory) relDataTypeFactory;
List<Pair<String, RelDataType>> ret = schema.getFields().stream().map(field -> {
Schema.Type avroFieldType = field.schema().getType();
if (avroFieldType == Schema.Type.UNION) {
avroFieldType = getAvroNullableField(field);
}
RelDataType relDataType = AvroFieldType.of(avroFieldType).toType(typeFactory);
return new Pair<>(field.name().toUpperCase(), relDataType);
}).collect(Collectors.toList());
return relDataTypeFactory.createStructType(ret);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment