commit 2e53093183510f9750208f8d1b6200416a64f98e Author: Todd Lipcon Date: Fri Sep 10 11:49:00 2010 -0700 HIVE-1628. Fix Base64TextInputFormat to be compatible with commons codec 1.4 Reason: Hadoop now ships commons-codec 1.4, so it ends up on Hive's classpath Author: Todd Lipcon 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 e3a1fe8..e269eaf 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.hadoop.hive.shims.ShimLoader; import org.apache.hadoop.io.BytesWritable; @@ -122,7 +123,7 @@ public class Base64TextInputFormat } private byte[] signature; - private Base64 base64 = new Base64(); + private Base64 base64 = createBase64(); @Override public void configure(JobConf job) { @@ -137,6 +138,7 @@ public class Base64TextInputFormat e.printStackTrace(); } } + } TextInputFormat format; @@ -172,4 +174,13 @@ public class Base64TextInputFormat 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 81b5743..bbe915b 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 @@ -99,7 +99,7 @@ public class Base64TextOutputFormat