.getTaskId(hconf))); int reducerIdx = prtner.getPartition(key, null, numReducers); if (currReducer != reducerIdx) { continue; bucketNum = prtner.getBucket(key, null, totalFiles); if (seenBuckets.contains(bucketNum)) { continue;
private int findWriterOffset(Object row) throws HiveException { if (!multiFileSpray) { return 0; } else { Object[] bucketFieldValues = new Object[partitionEval.length]; for(int i = 0; i < partitionEval.length; i++) { bucketFieldValues[i] = partitionEval[i].evaluate(row); } int keyHashCode = ObjectInspectorUtils.getBucketHashCode(bucketFieldValues, partitionObjectInspectors); key.setHashCode(keyHashCode); int bucketNum = prtner.getBucket(key, null, totalFiles); return bucketMap.get(bucketNum); } }
private int findWriterOffset(Object row) throws HiveException { if (!multiFileSpray) { return 0; } else { assert getConf().getWriteType() != AcidUtils.Operation.DELETE && getConf().getWriteType() != AcidUtils.Operation.UPDATE : "Unexpected operation type: " + getConf().getWriteType(); //this is not used for DELETE commands (partitionEval is not set up correctly // (or needed) for that Object[] bucketFieldValues = new Object[partitionEval.length]; for(int i = 0; i < partitionEval.length; i++) { bucketFieldValues[i] = partitionEval[i].evaluate(row); } int keyHashCode = hashFunc.apply(bucketFieldValues, partitionObjectInspectors); key.setHashCode(keyHashCode); int bucketNum = prtner.getBucket(key, null, totalFiles); return bucketMap.get(bucketNum); } }
.getTaskId(hconf))); int reducerIdx = prtner.getPartition(key, null, numReducers); if (currReducer != reducerIdx) { continue; bucketNum = prtner.getBucket(key, null, totalFiles); if (seenBuckets.contains(bucketNum)) { continue;
private int findWriterOffset(Object row) throws HiveException { if (!multiFileSpray) { return 0; } else { int keyHashCode = 0; for (int i = 0; i < partitionEval.length; i++) { Object o = partitionEval[i].evaluate(row); keyHashCode = keyHashCode * 31 + ObjectInspectorUtils.hashCode(o, partitionObjectInspectors[i]); } key.setHashCode(keyHashCode); int bucketNum = prtner.getBucket(key, null, totalFiles); return bucketMap.get(bucketNum); } }
.getTaskId(hconf))); int reducerIdx = prtner.getPartition(key, null, numReducers); if (currReducer != reducerIdx) { continue; bucketNum = prtner.getBucket(key, null, totalFiles); if (seenBuckets.contains(bucketNum)) { continue;
int bucketNum = prtner.getBucket(key, null, totalFiles); int idx = bucketMap.get(bucketNum); rowOutWriters[idx].write(recordValue);
int currReducer = Integer.valueOf(Utilities.getTaskIdFromFilename(Utilities.getTaskId(hconf))); int reducerIdx = prtner.getPartition(key, null, numReducers); if (currReducer != reducerIdx) { continue; int bucketNum = prtner.getBucket(key, null, totalFiles); if (seenBuckets.contains(bucketNum)) { continue;