Class CsvIOParse<T>

All Implemented Interfaces:
Serializable, HasDisplayData

public abstract class CsvIOParse<T> extends PTransform<PCollection<String>,CsvIOParseResult<T>>
See Also:
  • Constructor Details

    • CsvIOParse

      public CsvIOParse()
  • Method Details

    • withCustomRecordParsing

      public <OutputT extends @NonNull Object> CsvIOParse<T> withCustomRecordParsing(String fieldName, SerializableFunction<String,OutputT> customRecordParsingFn)
      Configures custom cell parsing.

      Example

      
       CsvIO.parse().withCustomRecordParsing("listOfInts", cell-> {
      
        List<Integer> result = new ArrayList<>();
        for (String stringValue: Splitter.on(";").split(cell)) {
          result.add(Integer.parseInt(stringValue));
        }
      
       });
       
    • expand

      public CsvIOParseResult<T> expand(PCollection<String> input)
      Description copied from class: PTransform
      Override this method to specify how this PTransform should be expanded on the given InputT.

      NOTE: This method should not be called directly. Instead apply the PTransform should be applied to the InputT using the apply method.

      Composite transforms, which are defined in terms of other transforms, should return the output of one of the composed transforms. Non-composite transforms, which do not apply any transforms internally, should return a new unbound output and register evaluators (via backend-specific registration methods).

      Specified by:
      expand in class PTransform<PCollection<String>,CsvIOParseResult<T>>