1
0

[HUDI-2957] Shade kryo jar for flink bundle jar (#4251)

This commit is contained in:
Danny Chan
2021-12-09 10:16:42 +08:00
committed by GitHub
parent 7c3f0777aa
commit bd08470421
5 changed files with 13 additions and 27 deletions

View File

@@ -144,12 +144,6 @@
<artifactId>flink-hadoop-compatibility_${scala.binary.version}</artifactId> <artifactId>flink-hadoop-compatibility_${scala.binary.version}</artifactId>
<version>${flink.version}</version> <version>${flink.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-avro</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>org.apache.flink</groupId> <groupId>org.apache.flink</groupId>
<artifactId>flink-parquet_${scala.binary.version}</artifactId> <artifactId>flink-parquet_${scala.binary.version}</artifactId>

View File

@@ -46,7 +46,7 @@ import java.util.List;
* SQL API. * SQL API.
* *
* <p>Note: Changes in this class need to be kept in sync with the corresponding runtime classes * <p>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}.
* *
* <p>NOTE: reference from Flink release 1.12.0, should remove when Flink version upgrade to that. * <p>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 keyType;
LogicalType valueType; LogicalType valueType;
if (type instanceof MapType) { if (type instanceof MapType) {

View File

@@ -49,8 +49,6 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; 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}. * Tool class used to convert from Avro {@link GenericRecord} to {@link RowData}.
* *
@@ -188,7 +186,7 @@ public class AvroToRowDataConverters {
final AvroToRowDataConverter keyConverter = final AvroToRowDataConverter keyConverter =
createConverter(DataTypes.STRING().getLogicalType()); createConverter(DataTypes.STRING().getLogicalType());
final AvroToRowDataConverter valueConverter = final AvroToRowDataConverter valueConverter =
createNullableConverter(extractValueTypeToAvroMap(type)); createNullableConverter(AvroSchemaConverter.extractValueTypeToAvroMap(type));
return avroObject -> { return avroObject -> {
final Map<?, ?> map = (Map<?, ?>) avroObject; final Map<?, ?> map = (Map<?, ?>) avroObject;

View File

@@ -39,8 +39,6 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; 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}. * 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) { private static RowDataToAvroConverter createMapConverter(LogicalType type) {
LogicalType valueType = extractValueTypeToAvroMap(type); LogicalType valueType = AvroSchemaConverter.extractValueTypeToAvroMap(type);
final ArrayData.ElementGetter valueGetter = ArrayData.createElementGetter(valueType); final ArrayData.ElementGetter valueGetter = ArrayData.createElementGetter(valueType);
final RowDataToAvroConverter valueConverter = createConverter(valueType); final RowDataToAvroConverter valueConverter = createConverter(valueType);

View File

@@ -130,7 +130,6 @@
<inclide>com.esotericsoftware:kryo-shaded</inclide> <inclide>com.esotericsoftware:kryo-shaded</inclide>
<include>org.apache.flink:flink-hadoop-compatibility_${scala.binary.version}</include> <include>org.apache.flink:flink-hadoop-compatibility_${scala.binary.version}</include>
<include>org.apache.flink:flink-avro</include>
<include>org.apache.flink:flink-json</include> <include>org.apache.flink:flink-json</include>
<include>org.apache.flink:flink-parquet_${scala.binary.version}</include> <include>org.apache.flink:flink-parquet_${scala.binary.version}</include>
@@ -223,6 +222,11 @@
<pattern>org.eclipse.jetty.</pattern> <pattern>org.eclipse.jetty.</pattern>
<shadedPattern>${flink.bundle.shade.prefix}org.apache.jetty.</shadedPattern> <shadedPattern>${flink.bundle.shade.prefix}org.apache.jetty.</shadedPattern>
</relocation> </relocation>
<!-- Shade kryo-shaded because it may conflict with kryo used by flink -->
<relocation>
<pattern>com.esotericsoftware.kryo.</pattern>
<shadedPattern>${flink.bundle.shade.prefix}com.esotericsoftware.kryo.</shadedPattern>
</relocation>
</relocations> </relocations>
<filters> <filters>
<filter> <filter>
@@ -329,12 +333,6 @@
<version>${flink.version}</version> <version>${flink.version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-avro</artifactId>
<version>${flink.version}</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>org.apache.flink</groupId> <groupId>org.apache.flink</groupId>
<artifactId>flink-parquet_${scala.binary.version}</artifactId> <artifactId>flink-parquet_${scala.binary.version}</artifactId>
@@ -459,6 +457,10 @@
<groupId>org.pentaho</groupId> <groupId>org.pentaho</groupId>
<artifactId>*</artifactId> <artifactId>*</artifactId>
</exclusion> </exclusion>
<exclusion>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo-shaded</artifactId>
</exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
@@ -575,12 +577,6 @@
<version>4.0.2</version> <version>4.0.2</version>
</dependency> </dependency>
<dependency>
<groupId>com.esotericsoftware.kryo</groupId>
<artifactId>kryo</artifactId>
<version>2.24.0</version>
</dependency>
<!-- ORC --> <!-- ORC -->
<dependency> <dependency>
<groupId>org.apache.orc</groupId> <groupId>org.apache.orc</groupId>