public class ProjectedRow extends Object implements InternalRow
InternalRow which provides a projected view of the underlying InternalRow.
Projection includes both reducing the accessible fields and reordering them.
Note: This class supports only top-level projections, not nested projections.
InternalRow.FieldGetter| 限定符和类型 | 字段和说明 |
|---|---|
protected int[] |
indexMapping |
protected InternalRow |
row |
| 限定符 | 构造器和说明 |
|---|---|
protected |
ProjectedRow(int[] indexMapping) |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
equals(Object o) |
static ProjectedRow |
from(int[] projection)
Create an empty
ProjectedRow starting from a projection array. |
static ProjectedRow |
from(int[][] projection)
Like
from(int[]), but throws IllegalArgumentException if the provided projection array contains nested projections, which are not supported by ProjectedRow. |
static ProjectedRow |
from(Projection projection)
Create an empty
ProjectedRow starting from a Projection. |
InternalArray |
getArray(int pos)
Returns the array value at the given position.
|
byte[] |
getBinary(int pos)
Returns the binary value at the given position.
|
boolean |
getBoolean(int pos)
Returns the boolean value at the given position.
|
byte |
getByte(int pos)
Returns the byte value at the given position.
|
Decimal |
getDecimal(int pos,
int precision,
int scale)
Returns the decimal value at the given position.
|
double |
getDouble(int pos)
Returns the double value at the given position.
|
int |
getFieldCount()
Returns the number of fields in this row.
|
float |
getFloat(int pos)
Returns the float value at the given position.
|
int |
getInt(int pos)
Returns the integer value at the given position.
|
long |
getLong(int pos)
Returns the long value at the given position.
|
InternalMap |
getMap(int pos)
Returns the map value at the given position.
|
InternalRow |
getRow(int pos,
int numFields)
Returns the row value at the given position.
|
RowKind |
getRowKind()
Returns the kind of change that this row describes in a changelog.
|
short |
getShort(int pos)
Returns the short value at the given position.
|
BinaryString |
getString(int pos)
Returns the string value at the given position.
|
Timestamp |
getTimestamp(int pos,
int precision)
Returns the timestamp value at the given position.
|
int |
hashCode() |
boolean |
isNullAt(int pos)
Returns true if the element is null at the given position.
|
ProjectedRow |
replaceRow(InternalRow row)
Replaces the underlying
InternalRow backing this ProjectedRow. |
void |
setRowKind(RowKind kind)
Sets the kind of change that this row describes in a changelog.
|
String |
toString() |
createFieldGetter, getDataClassprotected final int[] indexMapping
protected InternalRow row
public ProjectedRow replaceRow(InternalRow row)
InternalRow backing this ProjectedRow.
This method replaces the row data in place and does not return a new object. This is done for performance reasons.
public int getFieldCount()
InternalRowThe number does not include RowKind. It is kept separately.
getFieldCount 在接口中 InternalRowpublic RowKind getRowKind()
InternalRowgetRowKind 在接口中 InternalRowRowKindpublic void setRowKind(RowKind kind)
InternalRowsetRowKind 在接口中 InternalRowRowKindpublic boolean isNullAt(int pos)
DataGettersisNullAt 在接口中 DataGetterspublic boolean getBoolean(int pos)
DataGettersgetBoolean 在接口中 DataGetterspublic byte getByte(int pos)
DataGettersgetByte 在接口中 DataGetterspublic short getShort(int pos)
DataGettersgetShort 在接口中 DataGetterspublic int getInt(int pos)
DataGettersgetInt 在接口中 DataGetterspublic long getLong(int pos)
DataGettersgetLong 在接口中 DataGetterspublic float getFloat(int pos)
DataGettersgetFloat 在接口中 DataGetterspublic double getDouble(int pos)
DataGettersgetDouble 在接口中 DataGetterspublic BinaryString getString(int pos)
DataGettersgetString 在接口中 DataGetterspublic Decimal getDecimal(int pos, int precision, int scale)
DataGettersThe precision and scale are required to determine whether the decimal value was stored in
a compact representation (see Decimal).
getDecimal 在接口中 DataGetterspublic Timestamp getTimestamp(int pos, int precision)
DataGettersThe precision is required to determine whether the timestamp value was stored in a compact
representation (see Timestamp).
getTimestamp 在接口中 DataGetterspublic byte[] getBinary(int pos)
DataGettersgetBinary 在接口中 DataGetterspublic InternalArray getArray(int pos)
DataGettersgetArray 在接口中 DataGetterspublic InternalMap getMap(int pos)
DataGettersgetMap 在接口中 DataGetterspublic InternalRow getRow(int pos, int numFields)
DataGettersThe number of fields is required to correctly extract the row.
getRow 在接口中 DataGetterspublic static ProjectedRow from(int[][] projection) throws IllegalArgumentException
from(int[]), but throws IllegalArgumentException if the provided projection array contains nested projections, which are not supported by ProjectedRow.
The array represents the mapping of the fields of the original DataType, including
nested rows. For example, [[0, 2, 1], ...] specifies to include the 2nd field of the
3rd field of the 1st field in the top-level row.
IllegalArgumentExceptionProjection,
ProjectedRowpublic static ProjectedRow from(int[] projection)
ProjectedRow starting from a projection array.
The array represents the mapping of the fields of the original DataType. For
example, [0, 2, 1] specifies to include in the following order the 1st field, the 3rd
field and the 2nd field of the row.
Projection,
ProjectedRowpublic static ProjectedRow from(Projection projection)
ProjectedRow starting from a Projection.
Throws IllegalStateException if the provided projection array contains
nested projections, which are not supported by ProjectedRow.
Projection,
ProjectedRowCopyright © 2023–2024 The Apache Software Foundation. All rights reserved.