diff --git a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/file/HadoopCodecFactory.java b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/file/HadoopCodecFactory.java index 1843a2e5c59..4974c4f92dd 100644 --- a/lang/java/mapred/src/main/java/org/apache/avro/hadoop/file/HadoopCodecFactory.java +++ b/lang/java/mapred/src/main/java/org/apache/avro/hadoop/file/HadoopCodecFactory.java @@ -38,6 +38,8 @@ * {@code bzip2} *
  • {@code org.apache.hadoop.io.compress.GZipCodec} will map to * {@code deflate}
  • + *
  • {@code org.apache.hadoop.io.compress.ZStandardCodec} will map to + * {@code zstandard}
  • * */ public class HadoopCodecFactory { @@ -49,6 +51,7 @@ public class HadoopCodecFactory { HADOOP_AVRO_NAME_MAP.put("org.apache.hadoop.io.compress.SnappyCodec", "snappy"); HADOOP_AVRO_NAME_MAP.put("org.apache.hadoop.io.compress.BZip2Codec", "bzip2"); HADOOP_AVRO_NAME_MAP.put("org.apache.hadoop.io.compress.GZipCodec", "deflate"); + HADOOP_AVRO_NAME_MAP.put("org.apache.hadoop.io.compress.ZStandardCodec", "zstandard"); } /** @@ -64,6 +67,8 @@ public class HadoopCodecFactory { * {@code bzip2} *
  • {@code org.apache.hadoop.io.compress.GZipCodec} will map to * {@code deflate}
  • + *
  • {@code org.apache.hadoop.io.compress.ZStandardCodec} will map to + * {@code zstandard}
  • * */ public static CodecFactory fromHadoopString(String hadoopCodecClass) { diff --git a/lang/java/mapred/src/test/java/org/apache/avro/hadoop/file/TestHadoopCodecFactory.java b/lang/java/mapred/src/test/java/org/apache/avro/hadoop/file/TestHadoopCodecFactory.java index 7174bf135de..6e47aa7bb70 100644 --- a/lang/java/mapred/src/test/java/org/apache/avro/hadoop/file/TestHadoopCodecFactory.java +++ b/lang/java/mapred/src/test/java/org/apache/avro/hadoop/file/TestHadoopCodecFactory.java @@ -58,4 +58,11 @@ void hadoopCodecFactoryFail() { CodecFactory hadoopSnappyCodec = HadoopCodecFactory.fromHadoopString("org.apache.hadoop.io.compress.FooCodec"); assertNull(hadoopSnappyCodec); } + + @Test + void hadoopCodecFactoryZstd() { + CodecFactory hadoopZstdCodec = HadoopCodecFactory.fromHadoopString("org.apache.hadoop.io.compress.ZStandardCodec"); + CodecFactory avroZstdCodec = CodecFactory.fromString("zstandard"); + assertEquals(hadoopZstdCodec.getClass(), avroZstdCodec.getClass()); + } }