private void doSmallTableKeyDeserializeRow(VectorizedRowBatch batch, int batchIndex, byte[] keyBytes, int keyOffset, int keyLength) throws HiveException { smallTableKeyOuterVectorDeserializeRow.setBytes(keyBytes, keyOffset, keyLength); try { // Our hash tables are immutable. We can safely do by reference STRING, CHAR/VARCHAR, etc. smallTableKeyOuterVectorDeserializeRow.deserializeByRef(batch, batchIndex); } catch (Exception e) { throw new HiveException( "\nDeserializeRead detail: " + smallTableKeyOuterVectorDeserializeRow.getDetailedReadPositionString(), e); } }
@Override public void writeOneRow(Writable row) throws IOException { if (sourceBatch.size == VectorizedRowBatch.DEFAULT_SIZE) { flushBatch(); } BinaryComparable binComp = (BinaryComparable)row; deserializeRead.set(binComp.getBytes(), 0, binComp.getLength()); // Deserialize and append new row using the current batch size as the index. try { // Not using ByRef now since it's unsafe for text readers. Might be safe for others. vectorDeserializeRow.deserialize(sourceBatch, sourceBatch.size++); } catch (Exception e) { throw new IOException("DeserializeRead detail: " + vectorDeserializeRow.getDetailedReadPositionString(), e); } }
protected void doSmallTableValueDeserializeRow(VectorizedRowBatch batch, int batchIndex, ByteSegmentRef byteSegmentRef, VectorMapJoinHashMapResult hashMapResult) throws HiveException { byte[] bytes = byteSegmentRef.getBytes(); int offset = (int) byteSegmentRef.getOffset(); int length = byteSegmentRef.getLength(); smallTableValueVectorDeserializeRow.setBytes(bytes, offset, length); try { // Our hash tables are immutable. We can safely do by reference STRING, CHAR/VARCHAR, etc. smallTableValueVectorDeserializeRow.deserializeByRef(batch, batchIndex); } catch (Exception e) { throw new HiveException( "\nHashMapResult detail: " + hashMapResult.getDetailedHashMapResultPositionString() + "\nDeserializeRead detail: " + smallTableValueVectorDeserializeRow.getDetailedReadPositionString(), e); } }
protected void doSmallTableDeserializeRow(VectorizedRowBatch batch, int batchIndex, ByteSegmentRef byteSegmentRef, VectorMapJoinHashMapResult hashMapResult) throws HiveException { byte[] bytes = byteSegmentRef.getBytes(); int offset = (int) byteSegmentRef.getOffset(); int length = byteSegmentRef.getLength(); smallTableVectorDeserializeRow.setBytes(bytes, offset, length); try { // Our hash tables are immutable. We can safely do by reference STRING, CHAR/VARCHAR, etc. smallTableVectorDeserializeRow.deserializeByRef(batch, batchIndex); } catch (Exception e) { throw new HiveException( "\nHashMapResult detail: " + hashMapResult.getDetailedHashMapResultPositionString() + "\nDeserializeRead detail: " + smallTableVectorDeserializeRow.getDetailedReadPositionString(), e); } }
throw new HiveException( "\nDeserializeRead detail: " + bigTableVectorDeserializeRow.getDetailedReadPositionString(), e);
throw new HiveException( "\nDeserializeRead details: " + keyBinarySortableDeserializeToRow.getDetailedReadPositionString(), e); throw new HiveException( "\nDeserializeRead details: " + keyBinarySortableDeserializeToRow.getDetailedReadPositionString(), e);
throw new HiveException( "\nDeserializeRead details: " + keyBinarySortableDeserializeToRow.getDetailedReadPositionString(), e);
throw new HiveException( "\nDeserializeRead detail: " + bigTableVectorDeserializeRow.getDetailedReadPositionString(), e);
throw new HiveException( "\nDeserializeRead detail: " + currentVectorDeserializeRow.getDetailedReadPositionString(), e);
throw new HiveException( "\nDeserializeRead details: " + keyBinarySortableDeserializeToRow.getDetailedReadPositionString(), e);
throw new HiveException( "\nDeserializeRead detail: " + bufferedBatchVectorDeserializeRow.getDetailedReadPositionString(), e);
throw new HiveException( "\nDeserializeRead detail: " + currentVectorDeserializeRow.getDetailedReadPositionString(), e);
throw new HiveException( "\nDeserializeRead details: " + vectorDeserializeRow.getDetailedReadPositionString(), e);
@Override public void writeOneRow(Writable row) throws IOException { if (sourceBatch.size == VectorizedRowBatch.DEFAULT_SIZE) { flushBatch(); } BinaryComparable binComp = (BinaryComparable)row; deserializeRead.set(binComp.getBytes(), 0, binComp.getLength()); // Deserialize and append new row using the current batch size as the index. try { // Not using ByRef now since it's unsafe for text readers. Might be safe for others. vectorDeserializeRow.deserialize(sourceBatch, sourceBatch.size++); } catch (Exception e) { throw new IOException("DeserializeRead detail: " + vectorDeserializeRow.getDetailedReadPositionString(), e); } }