This is an automated email from the ASF dual-hosted git repository.
nielsbasjes pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/main by this push:
new aa20739d1 AVRO-3930: Mapping org.apache.hadoop.io.ZStandardCodec to
zstandard
aa20739d1 is described below
commit aa20739d1e9efa6d65541d01ad371e7454d33018
Author: Kent Yao <[email protected]>
AuthorDate: Wed Jan 24 18:02:37 2024 +0800
AVRO-3930: Mapping org.apache.hadoop.io.ZStandardCodec to zstandard
---
.../main/java/org/apache/avro/hadoop/file/HadoopCodecFactory.java | 5 +++++
.../java/org/apache/avro/hadoop/file/TestHadoopCodecFactory.java | 7 +++++++
2 files changed, 12 insertions(+)
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 1843a2e5c..4974c4f92 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 @@ import org.apache.avro.file.CodecFactory;
* {@code bzip2}</li>
* <li>{@code org.apache.hadoop.io.compress.GZipCodec} will map to
* {@code deflate}</li>
+ * <li>{@code org.apache.hadoop.io.compress.ZStandardCodec} will map to
+ * {@code zstandard}</li>
* </ul>
*/
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}</li>
* <li>{@code org.apache.hadoop.io.compress.GZipCodec} will map to
* {@code deflate}</li>
+ * <li>{@code org.apache.hadoop.io.compress.ZStandardCodec} will map to
+ * {@code zstandard}</li>
* </ul>
*/
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 7174bf135..6e47aa7bb 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 @@ public class TestHadoopCodecFactory {
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());
+ }
}