Note: Changes in this class need to be kept in sync with the corresponding runtime classes - * {@link org.apache.flink.formats.avro.AvroRowDeserializationSchema} and {@link org.apache.flink.formats.avro.AvroRowSerializationSchema}. + * {@code org.apache.flink.formats.avro.AvroRowDeserializationSchema} and {@code org.apache.flink.formats.avro.AvroRowSerializationSchema}. * *
NOTE: reference from Flink release 1.12.0, should remove when Flink version upgrade to that.
*/
@@ -294,7 +294,7 @@ public class AvroSchemaConverter {
}
}
- private static LogicalType extractValueTypeToAvroMap(LogicalType type) {
+ public static LogicalType extractValueTypeToAvroMap(LogicalType type) {
LogicalType keyType;
LogicalType valueType;
if (type instanceof MapType) {
diff --git a/hudi-flink/src/main/java/org/apache/hudi/util/AvroToRowDataConverters.java b/hudi-flink/src/main/java/org/apache/hudi/util/AvroToRowDataConverters.java
index 1ce467f54..d903632a6 100644
--- a/hudi-flink/src/main/java/org/apache/hudi/util/AvroToRowDataConverters.java
+++ b/hudi-flink/src/main/java/org/apache/hudi/util/AvroToRowDataConverters.java
@@ -49,8 +49,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static org.apache.flink.formats.avro.typeutils.AvroSchemaConverter.extractValueTypeToAvroMap;
-
/**
* Tool class used to convert from Avro {@link GenericRecord} to {@link RowData}.
*
@@ -188,7 +186,7 @@ public class AvroToRowDataConverters {
final AvroToRowDataConverter keyConverter =
createConverter(DataTypes.STRING().getLogicalType());
final AvroToRowDataConverter valueConverter =
- createNullableConverter(extractValueTypeToAvroMap(type));
+ createNullableConverter(AvroSchemaConverter.extractValueTypeToAvroMap(type));
return avroObject -> {
final Map, ?> map = (Map, ?>) avroObject;
diff --git a/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java b/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java
index c282f5aeb..26e21770b 100644
--- a/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java
+++ b/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java
@@ -39,8 +39,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static org.apache.flink.formats.avro.typeutils.AvroSchemaConverter.extractValueTypeToAvroMap;
-
/**
* Tool class used to convert from {@link RowData} to Avro {@link GenericRecord}.
*
@@ -279,7 +277,7 @@ public class RowDataToAvroConverters {
}
private static RowDataToAvroConverter createMapConverter(LogicalType type) {
- LogicalType valueType = extractValueTypeToAvroMap(type);
+ LogicalType valueType = AvroSchemaConverter.extractValueTypeToAvroMap(type);
final ArrayData.ElementGetter valueGetter = ArrayData.createElementGetter(valueType);
final RowDataToAvroConverter valueConverter = createConverter(valueType);
diff --git a/packaging/hudi-flink-bundle/pom.xml b/packaging/hudi-flink-bundle/pom.xml
index 7cb0e00a7..443eb42cd 100644
--- a/packaging/hudi-flink-bundle/pom.xml
+++ b/packaging/hudi-flink-bundle/pom.xml
@@ -130,7 +130,6 @@