diff --git contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextInputFormat.java contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextInputFormat.java index cccb19a..932fc18 100644 --- contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextInputFormat.java +++ contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextInputFormat.java @@ -21,6 +21,7 @@ package org.apache.hadoop.hive.contrib.fileformat.base64; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Arrays; +import java.lang.reflect.Constructor; import org.apache.commons.codec.binary.Base64; import org.apache.hadoop.hive.shims.ShimLoader; @@ -125,7 +126,7 @@ public class Base64TextInputFormat implements } private byte[] signature; - private final Base64 base64 = new Base64(); + private final Base64 base64 = createBase64(); @Override public void configure(JobConf job) { @@ -140,6 +141,7 @@ public class Base64TextInputFormat implements e.printStackTrace(); } } + } TextInputFormat format; @@ -174,4 +176,13 @@ public class Base64TextInputFormat implements ShimLoader.getHadoopShims().inputFormatValidateInput(format, job); } + static Base64 createBase64() { + try { + Constructor ctor = Base64.class.getConstructor(int.class, byte[].class); + return ctor.newInstance(0, null); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } diff --git contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextOutputFormat.java contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextOutputFormat.java index be77009..c9eb367 100644 --- contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextOutputFormat.java +++ contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextOutputFormat.java @@ -101,7 +101,7 @@ public class Base64TextOutputFormat