Converting between types

As mentioned, Beam can automatically convert between different Java types, as long as those types have equivalent schemas. One way to do this is by using the Convert transform, as follows.

PCollection<Object> input = pipeline.apply(Create.of(user1));

// Object convert to Row
PCollection<Row> convertedToRow = input.apply(Convert.toRows());

Playground exercise

In the playground window you can find examples of using the Convert. By running this example, you will see user statistics in certain games. You can add schema with one function:

PCollection<Row> userRow = fullStatistics
                .apply(Convert.toRows())
                .setRowSchema(type)
                .apply("User", ParDo.of(new LogOutput<>("ToRows")));