All Superinterfaces:
Serializable
All Known Implementing Classes:
JavaDoubleRDD, JavaHadoopRDD, JavaNewHadoopRDD, JavaPairRDD, JavaRDD

public interface JavaRDDLike<T,This extends JavaRDDLike<T,This>> extends Serializable

Defines operations common to several Java RDD implementations.

Note:
This trait is not intended to be implemented by user code.
  • Method Summary

    <U> U

    Aggregate the elements of each partition, and then the results for all the partitions, using given combine functions and a neutral "zero value".

    Return the Cartesian product of this RDD and another one, that is, the RDD of all pairs of elements (a, b) where a is in this and b is in other.

    void

    Mark this RDD for checkpointing.

    scala.reflect.ClassTag<T>

    classTag()

    collect()

    Return an array that contains all of the elements in this RDD.

    The asynchronous version of collect, which returns a future for retrieving an array containing all of the elements in this RDD.

    collectPartitions(int[] partitionIds)

    Return an array that contains all of the elements in a specific partition of this RDD.

    context()

    long

    count()

    Return the number of elements in the RDD.

    countApprox(long timeout)

    Approximate version of count() that returns a potentially incomplete result within a timeout, even if not all tasks have finished.

    countApprox(long timeout, double confidence)

    Approximate version of count() that returns a potentially incomplete result within a timeout, even if not all tasks have finished.

    long

    countApproxDistinct(double relativeSD)

    Return approximate number of distinct elements in the RDD.

    The asynchronous version of count, which returns a future for counting the number of elements in this RDD.

    Return the count of each unique value in this RDD as a map of (value, count) pairs.

    countByValueApprox(long timeout)

    Approximate version of countByValue().

    countByValueApprox(long timeout, double confidence)

    Approximate version of countByValue().

    first()

    Return the first element in this RDD.

    Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results.

    Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results.

    Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results.

    Aggregate the elements of each partition, and then the results for all the partitions, using a given associative function and a neutral "zero value".

    void

    Applies a function f to all elements of this RDD.

    The asynchronous version of the foreach action, which applies a function f to all the elements of this RDD.

    void

    Applies a function f to each partition of this RDD.

    The asynchronous version of the foreachPartition action, which applies a function f to each partition of this RDD.

    Gets the name of the file to which this RDD was checkpointed

    int

    Return the number of partitions in this RDD.

    Get the RDD's current storage level, or StorageLevel.NONE if none is set.

    glom()

    Return an RDD created by coalescing all elements within each partition into an array.

    Return an RDD of grouped elements.

    Return an RDD of grouped elements.

    int

    id()

    A unique ID for this RDD (within its SparkContext).

    boolean

    Return whether this RDD has been checkpointed or not

    boolean

    isEmpty()

    Internal method to this RDD; will read from cache if applicable, or otherwise compute it.

    Creates tuples of the elements in this RDD by applying f.

    Return a new RDD by applying a function to all elements of this RDD.

    Return a new RDD by applying a function to each partition of this RDD.

    Return a new RDD by applying a function to each partition of this RDD.

    Return a new RDD by applying a function to each partition of this RDD.

    Return a new RDD by applying a function to each partition of this RDD.

    Return a new RDD by applying a function to each partition of this RDD.

    Return a new RDD by applying a function to each partition of this RDD.

    Return a new RDD by applying a function to each partition of this RDD, while tracking the index of the original partition.

    Return a new RDD by applying a function to all elements of this RDD.

    Return a new RDD by applying a function to all elements of this RDD.

    Returns the maximum element from this RDD as defined by the specified Comparator[T].

    Returns the minimum element from this RDD as defined by the specified Comparator[T].

    name()

    The partitioner of this RDD.

    Set of partitions in this RDD.

    Return an RDD created by piping elements to a forked external process.

    Return an RDD created by piping elements to a forked external process.

    Return an RDD created by piping elements to a forked external process.

    Return an RDD created by piping elements to a forked external process.

    Return an RDD created by piping elements to a forked external process.

    rdd()

    Reduces the elements of this RDD using the specified commutative and associative binary operator.

    void

    Save this RDD as a SequenceFile of serialized objects.

    void

    Save this RDD as a text file, using string representations of elements.

    void

    saveAsTextFile(String path, Class<? extends org.apache.hadoop.io.compress.CompressionCodec> codec)

    Save this RDD as a compressed text file, using string representations of elements.

    take(int num)

    Take the first num elements of the RDD.

    takeAsync(int num)

    The asynchronous version of the take action, which returns a future for retrieving the first num elements of this RDD.

    takeOrdered(int num)

    Returns the first k (smallest) elements from this RDD using the natural ordering for T while maintain the order.

    Returns the first k (smallest) elements from this RDD as defined by the specified Comparator[T] and maintains the order.

    takeSample(boolean withReplacement, int num)

    takeSample(boolean withReplacement, int num, long seed)

    A description of this RDD and its recursive dependencies for debugging.

    Return an iterator that contains all of the elements in this RDD.

    top(int num)

    Returns the top k (largest) elements from this RDD using the natural ordering for T and maintains the order.

    Returns the top k (largest) elements from this RDD as defined by the specified Comparator[T] and maintains the order.

    <U> U

    org.apache.spark.api.java.JavaRDDLike.treeAggregate with suggested depth 2.

    <U> U

    Aggregates the elements of this RDD in a multi-level tree pattern.

    <U> U

    treeAggregate(U zeroValue, Function2<U,T,U> seqOp, Function2<U,U,U> combOp, int depth, boolean finalAggregateOnExecutor)

    org.apache.spark.api.java.JavaRDDLike.treeAggregate with a parameter to do the final aggregation on the executor.

    org.apache.spark.api.java.JavaRDDLike.treeReduce with suggested depth 2.

    Reduces the elements of this RDD in a multi-level tree pattern.

    Zips this RDD with another one, returning key-value pairs with the first element in each RDD, second element in each RDD, etc.

    Zip this RDD's partitions with one (or more) RDD(s) and return a new RDD by applying a function to the zipped partitions.

    Zips this RDD with its element indices.

    Zips this RDD with generated unique Long ids.

  • Method Details

    • aggregate

      <U> U aggregate(U zeroValue, Function2<U,T,U> seqOp, Function2<U,U,U> combOp)

      Aggregate the elements of each partition, and then the results for all the partitions, using given combine functions and a neutral "zero value". This function can return a different result type, U, than the type of this RDD, T. Thus, we need one operation for merging a T into an U and one operation for merging two U's, as in scala.IterableOnce. Both of these functions are allowed to modify and return their first argument instead of creating a new U to avoid memory allocation.

      Parameters:
      zeroValue - (undocumented)
      seqOp - (undocumented)
      combOp - (undocumented)
      Returns:
      (undocumented)
    • cartesian

      Return the Cartesian product of this RDD and another one, that is, the RDD of all pairs of elements (a, b) where a is in this and b is in other.

      Parameters:
      other - (undocumented)
      Returns:
      (undocumented)
    • checkpoint

      void checkpoint()

      Mark this RDD for checkpointing. It will be saved to a file inside the checkpoint directory set with SparkContext.setCheckpointDir() and all references to its parent RDDs will be removed. This function must be called before any job has been executed on this RDD. It is strongly recommended that this RDD is persisted in memory, otherwise saving it on a file will require recomputation.

    • classTag

      scala.reflect.ClassTag<T> classTag()

    • collect

      Return an array that contains all of the elements in this RDD.

      Returns:
      (undocumented)
      Note:
      this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver's memory.
    • collectAsync

      The asynchronous version of collect, which returns a future for retrieving an array containing all of the elements in this RDD.

      Returns:
      (undocumented)
      Note:
      this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver's memory.
    • collectPartitions

      List<T>[] collectPartitions(int[] partitionIds)

      Return an array that contains all of the elements in a specific partition of this RDD.

      Parameters:
      partitionIds - (undocumented)
      Returns:
      (undocumented)
    • context

    • count

      long count()

      Return the number of elements in the RDD.

      Returns:
      (undocumented)
    • countApprox

      Approximate version of count() that returns a potentially incomplete result within a timeout, even if not all tasks have finished.

      The confidence is the probability that the error bounds of the result will contain the true value. That is, if countApprox were called repeatedly with confidence 0.9, we would expect 90% of the results to contain the true count. The confidence must be in the range [0,1] or an exception will be thrown.

      Parameters:
      timeout - maximum time to wait for the job, in milliseconds
      confidence - the desired statistical confidence in the result
      Returns:
      a potentially incomplete result, with error bounds
    • countApprox

      Approximate version of count() that returns a potentially incomplete result within a timeout, even if not all tasks have finished.

      Parameters:
      timeout - maximum time to wait for the job, in milliseconds
      Returns:
      (undocumented)
    • countApproxDistinct

      long countApproxDistinct(double relativeSD)

      Return approximate number of distinct elements in the RDD.

      The algorithm used is based on streamlib's implementation of "HyperLogLog in Practice: Algorithmic Engineering of a State of The Art Cardinality Estimation Algorithm", available here.

      Parameters:
      relativeSD - Relative accuracy. Smaller values create counters that require more space. It must be greater than 0.000017.
      Returns:
      (undocumented)
    • countAsync

      The asynchronous version of count, which returns a future for counting the number of elements in this RDD.

      Returns:
      (undocumented)
    • countByValue

      Return the count of each unique value in this RDD as a map of (value, count) pairs. The final combine step happens locally on the master, equivalent to running a single reduce task.

      Returns:
      (undocumented)
    • countByValueApprox

      Approximate version of countByValue().

      The confidence is the probability that the error bounds of the result will contain the true value. That is, if countApprox were called repeatedly with confidence 0.9, we would expect 90% of the results to contain the true count. The confidence must be in the range [0,1] or an exception will be thrown.

      Parameters:
      timeout - maximum time to wait for the job, in milliseconds
      confidence - the desired statistical confidence in the result
      Returns:
      a potentially incomplete result, with error bounds
    • countByValueApprox

      Approximate version of countByValue().

      Parameters:
      timeout - maximum time to wait for the job, in milliseconds
      Returns:
      a potentially incomplete result, with error bounds
    • first

      T first()

      Return the first element in this RDD.

      Returns:
      (undocumented)
    • flatMap

      Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • flatMapToDouble

      Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • flatMapToPair

      Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • fold

      Aggregate the elements of each partition, and then the results for all the partitions, using a given associative function and a neutral "zero value". The function op(t1, t2) is allowed to modify t1 and return it as its result value to avoid object allocation; however, it should not modify t2.

      This behaves somewhat differently from fold operations implemented for non-distributed collections in functional languages like Scala. This fold operation may be applied to partitions individually, and then fold those results into the final result, rather than apply the fold to each element sequentially in some defined ordering. For functions that are not commutative, the result may differ from that of a fold applied to a non-distributed collection.

      Parameters:
      zeroValue - (undocumented)
      f - (undocumented)
      Returns:
      (undocumented)
    • foreach

      Applies a function f to all elements of this RDD.

      Parameters:
      f - (undocumented)
    • foreachAsync

      The asynchronous version of the foreach action, which applies a function f to all the elements of this RDD.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • foreachPartition

      Applies a function f to each partition of this RDD.

      Parameters:
      f - (undocumented)
    • foreachPartitionAsync

      The asynchronous version of the foreachPartition action, which applies a function f to each partition of this RDD.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • getCheckpointFile

      Gets the name of the file to which this RDD was checkpointed

      Returns:
      (undocumented)
    • getNumPartitions

      int getNumPartitions()

      Return the number of partitions in this RDD.

    • getStorageLevel

      Get the RDD's current storage level, or StorageLevel.NONE if none is set.

    • glom

      Return an RDD created by coalescing all elements within each partition into an array.

      Returns:
      (undocumented)
    • groupBy

      Return an RDD of grouped elements. Each group consists of a key and a sequence of elements mapping to that key.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • groupBy

      Return an RDD of grouped elements. Each group consists of a key and a sequence of elements mapping to that key.

      Parameters:
      f - (undocumented)
      numPartitions - (undocumented)
      Returns:
      (undocumented)
    • id

      int id()

      A unique ID for this RDD (within its SparkContext).

    • isCheckpointed

      boolean isCheckpointed()

      Return whether this RDD has been checkpointed or not

      Returns:
      (undocumented)
    • isEmpty

      boolean isEmpty()

      Returns:
      true if and only if the RDD contains no elements at all. Note that an RDD may be empty even when it has at least 1 partition.
    • iterator

      Internal method to this RDD; will read from cache if applicable, or otherwise compute it. This should ''not'' be called by users directly, but is available for implementers of custom subclasses of RDD.

      Parameters:
      split - (undocumented)
      taskContext - (undocumented)
      Returns:
      (undocumented)
    • keyBy

      Creates tuples of the elements in this RDD by applying f.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • map

      Return a new RDD by applying a function to all elements of this RDD.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapPartitions

      Return a new RDD by applying a function to each partition of this RDD.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapPartitions

      Return a new RDD by applying a function to each partition of this RDD.

      Parameters:
      f - (undocumented)
      preservesPartitioning - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsToDouble

      Return a new RDD by applying a function to each partition of this RDD.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsToDouble

      Return a new RDD by applying a function to each partition of this RDD.

      Parameters:
      f - (undocumented)
      preservesPartitioning - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsToPair

      Return a new RDD by applying a function to each partition of this RDD.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsToPair

      Return a new RDD by applying a function to each partition of this RDD.

      Parameters:
      f - (undocumented)
      preservesPartitioning - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsWithIndex

      Return a new RDD by applying a function to each partition of this RDD, while tracking the index of the original partition.

      Parameters:
      f - (undocumented)
      preservesPartitioning - (undocumented)
      Returns:
      (undocumented)
    • mapToDouble

      Return a new RDD by applying a function to all elements of this RDD.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapToPair

      Return a new RDD by applying a function to all elements of this RDD.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • max

      Returns the maximum element from this RDD as defined by the specified Comparator[T].

      Parameters:
      comp - the comparator that defines ordering
      Returns:
      the maximum of the RDD
    • min

      Returns the minimum element from this RDD as defined by the specified Comparator[T].

      Parameters:
      comp - the comparator that defines ordering
      Returns:
      the minimum of the RDD
    • name

    • partitioner

      The partitioner of this RDD.

    • partitions

      Set of partitions in this RDD.

    • pipe

      Return an RDD created by piping elements to a forked external process.

      Parameters:
      command - (undocumented)
      Returns:
      (undocumented)
    • pipe

      Return an RDD created by piping elements to a forked external process.

      Parameters:
      command - (undocumented)
      Returns:
      (undocumented)
    • pipe

      Return an RDD created by piping elements to a forked external process.

      Parameters:
      command - (undocumented)
      env - (undocumented)
      Returns:
      (undocumented)
    • pipe

      Return an RDD created by piping elements to a forked external process.

      Parameters:
      command - (undocumented)
      env - (undocumented)
      separateWorkingDir - (undocumented)
      bufferSize - (undocumented)
      Returns:
      (undocumented)
    • pipe

      Return an RDD created by piping elements to a forked external process.

      Parameters:
      command - (undocumented)
      env - (undocumented)
      separateWorkingDir - (undocumented)
      bufferSize - (undocumented)
      encoding - (undocumented)
      Returns:
      (undocumented)
    • rdd

    • reduce

      Reduces the elements of this RDD using the specified commutative and associative binary operator.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • saveAsObjectFile

      void saveAsObjectFile(String path)

      Save this RDD as a SequenceFile of serialized objects.

      Parameters:
      path - (undocumented)
    • saveAsTextFile

      void saveAsTextFile(String path)

      Save this RDD as a text file, using string representations of elements.

      Parameters:
      path - (undocumented)
    • saveAsTextFile

      void saveAsTextFile(String path, Class<? extends org.apache.hadoop.io.compress.CompressionCodec> codec)

      Save this RDD as a compressed text file, using string representations of elements.

      Parameters:
      path - (undocumented)
      codec - (undocumented)
    • take

      List<T> take(int num)

      Take the first num elements of the RDD. This currently scans the partitions *one by one*, so it will be slow if a lot of partitions are required. In that case, use collect() to get the whole RDD instead.

      Parameters:
      num - (undocumented)
      Returns:
      (undocumented)
      Note:
      this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver's memory.
    • takeAsync

      The asynchronous version of the take action, which returns a future for retrieving the first num elements of this RDD.

      Parameters:
      num - (undocumented)
      Returns:
      (undocumented)
      Note:
      this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver's memory.
    • takeOrdered

      Returns the first k (smallest) elements from this RDD as defined by the specified Comparator[T] and maintains the order.

      Parameters:
      num - k, the number of elements to return
      comp - the comparator that defines the order
      Returns:
      an array of top elements
      Note:
      this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver's memory.
    • takeOrdered

      List<T> takeOrdered(int num)

      Returns the first k (smallest) elements from this RDD using the natural ordering for T while maintain the order.

      Parameters:
      num - k, the number of top elements to return
      Returns:
      an array of top elements
      Note:
      this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver's memory.
    • takeSample

      List<T> takeSample(boolean withReplacement, int num)

    • takeSample

      List<T> takeSample(boolean withReplacement, int num, long seed)

    • toDebugString

      A description of this RDD and its recursive dependencies for debugging.

    • toLocalIterator

      Return an iterator that contains all of the elements in this RDD.

      The iterator will consume as much memory as the largest partition in this RDD.

      Returns:
      (undocumented)
    • top

      Returns the top k (largest) elements from this RDD as defined by the specified Comparator[T] and maintains the order.

      Parameters:
      num - k, the number of top elements to return
      comp - the comparator that defines the order
      Returns:
      an array of top elements
      Note:
      this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver's memory.
    • top

      Returns the top k (largest) elements from this RDD using the natural ordering for T and maintains the order.

      Parameters:
      num - k, the number of top elements to return
      Returns:
      an array of top elements
      Note:
      this method should only be used if the resulting array is expected to be small, as all the data is loaded into the driver's memory.
    • treeAggregate

      <U> U treeAggregate(U zeroValue, Function2<U,T,U> seqOp, Function2<U,U,U> combOp, int depth)

      Aggregates the elements of this RDD in a multi-level tree pattern.

      Parameters:
      depth - suggested depth of the tree
      zeroValue - (undocumented)
      seqOp - (undocumented)
      combOp - (undocumented)
      Returns:
      (undocumented)
      See Also:
    • treeAggregate

      <U> U treeAggregate(U zeroValue, Function2<U,T,U> seqOp, Function2<U,U,U> combOp)

      org.apache.spark.api.java.JavaRDDLike.treeAggregate with suggested depth 2.

      Parameters:
      zeroValue - (undocumented)
      seqOp - (undocumented)
      combOp - (undocumented)
      Returns:
      (undocumented)
    • treeAggregate

      <U> U treeAggregate(U zeroValue, Function2<U,T,U> seqOp, Function2<U,U,U> combOp, int depth, boolean finalAggregateOnExecutor)

      org.apache.spark.api.java.JavaRDDLike.treeAggregate with a parameter to do the final aggregation on the executor.

      Parameters:
      zeroValue - (undocumented)
      seqOp - (undocumented)
      combOp - (undocumented)
      depth - (undocumented)
      finalAggregateOnExecutor - (undocumented)
      Returns:
      (undocumented)
    • treeReduce

      Reduces the elements of this RDD in a multi-level tree pattern.

      Parameters:
      depth - suggested depth of the tree
      f - (undocumented)
      Returns:
      (undocumented)
      See Also:
    • treeReduce

      org.apache.spark.api.java.JavaRDDLike.treeReduce with suggested depth 2.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • wrapRDD

    • zip

      Zips this RDD with another one, returning key-value pairs with the first element in each RDD, second element in each RDD, etc. Assumes that the two RDDs have the *same number of partitions* and the *same number of elements in each partition* (e.g. one was made through a map on the other).

      Parameters:
      other - (undocumented)
      Returns:
      (undocumented)
    • zipPartitions

      Zip this RDD's partitions with one (or more) RDD(s) and return a new RDD by applying a function to the zipped partitions. Assumes that all the RDDs have the *same number of partitions*, but does *not* require them to have the same number of elements in each partition.

      Parameters:
      other - (undocumented)
      f - (undocumented)
      Returns:
      (undocumented)
    • zipWithIndex

      Zips this RDD with its element indices. The ordering is first based on the partition index and then the ordering of items within each partition. So the first item in the first partition gets index 0, and the last item in the last partition receives the largest index. This is similar to Scala's zipWithIndex but it uses Long instead of Int as the index type. This method needs to trigger a spark job when this RDD contains more than one partitions.

      Returns:
      (undocumented)
    • zipWithUniqueId

      Zips this RDD with generated unique Long ids. Items in the kth partition will get ids k, n+k, 2*n+k, ..., where n is the number of partitions. So there may exist gaps, but this method won't trigger a spark job, which is different from RDD.zipWithIndex().

      Returns:
      (undocumented)