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());
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")));