cogroup

inline fun <K, V, U, R> KeyValueGroupedDataset<K, V>.cogroup(    other: KeyValueGroupedDataset<K, U>,     noinline func: (key: K, left: Iterator<V>, right: Iterator<U>) -> Iterator<R>): Dataset<R>

(Kotlin-specific) Applies the given function to each cogrouped data. For each unique group, the function will be passed the grouping key and 2 iterators containing all elements in the group from Dataset and other. The function can return an iterator containing elements of an arbitrary type which will be returned as a new Dataset.


fun <K, V, W1, W2, W3> JavaRDD<Tuple2<K, V>>.cogroup(    other1: JavaRDD<Tuple2<K, W1>>,     other2: JavaRDD<Tuple2<K, W2>>,     other3: JavaRDD<Tuple2<K, W3>>,     partitioner: Partitioner): JavaRDD<Tuple2<K, Tuple4<Iterable<V>, Iterable<W1>, Iterable<W2>, Iterable<W3>>>>
fun <K, V, W1, W2, W3> JavaRDD<Tuple2<K, V>>.cogroup(    other1: JavaRDD<Tuple2<K, W1>>,     other2: JavaRDD<Tuple2<K, W2>>,     other3: JavaRDD<Tuple2<K, W3>>): JavaRDD<Tuple2<K, Tuple4<Iterable<V>, Iterable<W1>, Iterable<W2>, Iterable<W3>>>>
fun <K, V, W1, W2, W3> JavaRDD<Tuple2<K, V>>.cogroup(    other1: JavaRDD<Tuple2<K, W1>>,     other2: JavaRDD<Tuple2<K, W2>>,     other3: JavaRDD<Tuple2<K, W3>>,     numPartitions: Int): JavaRDD<Tuple2<K, Tuple4<Iterable<V>, Iterable<W1>, Iterable<W2>, Iterable<W3>>>>

For each key k in this or other1 or other2 or other3, return a resulting RDD that contains a tuple with the list of values for that key in this, other1, other2 and other3.


fun <K, V, W> JavaRDD<Tuple2<K, V>>.cogroup(    other: JavaRDD<Tuple2<K, W>>,     partitioner: Partitioner): JavaRDD<Tuple2<K, Tuple2<Iterable<V>, Iterable<W>>>>
fun <K, V, W> JavaRDD<Tuple2<K, V>>.cogroup(other: JavaRDD<Tuple2<K, W>>): JavaRDD<Tuple2<K, Tuple2<Iterable<V>, Iterable<W>>>>
fun <K, V, W> JavaRDD<Tuple2<K, V>>.cogroup(    other: JavaRDD<Tuple2<K, W>>,     numPartitions: Int): JavaRDD<Tuple2<K, Tuple2<Iterable<V>, Iterable<W>>>>

For each key k in this or other, return a resulting RDD that contains a tuple with the list of values for that key in this as well as other.


fun <K, V, W1, W2> JavaRDD<Tuple2<K, V>>.cogroup(    other1: JavaRDD<Tuple2<K, W1>>,     other2: JavaRDD<Tuple2<K, W2>>,     partitioner: Partitioner): JavaRDD<Tuple2<K, Tuple3<Iterable<V>, Iterable<W1>, Iterable<W2>>>>
fun <K, V, W1, W2> JavaRDD<Tuple2<K, V>>.cogroup(    other1: JavaRDD<Tuple2<K, W1>>,     other2: JavaRDD<Tuple2<K, W2>>): JavaRDD<Tuple2<K, Tuple3<Iterable<V>, Iterable<W1>, Iterable<W2>>>>
fun <K, V, W1, W2> JavaRDD<Tuple2<K, V>>.cogroup(    other1: JavaRDD<Tuple2<K, W1>>,     other2: JavaRDD<Tuple2<K, W2>>,     numPartitions: Int): JavaRDD<Tuple2<K, Tuple3<Iterable<V>, Iterable<W1>, Iterable<W2>>>>

For each key k in this or other1 or other2, return a resulting RDD that contains a tuple with the list of values for that key in this, other1 and other2.


fun <K, V, W> JavaDStream<Tuple2<K, V>>.cogroup(    other: JavaDStream<Tuple2<K, W>>,     numPartitions: Int = dstream().ssc().sc().defaultParallelism()): JavaDStream<Tuple2<K, Tuple2<Iterable<V>, Iterable<W>>>>

Return a new DStream by applying 'cogroup' between RDDs of this DStream and other DStream. Hash partitioning is used to generate the RDDs with numPartitions partitions.


fun <K, V, W> JavaDStream<Tuple2<K, V>>.cogroup(    other: JavaDStream<Tuple2<K, W>>,     partitioner: Partitioner): JavaDStream<Tuple2<K, Tuple2<Iterable<V>, Iterable<W>>>>

Return a new DStream by applying 'cogroup' between RDDs of this DStream and other DStream. The supplied org.apache.spark.Partitioner is used to partition the generated RDDs.