@PublicEvolving public final class GenericRowData extends Object implements RowData
RowType and other (possibly nested)
structured types such as StructuredType.
GenericRowData is a generic implementation of RowData which is backed by an
array of Java Object. A GenericRowData can have an arbitrary number of fields of
different types. The fields in a row can be accessed by position (0-based) using either the
generic getField(int) or type-specific getters (such as getInt(int)). A field
can be updated by the generic setField(int, Object).
Note: All fields of this data structure must be internal data structures. See RowData
for more information about internal data structures.
The fields in GenericRowData can be null for representing nullability.
RowData.FieldGetter| 构造器和说明 |
|---|
GenericRowData(int arity)
Creates an instance of
GenericRowData with given number of fields. |
GenericRowData(org.apache.flink.types.RowKind kind,
int arity)
Creates an instance of
GenericRowData with given kind and number of fields. |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
equals(Object o) |
int |
getArity()
Returns the number of fields in this row.
|
ArrayData |
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.
|
DecimalData |
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.
|
Object |
getField(int pos)
Returns the field value at the given position.
|
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.
|
MapData |
getMap(int pos)
Returns the map value at the given position.
|
<T> RawValueData<T> |
getRawValue(int pos)
Returns the raw value at the given position.
|
RowData |
getRow(int pos,
int numFields)
Returns the row value at the given position.
|
org.apache.flink.types.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.
|
StringData |
getString(int pos)
Returns the string value at the given position.
|
TimestampData |
getTimestamp(int pos,
int precision)
Returns the timestamp value at the given position.
|
int |
hashCode() |
boolean |
isNullAt(int pos)
Returns true if the field is null at the given position.
|
static GenericRowData |
of(Object... values)
Creates an instance of
GenericRowData with given field values. |
static GenericRowData |
ofKind(org.apache.flink.types.RowKind kind,
Object... values)
Creates an instance of
GenericRowData with given kind and field values. |
void |
setField(int pos,
Object value)
Sets the field value at the given position.
|
void |
setRowKind(org.apache.flink.types.RowKind kind)
Sets the kind of change that this row describes in a changelog.
|
String |
toString() |
createFieldGetterpublic GenericRowData(org.apache.flink.types.RowKind kind,
int arity)
GenericRowData with given kind and number of fields.
Initially, all fields are set to null.
Note: All fields of the row must be internal data structures.
kind - kind of change that this row describes in a changelogarity - number of fieldspublic GenericRowData(int arity)
GenericRowData with given number of fields.
Initially, all fields are set to null. By default, the row describes a RowKind.INSERT in a changelog.
Note: All fields of the row must be internal data structures.
arity - number of fieldspublic void setField(int pos,
Object value)
Note: The given field value must be an internal data structures. Otherwise the GenericRowData is corrupted and may throw exception when processing. See RowData for
more information about internal data structures.
The field value can be null for representing nullability.
public Object getField(int pos)
Note: The returned value is in internal data structure. See RowData for more
information about internal data structures.
The returned field value can be null for representing nullability.
public int getArity()
RowDataThe number does not include RowKind. It is kept separately.
public org.apache.flink.types.RowKind getRowKind()
RowDatagetRowKind 在接口中 RowDataRowKindpublic void setRowKind(org.apache.flink.types.RowKind kind)
RowDatasetRowKind 在接口中 RowDataRowKindpublic boolean isNullAt(int pos)
RowDatapublic boolean getBoolean(int pos)
RowDatagetBoolean 在接口中 RowDatapublic byte getByte(int pos)
RowDatapublic short getShort(int pos)
RowDatapublic int getInt(int pos)
RowDatapublic long getLong(int pos)
RowDatapublic float getFloat(int pos)
RowDatapublic double getDouble(int pos)
RowDatapublic StringData getString(int pos)
RowDatapublic DecimalData getDecimal(int pos, int precision, int scale)
RowDataThe precision and scale are required to determine whether the decimal value was stored in
a compact representation (see DecimalData).
getDecimal 在接口中 RowDatapublic TimestampData getTimestamp(int pos, int precision)
RowDataThe precision is required to determine whether the timestamp value was stored in a compact
representation (see TimestampData).
getTimestamp 在接口中 RowDatapublic <T> RawValueData<T> getRawValue(int pos)
RowDatagetRawValue 在接口中 RowDatapublic byte[] getBinary(int pos)
RowDatapublic ArrayData getArray(int pos)
RowDatapublic MapData getMap(int pos)
RowDatapublic RowData getRow(int pos, int numFields)
RowDataThe number of fields is required to correctly extract the row.
public static GenericRowData of(Object... values)
GenericRowData with given field values.
By default, the row describes a RowKind.INSERT in a changelog.
Note: All fields of the row must be internal data structures.
public static GenericRowData ofKind(org.apache.flink.types.RowKind kind, Object... values)
GenericRowData with given kind and field values.
Note: All fields of the row must be internal data structures.
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.