Class CoGbkResult

java.lang.Object
org.apache.beam.sdk.transforms.join.CoGbkResult

public class CoGbkResult extends Object
A row result of a CoGroupByKey. This is a tuple of Iterables produced for a given key, and these can be accessed in different ways.
  • Constructor Details

    • CoGbkResult

      public CoGbkResult(CoGbkResultSchema schema, Iterable<RawUnionValue> taggedValues)
      A row in the PCollection resulting from a CoGroupByKey transform. Currently, this row must fit into memory.
      Parameters:
      schema - the set of tuple tags used to refer to input tables and result values
      taggedValues - the raw results from a group-by-key
    • CoGbkResult

      public CoGbkResult(CoGbkResultSchema schema, Iterable<RawUnionValue> taggedValues, int inMemoryElementCount, int minElementsPerTag)
  • Method Details

    • isEmpty

      public boolean isEmpty()
    • getSchema

      public CoGbkResultSchema getSchema()
      Returns the schema used by this CoGbkResult.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getAll

      public <V> Iterable<V> getAll(TupleTag<V> tag)
      Returns the values from the table represented by the given TupleTag<V> as an Iterable<V> (which may be empty if there are no results).

      If tag was not part of the original CoGroupByKey, throws an IllegalArgumentException.

    • getAll

      public <V> Iterable<V> getAll(String tag)
      Like getAll(TupleTag) but using a String instead of a TupleTag.
    • getOnly

      public <V> V getOnly(TupleTag<V> tag)
      If there is a singleton value for the given tag, returns it. Otherwise, throws an IllegalArgumentException.

      If tag was not part of the original CoGroupByKey, throws an IllegalArgumentException.

    • getOnly

      public <V> V getOnly(String tag)
      Like getOnly(TupleTag) but using a String instead of a TupleTag.
    • getOnly

      public <V> @Nullable V getOnly(TupleTag<V> tag, @Nullable V defaultValue)
      If there is a singleton value for the given tag, returns it. If there is no value for the given tag, returns the defaultValue.

      If tag was not part of the original CoGroupByKey, throws an IllegalArgumentException.

    • getOnly

      public <V> @Nullable V getOnly(String tag, @Nullable V defaultValue)
      Like getOnly(TupleTag, Object) but using a String instead of a TupleTag.
    • of

      public static <V> CoGbkResult of(TupleTag<V> tag, List<V> data)
      Returns a new CoGbkResult that contains just the given tag and given data.
    • and

      public <V> CoGbkResult and(TupleTag<V> tag, List<V> data)
      Returns a new CoGbkResult based on this, with the given tag and given data added to it.
    • empty

      public static <V> CoGbkResult empty()
      Returns an empty CoGbkResult.