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());
+ }
}