public abstract class BaseTable extends Object implements AutoCloseable
This API is EXPERIMENTAL.
Modifier and Type | Field and Description |
---|---|
protected DictionaryProvider |
dictionaryProvider
An optional DictionaryProvider.
|
protected List<FieldVector> |
fieldVectors
The field vectors holding the data in this table.
|
protected Map<Field,FieldVector> |
fieldVectorsMap
A map of Fields to FieldVectors used to select Fields.
|
protected int |
rowCount
The number of rows of data in the table; not necessarily the same as the table row capacity.
|
protected Schema |
schema
The schema for the table.
|
Constructor and Description |
---|
BaseTable(List<FieldVector> fieldVectors,
int rowCount,
DictionaryProvider provider)
Constructs new instance with the given rowCount, and containing the schema and each of the
given vectors.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes all the vectors holding data for this table.
|
String |
contentToTSVString()
Returns a tab separated value of vectors (based on their java object representation).
|
ValueVector |
decode(String vectorName,
long dictionaryId)
Returns a ValueVector containing the decoded version of the vector with the given name.
|
ValueVector |
encode(String vectorName,
long dictionaryId)
Returns a ValueVector containing the encoded version of the vector with the given name.
|
DictionaryProvider |
getDictionaryProvider()
Returns the DictionaryProvider for this table.
|
Field |
getField(String fieldName)
Returns the Field with the given name if one exists in this table.
|
FieldReader |
getReader(Field field)
Returns a FieldReader for the given field.
|
FieldReader |
getReader(int index)
Returns a FieldReader for the field at the given vector index.
|
FieldReader |
getReader(String name)
Returns a FieldReader for the vector with the given name.
|
long |
getRowCount()
Returns the number of rows in this table.
|
Schema |
getSchema()
Returns the schema for this Table.
|
FieldVector |
getVectorCopy(int columnIndex)
Returns a copy of the vector at the given position.
|
FieldVector |
getVectorCopy(String columnName)
Returns a copy of the vector with the given name, or throws IllegalArgumentException if the name is not found.
|
int |
getVectorCount()
Returns the number of vectors (columns) in this table.
|
Row |
immutableRow()
Returns an immutable Row object holding a reference to this table.
|
boolean |
isRowDeleted(int rowNumber)
Returns true if the row at the given index has been deleted and false otherwise.
|
VectorSchemaRoot |
toVectorSchemaRoot()
Returns a new VectorSchemaRoot with the data and schema from this table.
|
protected final List<FieldVector> fieldVectors
protected DictionaryProvider dictionaryProvider
protected final Map<Field,FieldVector> fieldVectorsMap
protected Schema schema
protected int rowCount
public BaseTable(List<FieldVector> fieldVectors, int rowCount, DictionaryProvider provider)
fieldVectors
- the FieldVectors containing the table's datarowCount
- the number of rows in the tableprovider
- a dictionary provider, may be null if none of the vectors in the table are
encodedpublic FieldReader getReader(String name)
name
- The name of a vector in this Table (case-sensitive)public FieldReader getReader(Field field)
field
- The field to be readpublic FieldReader getReader(int index)
index
- The 0-based index of the field desired.public Schema getSchema()
public Field getField(String fieldName)
fieldName
- the name of the field to returnIllegalArgumentException
- – if the field was not foundpublic int getVectorCount()
public void close()
close
in interface AutoCloseable
public long getRowCount()
public VectorSchemaRoot toVectorSchemaRoot()
public FieldVector getVectorCopy(String columnName)
columnName
- The name of the vector to copyIllegalArgumentException
- if the name is not the name of a vector in the table.public FieldVector getVectorCopy(int columnIndex)
columnIndex
- The 0-based position of the vector to be copiedpublic Row immutableRow()
public String contentToTSVString()
public boolean isRowDeleted(int rowNumber)
If the index is larger than the number of rows, the method returns true.
rowNumber
- The 0-based index of the possibly deleted rowpublic DictionaryProvider getDictionaryProvider()
public ValueVector decode(String vectorName, long dictionaryId)
vectorName
- The name of the vector to decodedictionaryId
- The identifier for the dictionary to use when decoding. Must match the id returned by the
dictionary's getId() method.public ValueVector encode(String vectorName, long dictionaryId)
vectorName
- The name of the vector to encodedictionaryId
- The identifier for the dictionary to use when encoding. Must match the id returned by the
dictionary's getId() method.Copyright © 2023 The Apache Software Foundation. All rights reserved.