// These represent the bucketed columns
List<BucketCol> bucketCols = new ArrayList<BucketCol>();
for (int i = 0; i < rop.getConf().getPartitionCols().size(); i++) {
boolean valueColFound = false;
for (int j = 0; j < rop.getConf().getValueCols().size(); j++) {
if (new ExprNodeDescEqualityWrapper(rop.getConf().getValueCols().get(j)).equals(
new ExprNodeDescEqualityWrapper(rop.getConf().getPartitionCols().get(i)))) {
bucketCols.add(new BucketCol(
rop.getSchema().getSignature().get(j).getInternalName(), j));
valueColFound = true;
break;
}
}
// If the partition columns can't all be found in the values then the data is not bucketed
if (!valueColFound) {
bucketCols.clear();
break;
}
}
// Go through the set of key columns, and find their representatives in the values
// These represent the sorted columns
String sortOrder = rop.getConf().getOrder();
List<SortCol> sortCols = new ArrayList<SortCol>();
for (int i = 0; i < rop.getConf().getKeyCols().size(); i++) {
boolean valueColFound = false;
for (int j = 0; j < rop.getConf().getValueCols().size(); j++) {
if (new ExprNodeDescEqualityWrapper(rop.getConf().getValueCols().get(j)).equals(
new ExprNodeDescEqualityWrapper(rop.getConf().getKeyCols().get(i)))) {
sortCols.add(new SortCol(
rop.getSchema().getSignature().get(j).getInternalName(), j, sortOrder.charAt(i)));
valueColFound = true;
break;