@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
IOException
protected void writeRowToken(OutputStream os) throws IOException
IOException
public void writeFan(OutputStream os) throws IOException
IOException
protected void writeNumCells(OutputStream os) throws IOException
IOException
protected 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.
IOException
protected void writeQualifierNodeOffsets(OutputStream os) throws IOException
IOException
protected void writeTagNodeOffsets(OutputStream os) throws IOException
IOException
protected void writeTimestampIndexes(OutputStream os) throws IOException
IOException
protected void writeMvccVersionIndexes(OutputStream os) throws IOException
IOException
protected void writeCellTypes(OutputStream os) throws IOException
IOException
protected void writeValueOffsets(OutputStream os) throws IOException
IOException
protected void writeValueLengths(OutputStream os) throws IOException
IOException
protected void writeNextRowTrieNodeOffsets(OutputStream os) throws IOException
IOException
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.