Class ErrorConverters.WriteErrorsToTextIO<T,V>
- java.lang.Object
-
- org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<FailsafeElement<T,V>>,org.apache.beam.sdk.values.PDone>
-
- org.apache.beam.examples.complete.datatokenization.utils.ErrorConverters.WriteErrorsToTextIO<T,V>
-
- All Implemented Interfaces:
java.io.Serializable,org.apache.beam.sdk.transforms.display.HasDisplayData
- Enclosing class:
- ErrorConverters
public abstract static class ErrorConverters.WriteErrorsToTextIO<T,V> extends org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<FailsafeElement<T,V>>,org.apache.beam.sdk.values.PDone>
ErrorConverters.WriteErrorsToTextIOis aPTransformthat writes strings error messages to file system using TextIO and custom line formatSerializableFunctionto convert errors in necessary format.
Example of usage in pipeline:pCollection.apply("Write to TextIO", WriteErrorsToTextIO.<String,String>newBuilder() .setErrorWritePath("errors.txt") .setTranslateFunction((FailsafeElement<String,String> failsafeElement) -> { ArrayList<String> outputRow = new ArrayList<>(); final String message = failsafeElement.getOriginalPayload(); String timestamp = Instant.now().toString(); outputRow.add(timestamp); outputRow.add(failsafeElement.getErrorMessage()); outputRow.add(failsafeElement.getStacktrace()); // Only set the payload if it's populated on the message. if (failsafeElement.getOriginalPayload() != null) { outputRow.add(message); } return String.join(",",outputRow); })- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classErrorConverters.WriteErrorsToTextIO.Builder<T,V>Builder forErrorConverters.WriteErrorsToTextIO.
-
Constructor Summary
Constructors Constructor Description WriteErrorsToTextIO()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.lang.StringerrorWritePath()org.apache.beam.sdk.values.PDoneexpand(org.apache.beam.sdk.values.PCollection<FailsafeElement<T,V>> pCollection)static <T,V>
ErrorConverters.WriteErrorsToTextIO.Builder<T,V>newBuilder()abstract org.apache.beam.sdk.transforms.SerializableFunction<FailsafeElement<T,V>,java.lang.String>translateFunction()abstract @Nullable org.joda.time.DurationwindowDuration()-
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
-
newBuilder
public static <T,V> ErrorConverters.WriteErrorsToTextIO.Builder<T,V> newBuilder()
-
errorWritePath
public abstract java.lang.String errorWritePath()
-
translateFunction
public abstract org.apache.beam.sdk.transforms.SerializableFunction<FailsafeElement<T,V>,java.lang.String> translateFunction()
-
windowDuration
public abstract @Nullable org.joda.time.Duration windowDuration()
-
expand
public org.apache.beam.sdk.values.PDone expand(org.apache.beam.sdk.values.PCollection<FailsafeElement<T,V>> pCollection)
- Specified by:
expandin classorg.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<FailsafeElement<T,V>>,org.apache.beam.sdk.values.PDone>
-
-