protected HiveKey toHiveKey(Object obj, int tag, Integer distLength) throws SerDeException { BinaryComparable key = (BinaryComparable)keySerializer.serialize(obj, keyObjectInspector); int keyLength = key.getLength(); if (tag == -1 || skipTag) { keyWritable.set(key.getBytes(), 0, keyLength); } else { keyWritable.setSize(keyLength + 1); System.arraycopy(key.getBytes(), 0, keyWritable.get(), 0, keyLength); keyWritable.get()[keyLength] = tagByte[0]; } keyWritable.setDistKeyLength((distLength == null) ? keyLength : distLength); return keyWritable; }
protected HiveKey toHiveKey(Object obj, int tag, Integer distLength) throws SerDeException { BinaryComparable key = (BinaryComparable)keySerializer.serialize(obj, keyObjectInspector); int keyLength = key.getLength(); if (tag == -1 || skipTag) { keyWritable.set(key.getBytes(), 0, keyLength); } else { keyWritable.setSize(keyLength + 1); System.arraycopy(key.getBytes(), 0, keyWritable.get(), 0, keyLength); keyWritable.get()[keyLength] = tagByte[0]; } keyWritable.setDistKeyLength((distLength == null) ? keyLength : distLength); return keyWritable; }
protected void initializeEmptyKey(int tag) { // Use the same logic as ReduceSinkOperator.toHiveKey. // if (tag == -1 || reduceSkipTag) { keyWritable.setSize(0); } else { keyWritable.setSize(1); keyWritable.get()[0] = reduceTagByte; } keyWritable.setDistKeyLength(0); keyWritable.setHashCode(0); }
private void processKey(VectorizedRowBatch batch, int batchIndex, int tag) throws HiveException{ if (isEmptyKey) return; try { keyBinarySortableSerializeWrite.reset(); keyVectorSerializeRow.serializeWrite(batch, batchIndex); // One serialized key for 1 or more rows for the duplicate keys. final int keyLength = keyOutput.getLength(); if (tag == -1 || reduceSkipTag) { keyWritable.set(keyOutput.getData(), 0, keyLength); } else { keyWritable.setSize(keyLength + 1); System.arraycopy(keyOutput.getData(), 0, keyWritable.get(), 0, keyLength); keyWritable.get()[keyLength] = reduceTagByte; } keyWritable.setDistKeyLength(keyLength); } catch (Exception e) { throw new HiveException(e); } }
} else { keyWritable.setSize(nullBytes.length + 1); System.arraycopy(nullBytes, 0, keyWritable.get(), 0, nullBytes.length); keyWritable.get()[nullBytes.length] = reduceTagByte; keyWritable.setSize(keyLength + 1); System.arraycopy(serializedKeySeries.getSerializedBytes(), serializedKeySeries.getSerializedStart(), keyWritable.get(), 0, keyLength); keyWritable.get()[keyLength] = reduceTagByte;
} else { keyWritable.setSize(nullBytes.length + 1); System.arraycopy(nullBytes, 0, keyWritable.get(), 0, nullBytes.length); keyWritable.get()[nullBytes.length] = reduceTagByte; keyWritable.setSize(keyLength + 1); System.arraycopy(serializedKeySeries.getSerializedBytes(), serializedKeySeries.getSerializedStart(), keyWritable.get(), 0, keyLength); keyWritable.get()[keyLength] = reduceTagByte;
protected HiveKey toHiveKey(Object obj, int tag, Integer distLength) throws SerDeException { BinaryComparable key = (BinaryComparable)keySerializer.serialize(obj, keyObjectInspector); int keyLength = key.getLength(); if (tag == -1 || skipTag) { keyWritable.set(key.getBytes(), 0, keyLength); } else { keyWritable.setSize(keyLength + 1); System.arraycopy(key.getBytes(), 0, keyWritable.get(), 0, keyLength); keyWritable.get()[keyLength] = tagByte[0]; } keyWritable.setDistKeyLength((distLength == null) ? keyLength : distLength); return keyWritable; }
int keyLength = key.getLength(); keyWritable.setSize(keyLength + 1); System.arraycopy(key.getBytes(), 0, keyWritable.get(), 0, keyLength); keyWritable.get()[keyLength] = tagByte[0]; int keyLength = key.getLength(); keyWritable.setSize(keyLength + 1); System.arraycopy(key.getBytes(), 0, keyWritable.get(), 0, keyLength); keyWritable.get()[keyLength] = tagByte[0];