public class BytesColumnVector extends ColumnVector
When setting data by reference, the caller is responsible for allocating the byte arrays used to hold the data. You can also set data by value, as long as you call the initBuffer() method first. You can mix "by value" and "by reference" in the same column vector, though that use is probably not typical.
ColumnVector.Type
Modifier and Type | Field and Description |
---|---|
int[] |
length |
int[] |
start |
byte[][] |
vector |
isNull, isRepeating, noNulls
Constructor and Description |
---|
BytesColumnVector()
Use this constructor for normal operation.
|
BytesColumnVector(int size)
Don't call this constructor except for testing purposes.
|
Modifier and Type | Method and Description |
---|---|
int |
bufferSize() |
void |
copySelected(boolean selectedInUse,
int[] sel,
int size,
BytesColumnVector output)
Copy the current object contents into the output.
|
void |
fill(byte[] value) |
void |
flatten(boolean selectedInUse,
int[] sel,
int size)
Simplify vector by brute-force flattening noNulls and isRepeating
This can be used to reduce combinatorial explosion of code paths in VectorExpressions
with many arguments, at the expense of loss of some performance.
|
org.apache.hadoop.io.Writable |
getWritableObject(int index) |
void |
increaseBufferSpace(int nextElemLength)
Increase buffer space enough to accommodate next element.
|
void |
init()
Initialize the column vector.
|
void |
initBuffer()
Initialize buffer to default size.
|
void |
initBuffer(int estimatedValueSize)
You must call initBuffer first before using setVal().
|
void |
reset()
Additional reset work for BytesColumnVector (releasing scratch bytes for by value strings).
|
void |
setConcat(int elementNum,
byte[] leftSourceBuf,
int leftStart,
int leftLen,
byte[] rightSourceBuf,
int rightStart,
int rightLen)
Set a field to the concatenation of two string values.
|
void |
setElement(int outElementNum,
int inputElementNum,
ColumnVector inputVector)
Set the element in this column vector from the given input vector.
|
void |
setRef(int elementNum,
byte[] sourceBuf,
int start,
int length)
Set a field by reference.
|
void |
setVal(int elementNum,
byte[] sourceBuf,
int start,
int length)
Set a field by actually copying in to a local buffer.
|
flattenNoNulls, flattenPush, flattenRepeatingNulls, unFlatten
public BytesColumnVector()
public BytesColumnVector(int size)
size
- number of elements in the column vectorpublic void reset()
reset
in class ColumnVector
public void setRef(int elementNum, byte[] sourceBuf, int start, int length)
elementNum
- index within column vector to setsourceBuf
- container of source datastart
- start byte position within sourcelength
- length of source byte sequencepublic void initBuffer(int estimatedValueSize)
estimatedValueSize
- Estimated size of buffer space neededpublic void initBuffer()
public int bufferSize()
public void setVal(int elementNum, byte[] sourceBuf, int start, int length)
elementNum
- index within column vector to setsourceBuf
- container of source datastart
- start byte position within sourcelength
- length of source byte sequencepublic void setConcat(int elementNum, byte[] leftSourceBuf, int leftStart, int leftLen, byte[] rightSourceBuf, int rightStart, int rightLen)
elementNum
- index within column vector to setleftSourceBuf
- container of left argumentleftStart
- start of left argumentleftLen
- length of left argumentrightSourceBuf
- container of right argumentrightStart
- start of right argumentrightLen
- length of right arugmentpublic void increaseBufferSpace(int nextElemLength)
nextElemLength
- size of next element to be addedpublic org.apache.hadoop.io.Writable getWritableObject(int index)
getWritableObject
in class ColumnVector
public void copySelected(boolean selectedInUse, int[] sel, int size, BytesColumnVector output)
public void flatten(boolean selectedInUse, int[] sel, int size)
flatten
in class ColumnVector
public void fill(byte[] value)
public void setElement(int outElementNum, int inputElementNum, ColumnVector inputVector)
ColumnVector
setElement
in class ColumnVector
public void init()
ColumnVector
init
in class ColumnVector
Copyright © 2017 The Apache Software Foundation. All rights reserved.