MapElements

Javadoc Javadoc


Applies a simple 1-to-1 mapping function over each element in the collection.

Examples

Example 1: providing the mapping function using a SimpleFunction

PCollection<String> lines = Create.of("Hello World", "Beam is fun");
PCollection<Integer> lineLengths = lines.apply(MapElements.via(
    new SimpleFunction<String, Integer>() {
      @Override
      public Integer apply(String line) {
        return line.length();
      }
    });

Example 2: providing the mapping function using a SerializableFunction, which allows the use of Java 8 lambdas. Due to type erasure, you need to provide a hint indicating the desired return type.

PCollection<String> lines = Create.of("Hello World", "Beam is fun");
PCollection<Integer> lineLengths = lines.apply(MapElements
    .into(TypeDescriptors.integers())
    .via((String line) -> line.length()));