private static RowFieldConverter createRowRowFieldConverter(RowType type) {
        LogicalType[] fieldTypes =
                type.getFields().stream()
                        .map(RowType.RowField::getType)
                        .toArray(LogicalType[]::new);
        final RowFieldConverter[] fieldConverters =
                Arrays.stream(fieldTypes)
                        .map(RowDataToFieldConverters::createNullableRowFieldConverter)
                        .toArray(RowFieldConverter[]::new);
        final int rowArity = type.getFieldCount();
        return (row, pos) -> {
            final RowData value = row.getRow(pos, rowArity);
            Row result = new Row(rowArity);
            for (int i = 0; i < rowArity; i++) {
                result.setField(i, fieldConverters[i].convert(value, i));
            }
            return result;
        };
    }
Runtime converter that converts objects of Flink Table & SQL internal data structures to
corresponding {@link Object}s.
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/utils/RowToFieldDataUtils.java