public static class Regex.FindKV extends PTransform<PCollection<java.lang.String>,PCollection<KV<java.lang.String,java.lang.String>>>
Regex.MatchesKV<KV<String, String>>
takes a PCollection<String>
and returns a
PCollection<KV<String, String>>
representing the key and value extracted from the Regex
groups of the input PCollection
to the number of times that element occurs in the
input.
This transform runs a Regex on the entire input line. If a portion of the line does not match the Regex, the line will not be output. If it does match a portion of the line, the groups in the Regex will be used. The key will be the key's group and the value will be the value's group.
Example of use:
PCollection<String> words = ...;
PCollection<KV<String, String>> keysAndValues =
words.apply(Regex.findKV("myregex (mykeygroup) (myvaluegroup)", 1, 2));
name
Constructor and Description |
---|
FindKV(java.util.regex.Pattern pattern,
int keyGroup,
int valueGroup) |
Modifier and Type | Method and Description |
---|---|
PCollection<KV<java.lang.String,java.lang.String>> |
expand(PCollection<java.lang.String> in)
Applies this
PTransform on the given InputT , and returns its
Output . |
getAdditionalInputs, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, populateDisplayData, toString, validate
public FindKV(java.util.regex.Pattern pattern, int keyGroup, int valueGroup)
public PCollection<KV<java.lang.String,java.lang.String>> expand(PCollection<java.lang.String> in)
PTransform
PTransform
on the given InputT
, and returns its
Output
.
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).
expand
in class PTransform<PCollection<java.lang.String>,PCollection<KV<java.lang.String,java.lang.String>>>