You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ab...@apache.org on 2019/08/27 11:48:37 UTC
[hive] branch master updated: HIVE-21962: Replacing ArrayList
params with List in and around PlanUtils and MapWork (Ivan Suller via
Zoltan Haindrich, Laszlo Bodor)
This is an automated email from the ASF dual-hosted git repository.
abstractdog pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 91f9ff5 HIVE-21962: Replacing ArrayList params with List in and around PlanUtils and MapWork (Ivan Suller via Zoltan Haindrich, Laszlo Bodor)
91f9ff5 is described below
commit 91f9ff5648854c487860a79b82450538fbcf6c48
Author: Ivan Suller <is...@cloudera.com>
AuthorDate: Tue Aug 27 13:39:06 2019 +0200
HIVE-21962: Replacing ArrayList params with List in and around PlanUtils and MapWork (Ivan Suller via Zoltan Haindrich, Laszlo Bodor)
Signed-off-by: Laszlo Bodor <bo...@gmail.com>
---
.../hive/ql/optimizer/ColumnPrunerProcFactory.java | 5 ++-
.../hive/ql/optimizer/ConvertJoinMapJoin.java | 6 ++--
.../hive/ql/optimizer/ReduceSinkMapJoinProc.java | 3 +-
.../correlation/ReduceSinkDeDuplicationUtils.java | 2 +-
.../hive/ql/optimizer/lineage/OpProcFactory.java | 4 +--
.../physical/BucketingSortingOpProcFactory.java | 2 +-
.../hive/ql/optimizer/physical/Vectorizer.java | 17 ++++-----
.../apache/hadoop/hive/ql/plan/FileSinkDesc.java | 9 +++--
.../org/apache/hadoop/hive/ql/plan/MapWork.java | 4 +--
.../org/apache/hadoop/hive/ql/plan/PlanUtils.java | 23 ++++++------
.../apache/hadoop/hive/ql/plan/ReduceSinkDesc.java | 42 +++++++++++-----------
.../hive/ql/plan/VectorizationCondition.java | 3 +-
12 files changed, 58 insertions(+), 62 deletions(-)
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java
index d5f51bf..697d3b2 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java
@@ -575,7 +575,7 @@ public final class ColumnPrunerProcFactory {
ReduceSinkDesc conf = op.getConf();
List<FieldNode> colLists = new ArrayList<>();
- ArrayList<ExprNodeDesc> keys = conf.getKeyCols();
+ List<ExprNodeDesc> keys = conf.getKeyCols();
LOG.debug("Reduce Sink Operator " + op.getIdentifier() + " key:" + keys);
for (ExprNodeDesc key : keys) {
colLists = mergeFieldNodesWithDesc(colLists, key);
@@ -874,8 +874,7 @@ public final class ColumnPrunerProcFactory {
private static boolean[] getPruneReduceSinkOpRetainFlags(
List<String> retainedParentOpOutputCols, ReduceSinkOperator reduce) {
ReduceSinkDesc reduceConf = reduce.getConf();
- java.util.ArrayList<ExprNodeDesc> originalValueEval = reduceConf
- .getValueCols();
+ List<ExprNodeDesc> originalValueEval = reduceConf.getValueCols();
boolean[] flags = new boolean[originalValueEval.size()];
for (int i = 0; i < originalValueEval.size(); i++) {
flags[i] = false;
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
index b4cc76a..de61be8 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
@@ -639,7 +639,7 @@ public class ConvertJoinMapJoin implements NodeProcessor {
ReduceSinkOperator bigTableRS = (ReduceSinkOperator)joinOp.getParentOperators().get(bigTablePosition);
OpTraits opTraits = bigTableRS.getOpTraits();
List<List<String>> listBucketCols = opTraits.getBucketColNames();
- ArrayList<ExprNodeDesc> bigTablePartitionCols = bigTableRS.getConf().getPartitionCols();
+ List<ExprNodeDesc> bigTablePartitionCols = bigTableRS.getConf().getPartitionCols();
boolean updatePartitionCols = false;
List<Integer> positions = new ArrayList<>();
@@ -691,8 +691,8 @@ public class ConvertJoinMapJoin implements NodeProcessor {
}
ReduceSinkOperator rsOp = (ReduceSinkOperator) op;
- ArrayList<ExprNodeDesc> newPartitionCols = new ArrayList<>();
- ArrayList<ExprNodeDesc> partitionCols = rsOp.getConf().getPartitionCols();
+ List<ExprNodeDesc> newPartitionCols = new ArrayList<>();
+ List<ExprNodeDesc> partitionCols = rsOp.getConf().getPartitionCols();
for (Integer position : positions) {
newPartitionCols.add(partitionCols.get(position));
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ReduceSinkMapJoinProc.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ReduceSinkMapJoinProc.java
index 81684be..89b5500 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ReduceSinkMapJoinProc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ReduceSinkMapJoinProc.java
@@ -177,7 +177,7 @@ public class ReduceSinkMapJoinProc implements NodeProcessor {
keyCount = rowCount = Long.MAX_VALUE;
}
tableSize = stats.getDataSize();
- ArrayList<String> keyCols = parentRS.getConf().getOutputKeyColumnNames();
+ List<String> keyCols = parentRS.getConf().getOutputKeyColumnNames();
if (keyCols != null && !keyCols.isEmpty()) {
// See if we can arrive at a smaller number using distinct stats from key columns.
long maxKeyCount = 1;
@@ -334,7 +334,6 @@ public class ReduceSinkMapJoinProc implements NodeProcessor {
// create an new operator: HashTableDummyOperator, which share the table desc
HashTableDummyDesc desc = new HashTableDummyDesc();
- @SuppressWarnings("unchecked")
HashTableDummyOperator dummyOp = (HashTableDummyOperator) OperatorFactory.get(
parentRS.getCompilationOpContext(), desc);
TableDesc tbl;
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplicationUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplicationUtils.java
index 6919da8..28ddecc 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplicationUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplicationUtils.java
@@ -144,7 +144,7 @@ public class ReduceSinkDeDuplicationUtils {
if (parentPCs == null || parentPCs.isEmpty()) {
// If partitioning columns of the parent RS are not assigned,
// assign partitioning columns of the child RS to the parent RS.
- ArrayList<ExprNodeDesc> childPCs = cRS.getConf().getPartitionCols();
+ List<ExprNodeDesc> childPCs = cRS.getConf().getPartitionCols();
pRS.getConf().setPartitionCols(ExprNodeDescUtils.backtrack(childPCs, cRS, pRS));
}
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/lineage/OpProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/lineage/OpProcFactory.java
index 825ece6..119baea 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/lineage/OpProcFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/lineage/OpProcFactory.java
@@ -609,7 +609,7 @@ public class OpProcFactory {
RowSchema schema = rop.getSchema();
ReduceSinkDesc desc = rop.getConf();
List<ExprNodeDesc> keyCols = desc.getKeyCols();
- ArrayList<String> keyColNames = desc.getOutputKeyColumnNames();
+ List<String> keyColNames = desc.getOutputKeyColumnNames();
for (int i = 0; i < keyCols.size(); i++) {
// order-bys, joins
ColumnInfo column = schema.getColumnInfo(Utilities.ReduceField.KEY + "." + keyColNames.get(i));
@@ -620,7 +620,7 @@ public class OpProcFactory {
ExprProcFactory.getExprDependency(lCtx, inpOp, keyCols.get(i), outputMap));
}
List<ExprNodeDesc> valCols = desc.getValueCols();
- ArrayList<String> valColNames = desc.getOutputValueColumnNames();
+ List<String> valColNames = desc.getOutputValueColumnNames();
for (int i = 0; i < valCols.size(); i++) {
// todo: currently, bucketing,etc. makes RS differently with those for order-bys or joins
ColumnInfo column = schema.getColumnInfo(valColNames.get(i));
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/BucketingSortingOpProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/BucketingSortingOpProcFactory.java
index e7776e5..01fb734 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/BucketingSortingOpProcFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/BucketingSortingOpProcFactory.java
@@ -545,7 +545,7 @@ public class BucketingSortingOpProcFactory {
static List<SortCol> extractSortCols(ReduceSinkOperator rop, List<ExprNodeDesc> outputValues) {
String sortOrder = rop.getConf().getOrder();
List<SortCol> sortCols = new ArrayList<SortCol>();
- ArrayList<ExprNodeDesc> keyCols = rop.getConf().getKeyCols();
+ List<ExprNodeDesc> keyCols = rop.getConf().getKeyCols();
for (int i = 0; i < keyCols.size(); i++) {
ExprNodeDesc keyCol = keyCols.get(i);
if (!(keyCol instanceof ExprNodeColumnDesc)) {
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java
index cbb3df0..ed3db4c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java
@@ -26,6 +26,7 @@ import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.IdentityHashMap;
@@ -1376,7 +1377,7 @@ public class Vectorizer implements PhysicalPlanResolver {
List<TypeInfo> allTypeInfoList,
Set<String> inputFileFormatClassNameSet,
Map<VectorPartitionDesc, VectorPartitionDesc> vectorPartitionDescMap,
- Set<String> enabledConditionsMetSet, ArrayList<String> enabledConditionsNotMetList,
+ Set<String> enabledConditionsMetSet, List<String> enabledConditionsNotMetList,
Set<Support> newSupportSet, List<TypeInfo> dataTypeInfoList) {
Class<? extends InputFormat> inputFileFormatClass = pd.getInputFileFormatClass();
@@ -1673,12 +1674,12 @@ public class Vectorizer implements PhysicalPlanResolver {
private void setValidateInputFormatAndSchemaEvolutionExplain(MapWork mapWork,
Set<String> inputFileFormatClassNameSet,
Map<VectorPartitionDesc, VectorPartitionDesc> vectorPartitionDescMap,
- Set<String> enabledConditionsMetSet, ArrayList<String> enabledConditionsNotMetList) {
+ Collection<String> enabledConditionsMetSet, Collection<String> enabledConditionsNotMetList) {
mapWork.setVectorizationInputFileFormatClassNameSet(inputFileFormatClassNameSet);
ArrayList<VectorPartitionDesc> vectorPartitionDescList = new ArrayList<VectorPartitionDesc>();
vectorPartitionDescList.addAll(vectorPartitionDescMap.keySet());
mapWork.setVectorPartitionDescList(vectorPartitionDescList);
- mapWork.setVectorizationEnabledConditionsMet(new ArrayList(enabledConditionsMetSet));
+ mapWork.setVectorizationEnabledConditionsMet(enabledConditionsMetSet);
mapWork.setVectorizationEnabledConditionsNotMet(enabledConditionsNotMetList);
}
@@ -1722,7 +1723,7 @@ public class Vectorizer implements PhysicalPlanResolver {
Map<VectorPartitionDesc, VectorPartitionDesc> vectorPartitionDescMap =
new LinkedHashMap<VectorPartitionDesc, VectorPartitionDesc>();
Set<String> enabledConditionsMetSet = new HashSet<String>();
- ArrayList<String> enabledConditionsNotMetList = new ArrayList<String>();
+ List<String> enabledConditionsNotMetList = new ArrayList<String>();
Set<Support> inputFormatSupportSet = new TreeSet<Support>();
boolean outsideLoopIsFirstPartition = true;
@@ -1934,7 +1935,7 @@ public class Vectorizer implements PhysicalPlanResolver {
ArrayList<VectorPartitionDesc> vectorPartitionDescList = new ArrayList<VectorPartitionDesc>();
vectorPartitionDescList.addAll(vectorPartitionDescMap.keySet());
mapWork.setVectorPartitionDescList(vectorPartitionDescList);
- mapWork.setVectorizationEnabledConditionsMet(new ArrayList(enabledConditionsMetSet));
+ mapWork.setVectorizationEnabledConditionsMet(enabledConditionsMetSet);
mapWork.setVectorizationEnabledConditionsNotMet(enabledConditionsNotMetList);
return new ImmutablePair<Boolean,Boolean>(true, false);
@@ -1951,7 +1952,7 @@ public class Vectorizer implements PhysicalPlanResolver {
if (onlyOneTableScanPair == null) {
VectorizerReason notVectorizedReason = currentBaseWork.getNotVectorizedReason();
Preconditions.checkState(notVectorizedReason != null);
- mapWork.setVectorizationEnabledConditionsNotMet(Arrays.asList(new String[] {notVectorizedReason.toString()}));
+ mapWork.setVectorizationEnabledConditionsNotMet(Collections.singleton(notVectorizedReason.toString()));
return;
}
String alias = onlyOneTableScanPair.left;
@@ -1968,7 +1969,7 @@ public class Vectorizer implements PhysicalPlanResolver {
if (!validateInputFormatAndSchemaEvolutionPair.right) {
VectorizerReason notVectorizedReason = currentBaseWork.getNotVectorizedReason();
Preconditions.checkState(notVectorizedReason != null);
- mapWork.setVectorizationEnabledConditionsNotMet(Arrays.asList(new String[] {notVectorizedReason.toString()}));
+ mapWork.setVectorizationEnabledConditionsNotMet(Collections.singleton(notVectorizedReason.toString()));
}
return;
}
@@ -4140,7 +4141,7 @@ public class Vectorizer implements PhysicalPlanResolver {
vectorReduceSinkInfo.setReduceSinkKeyExpressions(reduceSinkKeyExpressions);
}
- ArrayList<ExprNodeDesc> valueDescs = desc.getValueCols();
+ List<ExprNodeDesc> valueDescs = desc.getValueCols();
final boolean isEmptyValue = (valueDescs.size() == 0);
if (!isEmptyValue) {
VectorExpression[] allValueExpressions = vContext.getVectorExpressions(valueDescs);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
index 72ecde4..ecc7bde 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
@@ -18,7 +18,6 @@
package org.apache.hadoop.hive.ql.plan;
-import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -60,7 +59,7 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
// bucketed or sorted table/partition they cannot be merged.
private boolean canBeMerged;
private int totalFiles;
- private ArrayList<ExprNodeDesc> partitionCols;
+ private List<ExprNodeDesc> partitionCols;
private int numFiles;
private DynamicPartitionCtx dpCtx;
private String staticSpec; // static partition spec ends with a '/'
@@ -126,7 +125,7 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
public FileSinkDesc(final Path dirName, final TableDesc tableInfo,
final boolean compressed, final int destTableId, final boolean multiFileSpray,
final boolean canBeMerged, final int numFiles, final int totalFiles,
- final ArrayList<ExprNodeDesc> partitionCols, final DynamicPartitionCtx dpCtx, Path destPath,
+ final List<ExprNodeDesc> partitionCols, final DynamicPartitionCtx dpCtx, Path destPath,
Long mmWriteId, boolean isMmCtas, boolean isInsertOverwrite, boolean isQuery, boolean isCTASorCM) {
this.dirName = dirName;
@@ -379,14 +378,14 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
/**
* @return the partitionCols
*/
- public ArrayList<ExprNodeDesc> getPartitionCols() {
+ public List<ExprNodeDesc> getPartitionCols() {
return partitionCols;
}
/**
* @param partitionCols the partitionCols to set
*/
- public void setPartitionCols(ArrayList<ExprNodeDesc> partitionCols) {
+ public void setPartitionCols(List<ExprNodeDesc> partitionCols) {
this.partitionCols = partitionCols;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/MapWork.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/MapWork.java
index 1d06435..41a2656 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/MapWork.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/MapWork.java
@@ -828,7 +828,7 @@ public class MapWork extends BaseWork {
return vectorPartitionDescList;
}
- public void setVectorizationEnabledConditionsMet(ArrayList<String> vectorizationEnabledConditionsMet) {
+ public void setVectorizationEnabledConditionsMet(Collection<String> vectorizationEnabledConditionsMet) {
this.vectorizationEnabledConditionsMet = vectorizationEnabledConditionsMet == null ? null : VectorizationCondition.addBooleans(
vectorizationEnabledConditionsMet, true);
}
@@ -837,7 +837,7 @@ public class MapWork extends BaseWork {
return vectorizationEnabledConditionsMet;
}
- public void setVectorizationEnabledConditionsNotMet(List<String> vectorizationEnabledConditionsNotMet) {
+ public void setVectorizationEnabledConditionsNotMet(Collection<String> vectorizationEnabledConditionsNotMet) {
this.vectorizationEnabledConditionsNotMet = vectorizationEnabledConditionsNotMet == null ? null : VectorizationCondition.addBooleans(
vectorizationEnabledConditionsNotMet, false);
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java
index b1a04b3..217a763 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java
@@ -18,6 +18,8 @@
package org.apache.hadoop.hive.ql.plan;
+import static org.apache.hive.common.util.HiveStringUtils.quoteComments;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
@@ -67,7 +69,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
import org.apache.hadoop.hive.serde2.AbstractSerDe;
import org.apache.hadoop.hive.serde2.DelimitedJSONSerDe;
import org.apache.hadoop.hive.serde2.Deserializer;
-import org.apache.hadoop.hive.serde2.MetadataTypedColumnsetSerDe;
import org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe;
import org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe;
import org.apache.hadoop.hive.serde2.lazy.LazySerDeParameters;
@@ -84,7 +85,6 @@ import org.apache.hadoop.mapred.SequenceFileOutputFormat;
import org.apache.hadoop.mapred.TextInputFormat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.apache.hive.common.util.HiveStringUtils.quoteComments;
/**
* PlanUtils.
@@ -723,9 +723,9 @@ public final class PlanUtils {
* @return The reduceSinkDesc object.
*/
public static ReduceSinkDesc getReduceSinkDesc(
- ArrayList<ExprNodeDesc> keyCols, ArrayList<ExprNodeDesc> valueCols,
+ List<ExprNodeDesc> keyCols, List<ExprNodeDesc> valueCols,
List<String> outputColumnNames, boolean includeKeyCols, int tag,
- ArrayList<ExprNodeDesc> partitionCols, String order, String nullOrder,
+ List<ExprNodeDesc> partitionCols, String order, String nullOrder,
int numReducers, AcidUtils.Operation writeType) {
return getReduceSinkDesc(keyCols, keyCols.size(), valueCols,
new ArrayList<List<Integer>>(),
@@ -764,18 +764,18 @@ public final class PlanUtils {
* @return The reduceSinkDesc object.
*/
public static ReduceSinkDesc getReduceSinkDesc(
- final ArrayList<ExprNodeDesc> keyCols, int numKeys,
- ArrayList<ExprNodeDesc> valueCols,
+ final List<ExprNodeDesc> keyCols, int numKeys,
+ List<ExprNodeDesc> valueCols,
List<List<Integer>> distinctColIndices,
List<String> outputKeyColumnNames,
List<String> outputValueColumnNames,
boolean includeKeyCols, int tag,
- ArrayList<ExprNodeDesc> partitionCols, String order, String nullOrder,
+ List<ExprNodeDesc> partitionCols, String order, String nullOrder,
int numReducers, AcidUtils.Operation writeType) {
TableDesc keyTable = null;
TableDesc valueTable = null;
- ArrayList<String> outputKeyCols = new ArrayList<String>();
- ArrayList<String> outputValCols = new ArrayList<String>();
+ List<String> outputKeyCols = new ArrayList<String>();
+ List<String> outputValCols = new ArrayList<String>();
if (includeKeyCols) {
List<FieldSchema> keySchema = getFieldSchemasFromColumnListWithLength(
keyCols, distinctColIndices, outputKeyColumnNames, numKeys, "");
@@ -825,7 +825,7 @@ public final class PlanUtils {
* @return The reduceSinkDesc object.
*/
public static ReduceSinkDesc getReduceSinkDesc(
- ArrayList<ExprNodeDesc> keyCols, ArrayList<ExprNodeDesc> valueCols,
+ List<ExprNodeDesc> keyCols, List<ExprNodeDesc> valueCols,
List<String> outputColumnNames, boolean includeKey, int tag,
int numPartitionFields, int numReducers, AcidUtils.Operation writeType)
throws SemanticException {
@@ -867,8 +867,7 @@ public final class PlanUtils {
* @return The reduceSinkDesc object.
*/
public static ReduceSinkDesc getReduceSinkDesc(
- ArrayList<ExprNodeDesc> keyCols, int numKeys,
- ArrayList<ExprNodeDesc> valueCols,
+ List<ExprNodeDesc> keyCols, int numKeys, List<ExprNodeDesc> valueCols,
List<List<Integer>> distinctColIndices,
List<String> outputKeyColumnNames, List<String> outputValueColumnNames,
boolean includeKey, int tag,
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
index b1d8e1f..9257375 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
@@ -48,14 +48,14 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
/**
* Key columns are passed to reducer in the "key".
*/
- private java.util.ArrayList<ExprNodeDesc> keyCols;
- private java.util.ArrayList<java.lang.String> outputKeyColumnNames;
+ private List<ExprNodeDesc> keyCols;
+ private List<java.lang.String> outputKeyColumnNames;
private List<List<Integer>> distinctColumnIndices;
/**
* Value columns are passed to reducer in the "value".
*/
- private java.util.ArrayList<ExprNodeDesc> valueCols;
- private java.util.ArrayList<java.lang.String> outputValueColumnNames;
+ private List<ExprNodeDesc> valueCols;
+ private List<java.lang.String> outputValueColumnNames;
/**
* Describe how to serialize the key.
*/
@@ -86,7 +86,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
* Partition columns decide the reducer that the current row goes to.
* Partition columns are not passed to reducer.
*/
- private java.util.ArrayList<ExprNodeDesc> partitionCols;
+ private List<ExprNodeDesc> partitionCols;
private int numReducers;
@@ -134,13 +134,11 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
public ReduceSinkDesc() {
}
- public ReduceSinkDesc(ArrayList<ExprNodeDesc> keyCols,
+ public ReduceSinkDesc(List<ExprNodeDesc> keyCols,
int numDistributionKeys,
- ArrayList<ExprNodeDesc> valueCols,
- ArrayList<String> outputKeyColumnNames,
+ List<ExprNodeDesc> valueCols, List<String> outputKeyColumnNames,
List<List<Integer>> distinctColumnIndices,
- ArrayList<String> outputValueColumnNames, int tag,
- ArrayList<ExprNodeDesc> partitionCols, int numReducers,
+ List<String> outputValueColumnNames, int tag, List<ExprNodeDesc> partitionCols, int numReducers,
final TableDesc keySerializeInfo, final TableDesc valueSerializeInfo,
AcidUtils.Operation writeType) {
this.keyCols = keyCols;
@@ -162,9 +160,9 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
@Override
public Object clone() {
ReduceSinkDesc desc = new ReduceSinkDesc();
- desc.setKeyCols((ArrayList<ExprNodeDesc>) getKeyCols().clone());
- desc.setValueCols((ArrayList<ExprNodeDesc>) getValueCols().clone());
- desc.setOutputKeyColumnNames((ArrayList<String>) getOutputKeyColumnNames().clone());
+ desc.setKeyCols(new ArrayList<ExprNodeDesc>(getKeyCols()));
+ desc.setValueCols(new ArrayList<ExprNodeDesc>(getValueCols()));
+ desc.setOutputKeyColumnNames(new ArrayList<String>(getOutputKeyColumnNames()));
List<List<Integer>> distinctColumnIndicesClone = new ArrayList<List<Integer>>();
for (List<Integer> distinctColumnIndex : getDistinctColumnIndices()) {
List<Integer> tmp = new ArrayList<Integer>();
@@ -172,11 +170,11 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
distinctColumnIndicesClone.add(tmp);
}
desc.setDistinctColumnIndices(distinctColumnIndicesClone);
- desc.setOutputValueColumnNames((ArrayList<String>) getOutputValueColumnNames().clone());
+ desc.setOutputValueColumnNames(new ArrayList<String>(getOutputValueColumnNames()));
desc.setNumDistributionKeys(getNumDistributionKeys());
desc.setTag(getTag());
desc.setNumReducers(getNumReducers());
- desc.setPartitionCols((ArrayList<ExprNodeDesc>) getPartitionCols().clone());
+ desc.setPartitionCols(new ArrayList<ExprNodeDesc>(getPartitionCols()));
desc.setKeySerializeInfo((TableDesc) getKeySerializeInfo().clone());
desc.setValueSerializeInfo((TableDesc) getValueSerializeInfo().clone());
desc.setNumBuckets(numBuckets);
@@ -190,7 +188,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
return desc;
}
- public java.util.ArrayList<java.lang.String> getOutputKeyColumnNames() {
+ public List<String> getOutputKeyColumnNames() {
return outputKeyColumnNames;
}
@@ -210,7 +208,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
this.outputKeyColumnNames = outputKeyColumnNames;
}
- public java.util.ArrayList<java.lang.String> getOutputValueColumnNames() {
+ public List<String> getOutputValueColumnNames() {
return outputValueColumnNames;
}
@@ -235,7 +233,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
return PlanUtils.getExprListString(keyCols);
}
- public java.util.ArrayList<ExprNodeDesc> getKeyCols() {
+ public List<ExprNodeDesc> getKeyCols() {
return keyCols;
}
@@ -257,11 +255,11 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
return PlanUtils.getExprListString(valueCols);
}
- public java.util.ArrayList<ExprNodeDesc> getValueCols() {
+ public List<ExprNodeDesc> getValueCols() {
return valueCols;
}
- public void setValueCols(final java.util.ArrayList<ExprNodeDesc> valueCols) {
+ public void setValueCols(List<ExprNodeDesc> valueCols) {
this.valueCols = valueCols;
}
@@ -276,12 +274,12 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
return PlanUtils.getExprListString(partitionCols, true);
}
- public java.util.ArrayList<ExprNodeDesc> getPartitionCols() {
+ public List<ExprNodeDesc> getPartitionCols() {
return partitionCols;
}
public void setPartitionCols(
- final java.util.ArrayList<ExprNodeDesc> partitionCols) {
+ final List<ExprNodeDesc> partitionCols) {
this.partitionCols = partitionCols;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorizationCondition.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorizationCondition.java
index a419195..c9b574b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorizationCondition.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorizationCondition.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hive.ql.plan;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
public class VectorizationCondition {
@@ -60,7 +61,7 @@ public class VectorizationCondition {
return notMetList;
}
- public static List<String> addBooleans(List<String> conditions, boolean flag) {
+ public static List<String> addBooleans(Collection<String> conditions, boolean flag) {
ArrayList<String> result = new ArrayList<String>(conditions.size());
for (String condition : conditions) {
result.add(condition + " IS " + flag);