diff --git a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloPredicateHandler.java b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloPredicateHandler.java index 834ed250f0..6a566182c3 100644 --- a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloPredicateHandler.java +++ b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloPredicateHandler.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Base64; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -28,7 +29,6 @@ import org.apache.accumulo.core.client.IteratorSetting; import org.apache.accumulo.core.data.Range; -import org.apache.commons.codec.binary.Base64; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.accumulo.columns.ColumnEncoding; import org.apache.hadoop.hive.accumulo.columns.ColumnMapper; @@ -362,8 +362,7 @@ public IteratorSetting toSetting(HiveAccumuloColumnMapping accumuloColumnMapping is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, tuple.getpCompare().getClass() .getName()); is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, tuple.getcOpt().getClass().getName()); - is.addOption(PrimitiveComparisonFilter.CONST_VAL, - new String(Base64.encodeBase64(tuple.getConstVal()))); + is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(tuple.getConstVal())); is.addOption(PrimitiveComparisonFilter.COLUMN, accumuloColumnMapping.serialize()); return is; diff --git a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/PrimitiveComparisonFilter.java b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/PrimitiveComparisonFilter.java index 544717c7ab..1b914c74af 100644 --- a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/PrimitiveComparisonFilter.java +++ b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/PrimitiveComparisonFilter.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hive.accumulo.predicate; import java.io.IOException; +import java.util.Base64; import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -30,7 +31,6 @@ import org.apache.accumulo.core.iterators.IteratorEnvironment; import org.apache.accumulo.core.iterators.SortedKeyValueIterator; import org.apache.accumulo.core.iterators.user.WholeRowIterator; -import org.apache.commons.codec.binary.Base64; import org.apache.hadoop.hive.accumulo.columns.ColumnEncoding; import org.apache.hadoop.hive.accumulo.columns.ColumnMappingFactory; import org.apache.hadoop.hive.accumulo.columns.HiveAccumuloColumnMapping; @@ -136,6 +136,6 @@ public void init(SortedKeyValueIterator source, Map protected byte[] getConstant(Map options) { String b64Const = options.get(CONST_VAL); - return Base64.decodeBase64(b64Const.getBytes()); + return Base64.getDecoder().decode(b64Const.getBytes()); } } diff --git a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/mr/TestHiveAccumuloTableInputFormat.java b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/mr/TestHiveAccumuloTableInputFormat.java index 56beb8f12b..95cc27d9da 100644 --- a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/mr/TestHiveAccumuloTableInputFormat.java +++ b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/mr/TestHiveAccumuloTableInputFormat.java @@ -26,6 +26,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Base64; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -49,7 +50,6 @@ import org.apache.accumulo.core.security.Authorizations; import org.apache.accumulo.core.security.ColumnVisibility; import org.apache.accumulo.core.util.Pair; -import org.apache.commons.codec.binary.Base64; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.accumulo.AccumuloConnectionParameters; import org.apache.hadoop.hive.accumulo.AccumuloHiveConstants; @@ -252,8 +252,7 @@ public void testDegreesAndMillis() throws Exception { is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, DoubleCompare.class.getName()); is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, GreaterThanOrEqual.class.getName()); - is.addOption(PrimitiveComparisonFilter.CONST_VAL, - new String(Base64.encodeBase64(parseDoubleBytes("55.6")))); + is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(parseDoubleBytes("55.6"))); is.addOption(PrimitiveComparisonFilter.COLUMN, "cf:dgrs"); scan.addScanIterator(is); @@ -262,8 +261,7 @@ public void testDegreesAndMillis() throws Exception { is2.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, LongCompare.class.getName()); is2.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, LessThan.class.getName()); - is2.addOption(PrimitiveComparisonFilter.CONST_VAL, - new String(Base64.encodeBase64(parseLongBytes("778")))); + is2.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(parseLongBytes("778"))); is2.addOption(PrimitiveComparisonFilter.COLUMN, "cf:mills"); scan.addScanIterator(is2); @@ -310,8 +308,7 @@ public void testGreaterThan1Sid() throws Exception { is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, IntCompare.class.getName()); is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, GreaterThan.class.getName()); - is.addOption(PrimitiveComparisonFilter.CONST_VAL, - new String(Base64.encodeBase64(parseIntBytes("1")))); + is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(parseIntBytes("1"))); is.addOption(PrimitiveComparisonFilter.COLUMN, "cf:sid"); scan.addScanIterator(is); boolean foundMark = false; @@ -355,8 +352,7 @@ public void testNameEqualBrian() throws Exception { is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, StringCompare.class.getName()); is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, Equal.class.getName()); - is.addOption(PrimitiveComparisonFilter.CONST_VAL, - new String(Base64.encodeBase64("brian".getBytes()))); + is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString("brian".getBytes())); is.addOption(PrimitiveComparisonFilter.COLUMN, "cf:name"); scan.addScanIterator(is); boolean foundName = false; @@ -411,8 +407,7 @@ public void testIteratorNotInSplitsCompensation() throws Exception { is.addOption(PrimitiveComparisonFilter.P_COMPARE_CLASS, StringCompare.class.getName()); is.addOption(PrimitiveComparisonFilter.COMPARE_OPT_CLASS, Equal.class.getName()); - is.addOption(PrimitiveComparisonFilter.CONST_VAL, - new String(Base64.encodeBase64(new byte[] {'0'}))); + is.addOption(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(new byte[] {'0'})); is.addOption(PrimitiveComparisonFilter.COLUMN, "cf:cq"); // Mock out the predicate handler because it's just easier diff --git a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestAccumuloPredicateHandler.java b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestAccumuloPredicateHandler.java index 0bb50e8784..6c0bb36c11 100644 --- a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestAccumuloPredicateHandler.java +++ b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestAccumuloPredicateHandler.java @@ -27,6 +27,7 @@ import java.io.ByteArrayOutputStream; import java.nio.ByteBuffer; import java.util.Arrays; +import java.util.Base64; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -35,7 +36,6 @@ import org.apache.accumulo.core.client.IteratorSetting; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.Range; -import org.apache.commons.codec.binary.Base64; import org.apache.hadoop.hive.accumulo.columns.ColumnEncoding; import org.apache.hadoop.hive.accumulo.columns.ColumnMapper; import org.apache.hadoop.hive.accumulo.predicate.compare.CompareOp; @@ -538,7 +538,7 @@ public void testCreateIteratorSettings() throws Exception { assertEquals(option.getValue(), "cf:f1"); } else if (optKey.equals(PrimitiveComparisonFilter.CONST_VAL)) { foundConst = true; - assertEquals(option.getValue(), new String(Base64.encodeBase64("aaa".getBytes()))); + assertEquals(option.getValue(), Base64.getEncoder().encodeToString("aaa".getBytes())); } else if (optKey.equals(PrimitiveComparisonFilter.COMPARE_OPT_CLASS)) { foundCOpt = true; assertEquals(option.getValue(), LessThanOrEqual.class.getName()); @@ -563,7 +563,7 @@ public void testCreateIteratorSettings() throws Exception { foundConst = true; byte[] intVal = new byte[4]; ByteBuffer.wrap(intVal).putInt(5); - assertEquals(option.getValue(), new String(Base64.encodeBase64(intVal))); + assertEquals(option.getValue(), Base64.getEncoder().encodeToString(intVal)); } else if (optKey.equals(PrimitiveComparisonFilter.COMPARE_OPT_CLASS)) { foundCOpt = true; assertEquals(option.getValue(), GreaterThan.class.getName()); diff --git a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestPrimitiveComparisonFilter.java b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestPrimitiveComparisonFilter.java index 95b6ba4e08..b9ca7ec944 100644 --- a/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestPrimitiveComparisonFilter.java +++ b/accumulo-handler/src/test/org/apache/hadoop/hive/accumulo/predicate/TestPrimitiveComparisonFilter.java @@ -21,10 +21,10 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; +import java.util.Base64; import java.util.HashMap; import java.util.Map; -import org.apache.commons.codec.binary.Base64; import org.apache.hadoop.io.IntWritable; import org.junit.Assert; import org.junit.Test; @@ -41,7 +41,7 @@ public void testBase64ConstantEncode() { for (int i = 0; i < 500; i++) { String constant = Integer.toString(i); - options.put(PrimitiveComparisonFilter.CONST_VAL, new String(Base64.encodeBase64(constant.getBytes()))); + options.put(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(constant.getBytes())); Assert.assertEquals(constant, new String(filter.getConstant(options))); } @@ -60,7 +60,7 @@ public void testNumericBase64ConstantEncode() throws IOException { writable.set(i); writable.write(out); - options.put(PrimitiveComparisonFilter.CONST_VAL, new String(Base64.encodeBase64(baos.toByteArray()))); + options.put(PrimitiveComparisonFilter.CONST_VAL, Base64.getEncoder().encodeToString(baos.toByteArray())); byte[] bytes = filter.getConstant(options); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java index 92e46fdd4d..333b9839f9 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java @@ -47,6 +47,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Base64; import java.util.Calendar; import java.util.Collection; import java.util.Collections; @@ -76,7 +77,6 @@ import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; -import org.apache.commons.codec.binary.Base64; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.StringUtils; @@ -474,7 +474,7 @@ private static BaseWork getBaseWork(Configuration conf, String name) { } serializedSize = planString.length(); planMode = "RPC"; - byte[] planBytes = Base64.decodeBase64(planString); + byte[] planBytes = Base64.getDecoder().decode(planString); in = new ByteArrayInputStream(planBytes); in = new InflaterInputStream(in); } else { @@ -617,7 +617,7 @@ private static Path setBaseWork(Configuration conf, BaseWork w, Path hiveScratch } finally { IOUtils.closeStream(out); } - final String serializedPlan = Base64.encodeBase64String(byteOut.toByteArray()); + final String serializedPlan = Base64.getEncoder().encodeToString(byteOut.toByteArray()); serializedSize = serializedPlan.length(); planMode = "RPC"; conf.set(planPath.toUri().getPath(), serializedPlan);