Github user tragicjun commented on a diff in the pull request:
https://github.com/apache/flink/pull/6082#discussion_r193102162
--- Diff:
flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/typeutils/AvroRecordClassConverter.java
---
@@ -73,9 +75,37 @@ private AvroRecordClassConverter() {
final GenericTypeInfo<?> genericTypeInfo =
(GenericTypeInfo<?>) extracted;
if (genericTypeInfo.getTypeClass() == Utf8.class) {
return BasicTypeInfo.STRING_TYPE_INFO;
+ } else if (genericTypeInfo.getTypeClass() == Map.class)
{
+ // avro map key is always string
+ return Types.MAP(Types.STRING,
+
convertPrimitiveType(schema.getValueType().getType()));
+ } else if (genericTypeInfo.getTypeClass() == List.class
&&
+ schema.getType() == Schema.Type.ARRAY) {
--- End diff --
it is necessary because List.class doesn't mean the Schema.Type must be
ARRAY. But I think it should be better use Schema.Type to do it.
---