Package org.apache.beam.sdk.io.csv
Class CsvIOParse<T>
java.lang.Object
org.apache.beam.sdk.transforms.PTransform<PCollection<String>,CsvIOParseResult<T>>
org.apache.beam.sdk.io.csv.CsvIOParse<T>
- All Implemented Interfaces:
Serializable
,HasDisplayData
PTransform
for Parsing CSV Record Strings into Schema
-mapped target types. CsvIOParse
is not instantiated directly but via CsvIO.parse(java.lang.Class<T>, org.apache.commons.csv.CSVFormat)
or CsvIO.parseRows(org.apache.beam.sdk.schemas.Schema, org.apache.commons.csv.CSVFormat)
.- See Also:
-
Field Summary
Fields inherited from class org.apache.beam.sdk.transforms.PTransform
annotations, displayData, name, resourceHints
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexpand
(PCollection<String> input) Override this method to specify how thisPTransform
should be expanded on the givenInputT
.<OutputT extends @NonNull Object>
CsvIOParse<T> withCustomRecordParsing
(String fieldName, SerializableFunction<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
-
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
Description copied from class:PTransform
Override this method to specify how thisPTransform
should be expanded on the givenInputT
.NOTE: This method should not be called directly. Instead apply the
PTransform
should be applied to theInputT
using theapply
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 classPTransform<PCollection<String>,
CsvIOParseResult<T>>
-