use of org.apache.flink.table.runtime.typeutils.RowDataSerializer in project flink by apache.
the class BinaryRowDataTest method testNested.
@Test
public void testNested() {
BinaryRowData row = new BinaryRowData(2);
BinaryRowWriter writer = new BinaryRowWriter(row);
writer.writeRow(0, GenericRowData.of(fromString("1"), 1), new RowDataSerializer(RowType.of(VarCharType.STRING_TYPE, new IntType())));
writer.setNullAt(1);
writer.complete();
RowData nestedRow = row.getRow(0, 2);
assertEquals("1", nestedRow.getString(0).toString());
assertEquals(1, nestedRow.getInt(1));
assertTrue(row.isNullAt(1));
}
use of org.apache.flink.table.runtime.typeutils.RowDataSerializer in project flink by apache.
the class NestedRowDataTest method getBinaryRowData.
private BinaryRowData getBinaryRowData() {
BinaryRowData row = new BinaryRowData(1);
BinaryRowWriter writer = new BinaryRowWriter(row);
GenericTypeInfo<MyObj> info = new GenericTypeInfo<>(MyObj.class);
TypeSerializer<MyObj> genericSerializer = info.createSerializer(new ExecutionConfig());
GenericRowData gRow = new GenericRowData(5);
gRow.setField(0, 1);
gRow.setField(1, 5L);
gRow.setField(2, StringData.fromString("12345678"));
gRow.setField(3, null);
gRow.setField(4, RawValueData.fromObject(new MyObj(15, 5)));
RowDataSerializer serializer = new RowDataSerializer(new LogicalType[] { DataTypes.INT().getLogicalType(), DataTypes.BIGINT().getLogicalType(), DataTypes.STRING().getLogicalType(), DataTypes.STRING().getLogicalType(), DataTypes.RAW(info.getTypeClass(), info.createSerializer(new ExecutionConfig())).getLogicalType() }, new TypeSerializer[] { IntSerializer.INSTANCE, LongSerializer.INSTANCE, StringDataSerializer.INSTANCE, StringDataSerializer.INSTANCE, new RawValueDataSerializer<>(genericSerializer) });
writer.writeRow(0, gRow, serializer);
writer.complete();
return row;
}
use of org.apache.flink.table.runtime.typeutils.RowDataSerializer in project flink by apache.
the class NestedRowDataTest method testNestInNestedRowData.
@Test
public void testNestInNestedRowData() {
// layer1
GenericRowData gRow = new GenericRowData(4);
gRow.setField(0, 1);
gRow.setField(1, 5L);
gRow.setField(2, StringData.fromString("12345678"));
gRow.setField(3, null);
// layer2
RowDataSerializer serializer = new RowDataSerializer(new LogicalType[] { DataTypes.INT().getLogicalType(), DataTypes.BIGINT().getLogicalType(), DataTypes.STRING().getLogicalType(), DataTypes.STRING().getLogicalType() }, new TypeSerializer[] { IntSerializer.INSTANCE, LongSerializer.INSTANCE, StringSerializer.INSTANCE, StringSerializer.INSTANCE });
BinaryRowData row = new BinaryRowData(2);
BinaryRowWriter writer = new BinaryRowWriter(row);
writer.writeString(0, StringData.fromString("hahahahafff"));
writer.writeRow(1, gRow, serializer);
writer.complete();
// layer3
BinaryRowData row2 = new BinaryRowData(1);
BinaryRowWriter writer2 = new BinaryRowWriter(row2);
writer2.writeRow(0, row, null);
writer2.complete();
// verify
{
NestedRowData nestedRow = (NestedRowData) row2.getRow(0, 2);
BinaryRowData binaryRow = new BinaryRowData(2);
binaryRow.pointTo(nestedRow.getSegments(), nestedRow.getOffset(), nestedRow.getSizeInBytes());
assertEquals(binaryRow, row);
}
assertEquals(row2.getRow(0, 2).getString(0), StringData.fromString("hahahahafff"));
RowData nestedRow = row2.getRow(0, 2).getRow(1, 4);
assertEquals(nestedRow.getInt(0), 1);
assertEquals(nestedRow.getLong(1), 5L);
assertEquals(nestedRow.getString(2), StringData.fromString("12345678"));
assertTrue(nestedRow.isNullAt(3));
}
use of org.apache.flink.table.runtime.typeutils.RowDataSerializer in project flink by apache.
the class BinaryArrayDataTest method testNested.
@Test
public void testNested() {
BinaryArrayData array = new BinaryArrayData();
BinaryArrayWriter writer = new BinaryArrayWriter(array, 2, 8);
writer.writeRow(0, GenericRowData.of(fromString("1"), 1), new RowDataSerializer(RowType.of(VarCharType.STRING_TYPE, new IntType())));
writer.setNullAt(1);
writer.complete();
RowData nestedRow = array.getRow(0, 2);
assertEquals("1", nestedRow.getString(0).toString());
assertEquals(1, nestedRow.getInt(1));
assertTrue(array.isNullAt(1));
}
use of org.apache.flink.table.runtime.typeutils.RowDataSerializer in project flink by apache.
the class StreamArrowPythonGroupWindowAggregateFunctionOperator method open.
@Override
public void open() throws Exception {
super.open();
windowSerializer = windowAssigner.getWindowSerializer(new ExecutionConfig());
internalTimerService = getInternalTimerService("window-timers", windowSerializer, this);
triggerContext = new TriggerContext();
triggerContext.open();
StateDescriptor<ListState<RowData>, List<RowData>> windowStateDescriptor = new ListStateDescriptor<>("window-input", new RowDataSerializer(inputType));
StateDescriptor<ListState<RowData>, List<RowData>> dataRetractStateDescriptor = new ListStateDescriptor<>("data-retract", new RowDataSerializer(inputType));
this.windowAccumulateData = (InternalListState<K, W, RowData>) getOrCreateKeyedState(windowSerializer, windowStateDescriptor);
this.windowRetractData = (InternalListState<K, W, RowData>) getOrCreateKeyedState(windowSerializer, dataRetractStateDescriptor);
inputKeyAndWindow = new LinkedList<>();
windowProperty = new GenericRowData(namedProperties.length);
windowAggResult = new JoinedRowData();
WindowContext windowContext = new WindowContext();
windowAssigner.open(windowContext);
}
Aggregations