Package org.apache.beam.sdk.io.csv
Class CsvIOParse<T>
- java.lang.Object
-
- org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<java.lang.String>,CsvIOParseResult<T>>
-
- org.apache.beam.sdk.io.csv.CsvIOParse<T>
-
- All Implemented Interfaces:
java.io.Serializable,org.apache.beam.sdk.transforms.display.HasDisplayData
public abstract class CsvIOParse<T> extends org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<java.lang.String>,CsvIOParseResult<T>>
PTransformfor Parsing CSV Record Strings intoSchema-mapped target types.CsvIOParseis not instantiated directly but viaCsvIO.parse(java.lang.Class<T>, org.apache.commons.csv.CSVFormat)orCsvIO.parseRows(org.apache.beam.sdk.schemas.Schema, org.apache.commons.csv.CSVFormat).- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CsvIOParse()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CsvIOParseResult<T>expand(org.apache.beam.sdk.values.PCollection<java.lang.String> input)<OutputT extends @NonNull java.lang.Object>
CsvIOParse<T>withCustomRecordParsing(java.lang.String fieldName, org.apache.beam.sdk.transforms.SerializableFunction<java.lang.String,OutputT> customRecordParsingFn)Configures custom cell parsing.-
Methods inherited from class org.apache.beam.sdk.transforms.PTransform
addAnnotation, compose, compose, getAdditionalInputs, getAnnotations, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, populateDisplayData, setDisplayData, setResourceHints, toString, validate, validate
-
-
-
-
Method Detail
-
withCustomRecordParsing
public <OutputT extends @NonNull java.lang.Object> CsvIOParse<T> withCustomRecordParsing(java.lang.String fieldName, org.apache.beam.sdk.transforms.SerializableFunction<java.lang.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(org.apache.beam.sdk.values.PCollection<java.lang.String> input)
- Specified by:
expandin classorg.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<java.lang.String>,CsvIOParseResult<T>>
-
-