Class CoGbkResult


  • public class CoGbkResult
    extends java.lang.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 Detail

      • CoGbkResult

        public CoGbkResult​(CoGbkResultSchema schema,
                           java.lang.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,
                           java.lang.Iterable<RawUnionValue> taggedValues,
                           int inMemoryElementCount,
                           int minElementsPerTag)
    • Method Detail

      • isEmpty

        public boolean isEmpty()
      • toString

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

        public <V> java.lang.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> java.lang.Iterable<V> getAll​(java.lang.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​(java.lang.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​(java.lang.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,
                                         java.util.List<V> data)
        Returns a new CoGbkResult that contains just the given tag and given data.
      • and

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