@InterfaceAudience.Private public class RowNodeWriter extends Object
| Modifier and Type | Field and Description |
|---|---|
protected PrefixTreeBlockMeta |
blockMeta |
protected int |
fanOut |
protected static org.apache.commons.logging.Log |
LOG |
protected int |
numCells |
protected PrefixTreeEncoder |
prefixTreeEncoder
fields
|
protected TokenizerNode |
tokenizerNode |
protected int |
tokenWidth |
protected int |
width |
| Constructor and Description |
|---|
RowNodeWriter(PrefixTreeEncoder keyValueBuilder,
TokenizerNode tokenizerNode)
construct
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
calculateOffsetsAndLengths()
methods
|
int |
calculateWidth() |
int |
calculateWidthOverrideOffsetWidth(int offsetWidth) |
void |
reconstruct(PrefixTreeEncoder prefixTreeEncoder,
TokenizerNode tokenizerNode) |
void |
reset(TokenizerNode node) |
void |
write(OutputStream os)
writing the compiled structure to the OutputStream
|
protected void |
writeCellTypes(OutputStream os) |
protected void |
writeFamilyNodeOffsets(OutputStream os)
The following methods write data for each cell in the row, mostly consisting of indexes or
offsets into the timestamp/column data structures that are written in the middle of the block.
|
void |
writeFan(OutputStream os)
UVInt: numFanBytes/fanOut
bytes: each fan byte
|
protected void |
writeMvccVersionIndexes(OutputStream os) |
protected void |
writeNextRowTrieNodeOffsets(OutputStream os)
If a branch or a nub, the last thing we append are the UFInt offsets to the child row nodes.
|
protected void |
writeNumCells(OutputStream os)
UVInt: numCells, the number of cells in this row which will be 0 for branch nodes
|
protected void |
writeQualifierNodeOffsets(OutputStream os) |
protected void |
writeRowToken(OutputStream os)
UVInt: tokenWidth
bytes: token
|
protected void |
writeTagNodeOffsets(OutputStream os) |
protected void |
writeTimestampIndexes(OutputStream os) |
protected void |
writeValueLengths(OutputStream os) |
protected void |
writeValueOffsets(OutputStream os) |
protected static final org.apache.commons.logging.Log LOG
protected PrefixTreeEncoder prefixTreeEncoder
protected PrefixTreeBlockMeta blockMeta
protected TokenizerNode tokenizerNode
protected int tokenWidth
protected int fanOut
protected int numCells
protected int width
public RowNodeWriter(PrefixTreeEncoder keyValueBuilder, TokenizerNode tokenizerNode)
public void reconstruct(PrefixTreeEncoder prefixTreeEncoder, TokenizerNode tokenizerNode)
public void reset(TokenizerNode node)
protected void calculateOffsetsAndLengths()
public int calculateWidth()
public int calculateWidthOverrideOffsetWidth(int offsetWidth)
public void write(OutputStream os) throws IOException
IOExceptionprotected void writeRowToken(OutputStream os) throws IOException
IOExceptionpublic void writeFan(OutputStream os) throws IOException
IOExceptionprotected void writeNumCells(OutputStream os) throws IOException
IOExceptionprotected void writeFamilyNodeOffsets(OutputStream os) throws IOException
UFIntTool to encode these indexes/offsets to allow random access during a binary
search of a particular column/timestamp combination.
Branch nodes will not have any data in these sections.IOExceptionprotected void writeQualifierNodeOffsets(OutputStream os) throws IOException
IOExceptionprotected void writeTagNodeOffsets(OutputStream os) throws IOException
IOExceptionprotected void writeTimestampIndexes(OutputStream os) throws IOException
IOExceptionprotected void writeMvccVersionIndexes(OutputStream os) throws IOException
IOExceptionprotected void writeCellTypes(OutputStream os) throws IOException
IOExceptionprotected void writeValueOffsets(OutputStream os) throws IOException
IOExceptionprotected void writeValueLengths(OutputStream os) throws IOException
IOExceptionprotected void writeNextRowTrieNodeOffsets(OutputStream os) throws IOException
IOExceptionCopyright © 2014 The Apache Software Foundation. All rights reserved.