Interface JavaRDDLike<T,This extends JavaRDDLike<T,This>>

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

public interface JavaRDDLike<T,This extends JavaRDDLike<T,This>> extends scala.Serializable
Defines operations common to several Java RDD implementations.

Note:
This trait is not intended to be implemented by user code.
  • 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.TraversableOnce. 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

      <U> JavaPairRDD<T,U> cartesian(JavaRDDLike<U,?> other)
      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

      List<T> 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

      JavaFutureAction<List<T>> 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

      SparkContext context()
      The SparkContext that this RDD was created on.
    • count

      long count()
      Return the number of elements in the RDD.
      Returns:
      (undocumented)
    • countApprox

      PartialResult<BoundedDouble> 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.

      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

      PartialResult<BoundedDouble> countApprox(long timeout)
      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

      JavaFutureAction<Long> countAsync()
      The asynchronous version of count, which returns a future for counting the number of elements in this RDD.
      Returns:
      (undocumented)
    • countByValue

      Map<T,Long> 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

      PartialResult<Map<T,BoundedDouble>> countByValueApprox(long timeout, double confidence)
      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

      PartialResult<Map<T,BoundedDouble>> countByValueApprox(long timeout)
      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

      <U> JavaRDD<U> flatMap(FlatMapFunction<T,U> f)
      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

      JavaDoubleRDD flatMapToDouble(DoubleFlatMapFunction<T> f)
      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

      <K2, V2> JavaPairRDD<K2,V2> flatMapToPair(PairFlatMapFunction<T,K2,V2> f)
      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

      T fold(T zeroValue, Function2<T,T,T> f)
      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

      void foreach(VoidFunction<T> f)
      Applies a function f to all elements of this RDD.
      Parameters:
      f - (undocumented)
    • foreachAsync

      JavaFutureAction<Void> foreachAsync(VoidFunction<T> f)
      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

      void foreachPartition(VoidFunction<Iterator<T>> f)
      Applies a function f to each partition of this RDD.
      Parameters:
      f - (undocumented)
    • foreachPartitionAsync

      JavaFutureAction<Void> foreachPartitionAsync(VoidFunction<Iterator<T>> f)
      The asynchronous version of the foreachPartition action, which applies a function f to each partition of this RDD.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • getCheckpointFile

      Optional<String> 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

      StorageLevel getStorageLevel()
      Get the RDD's current storage level, or StorageLevel.NONE if none is set.
    • glom

      JavaRDD<List<T>> glom()
      Return an RDD created by coalescing all elements within each partition into an array.
      Returns:
      (undocumented)
    • groupBy

      <U> JavaPairRDD<U,Iterable<T>> groupBy(Function<T,U> f)
      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

      <U> JavaPairRDD<U,Iterable<T>> groupBy(Function<T,U> f, int numPartitions)
      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

      Iterator<T> iterator(Partition split, TaskContext taskContext)
      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

      <U> JavaPairRDD<U,T> keyBy(Function<T,U> f)
      Creates tuples of the elements in this RDD by applying f.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • map

      <R> JavaRDD<R> map(Function<T,R> f)
      Return a new RDD by applying a function to all elements of this RDD.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapPartitions

      <U> JavaRDD<U> mapPartitions(FlatMapFunction<Iterator<T>,U> f)
      Return a new RDD by applying a function to each partition of this RDD.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapPartitions

      <U> JavaRDD<U> mapPartitions(FlatMapFunction<Iterator<T>,U> f, boolean preservesPartitioning)
      Return a new RDD by applying a function to each partition of this RDD.
      Parameters:
      f - (undocumented)
      preservesPartitioning - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsToDouble

      JavaDoubleRDD mapPartitionsToDouble(DoubleFlatMapFunction<Iterator<T>> f)
      Return a new RDD by applying a function to each partition of this RDD.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsToDouble

      JavaDoubleRDD mapPartitionsToDouble(DoubleFlatMapFunction<Iterator<T>> f, boolean preservesPartitioning)
      Return a new RDD by applying a function to each partition of this RDD.
      Parameters:
      f - (undocumented)
      preservesPartitioning - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsToPair

      <K2, V2> JavaPairRDD<K2,V2> mapPartitionsToPair(PairFlatMapFunction<Iterator<T>,K2,V2> f)
      Return a new RDD by applying a function to each partition of this RDD.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsToPair

      <K2, V2> JavaPairRDD<K2,V2> mapPartitionsToPair(PairFlatMapFunction<Iterator<T>,K2,V2> f, boolean preservesPartitioning)
      Return a new RDD by applying a function to each partition of this RDD.
      Parameters:
      f - (undocumented)
      preservesPartitioning - (undocumented)
      Returns:
      (undocumented)
    • mapPartitionsWithIndex

      <R> JavaRDD<R> mapPartitionsWithIndex(Function2<Integer,Iterator<T>,Iterator<R>> f, boolean preservesPartitioning)
      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

      <R> JavaDoubleRDD mapToDouble(DoubleFunction<T> f)
      Return a new RDD by applying a function to all elements of this RDD.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • mapToPair

      <K2, V2> JavaPairRDD<K2,V2> mapToPair(PairFunction<T,K2,V2> f)
      Return a new RDD by applying a function to all elements of this RDD.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • max

      T max(Comparator<T> comp)
      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

      T min(Comparator<T> comp)
      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

      String name()
    • partitioner

      Optional<Partitioner> partitioner()
      The partitioner of this RDD.
    • partitions

      List<Partition> partitions()
      Set of partitions in this RDD.
    • pipe

      JavaRDD<String> pipe(String command)
      Return an RDD created by piping elements to a forked external process.
      Parameters:
      command - (undocumented)
      Returns:
      (undocumented)
    • pipe

      JavaRDD<String> pipe(List<String> command)
      Return an RDD created by piping elements to a forked external process.
      Parameters:
      command - (undocumented)
      Returns:
      (undocumented)
    • pipe

      JavaRDD<String> pipe(List<String> command, Map<String,String> env)
      Return an RDD created by piping elements to a forked external process.
      Parameters:
      command - (undocumented)
      env - (undocumented)
      Returns:
      (undocumented)
    • pipe

      JavaRDD<String> pipe(List<String> command, Map<String,String> env, boolean separateWorkingDir, int bufferSize)
      Return an RDD created by piping elements to a forked external process.
      Parameters:
      command - (undocumented)
      env - (undocumented)
      separateWorkingDir - (undocumented)
      bufferSize - (undocumented)
      Returns:
      (undocumented)
    • pipe

      JavaRDD<String> pipe(List<String> command, Map<String,String> env, boolean separateWorkingDir, int bufferSize, String encoding)
      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

      RDD<T> rdd()
    • reduce

      T reduce(Function2<T,T,T> f)
      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

      JavaFutureAction<List<T>> takeAsync(int num)
      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

      List<T> takeOrdered(int num, Comparator<T> comp)
      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

      String toDebugString()
      A description of this RDD and its recursive dependencies for debugging.
    • toLocalIterator

      Iterator<T> 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

      List<T> top(int num, Comparator<T> comp)
      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

      List<T> top(int num)
      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

      T treeReduce(Function2<T,T,T> f, int depth)
      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

      T treeReduce(Function2<T,T,T> f)
      org.apache.spark.api.java.JavaRDDLike.treeReduce with suggested depth 2.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • wrapRDD

      This wrapRDD(RDD<T> rdd)
    • zip

      <U> JavaPairRDD<T,U> zip(JavaRDDLike<U,?> other)
      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

      <U, V> JavaRDD<V> zipPartitions(JavaRDDLike<U,?> other, FlatMapFunction2<Iterator<T>,Iterator<U>,V> f)
      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

      JavaPairRDD<T,Long> 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

      JavaPairRDD<T,Long> 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)