spark api 简单的chrome 翻译

本文档详细介绍了Apache Spark API中的JavaRDDLike接口,包括其继承自Serializable接口、主要方法如聚合、笛卡尔积、检查点操作等,以及对序列化、分区、context、存储级别等关键概念的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

org.apache.spark.api.java

接口 JavaRDDLike<T,This 扩展 JavaRDDLike<T,This>>

  • 方法总结

    方法 
    修饰符和类型方法和说明
    <U> Uaggregate(U zeroValue, Function2<U,T,U> seqOp, Function2<U,U,U> combOp)
    使用给定的组合函数和中性的“零值”聚合每个分区的元素,然后聚合所有分区的结果。
    <U> JavaPairRDD<T,U>cartesian(JavaRDDLike<U,?> other)
    返回这个 RDD 和另一个 RDD 的笛卡尔积,即所有元素对 (a, b) 的 RDD,其中 a is inthis和 b is in other
    voidcheckpoint()
    将此 RDD 标记为检查点。
    scala.reflect.ClassTag<T>classTag() 
    java.util.List<T>collect()
    返回一个包含此 RDD 中所有元素的数组。
    java.util.List<T>[]collectPartitions(int[] partitionIds)
    返回一个数组,该数组包含此 RDD 特定分区中的所有元素。
    SparkContextcontext()
    SparkContext这RDD上创建。
    longcount()
    返回 RDD 中元素的数量。
    PartialResult<BoundedDouble>countApprox(long timeout)
    :: 实验 :: count() 的近似版本在超时内返回可能不完整的结果,即使并非所有任务都已完成。
    PartialResult<BoundedDouble>countApprox(long timeout, double confidence)
    :: 实验 :: count() 的近似版本在超时内返回可能不完整的结果,即使并非所有任务都已完成。
    longcountApproxDistinct(double relativeSD)
    返回 RDD 中不同元素的近似数量。
    java.util.Map<T,Long>countByValue()
    返回此 RDD 中每个唯一值的计数作为 (value, count) 对的映射。
    PartialResult<java.util.Map<T,BoundedDouble>>countByValueApprox(long timeout)
    (实验性)countByValue() 的近似版本。
    PartialResult<java.util.Map<T,BoundedDouble>>countByValueApprox(long timeout, double confidence)
    (实验性)countByValue() 的近似版本。
    Tfirst()
    返回此 RDD 中的第一个元素。
    <U> JavaRDD<U>flatMap(FlatMapFunction<T,U> f)
    通过首先将函数应用于此 RDD 的所有元素,然后展平结果,返回一个新的 RDD。
    JavaDoubleRDDflatMapToDouble(DoubleFlatMapFunction<T> f)
    通过首先将函数应用于此 RDD 的所有元素,然后展平结果,返回一个新的 RDD。
    <K2,V2> JavaPairRDD<K2,V2>flatMapToPair(PairFlatMapFunction<T,K2,V2> f)
    通过首先将函数应用于此 RDD 的所有元素,然后展平结果,返回一个新的 RDD。
    Tfold(T zeroValue, Function2<T,T,T> f)
    使用给定的关联函数和中性的“零值”聚合每个分区的元素,然后聚合所有分区的结果。
    voidforeach(VoidFunction<T> f)
    将函数 f 应用于此 RDD 的所有元素。
    voidforeachPartition(VoidFunction<java.util.Iterator<T>> f)
    将函数 f 应用于此 RDD 的每个分区。
    com.google.common.base.Optional<String>getCheckpointFile()
    获取此 RDD 被检查点的文件的名称
    StorageLevelgetStorageLevel()
    获取 RDD 的当前存储级别,如果没有设置,则获取 StorageLevel.NONE。
    JavaRDD<java.util.List<T>>glom()
    返回通过将每个分区中的所有元素合并到一个数组中创建的 RDD。
    <K> JavaPairRDD<K,Iterable<T>>groupBy(Function<T,K> f)
    返回分组元素的 RDD。
    <K> JavaPairRDD<K,Iterable<T>>groupBy(Function<T,K> f, int numPartitions)
    返回分组元素的 RDD。
    intid()
    此 RDD 的唯一 ID(在其 SparkContext 中)。
    booleanisCheckpointed()
    返回此 RDD 是否已被检查点
    java.util.Iterator<T>iterator(Partition split, TaskContext taskContext)
    此 RDD 的内部方法;如果适用,将从缓存中读取,或以其他方式计算它。
    <K> JavaPairRDD<K,T>keyBy(Function<T,K> f)
    通过应用创建此 RDD 中元素的元组f
    <R> JavaRDD<R>map(Function<T,R> f)
    通过对这个 RDD 的所有元素应用一个函数来返回一个新的 RDD。
    <U> JavaRDD<U>mapPartitions(FlatMapFunction<java.util.Iterator<T>,U> f)
    通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    <U> JavaRDD<U>mapPartitions(FlatMapFunction<java.util.Iterator<T>,U> f, boolean preservesPartitioning)
    通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    JavaDoubleRDDmapPartitionsToDouble(DoubleFlatMapFunction<java.util.Iterator<T>> f)
    通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    JavaDoubleRDDmapPartitionsToDouble(DoubleFlatMapFunction<java.util.Iterator<T>> f, boolean preservesPartitioning)
    通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    <K2,V2> JavaPairRDD<K2,V2>mapPartitionsToPair(PairFlatMapFunction<java.util.Iterator<T>,K2,V2> f)
    通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    <K2,V2> JavaPairRDD<K2,V2>mapPartitionsToPair(PairFlatMapFunction<java.util.Iterator<T>,K2,V2> f, boolean preservesPartitioning)
    通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    <R> JavaRDD<R>mapPartitionsWithIndex(Function2<Integer,java.util.Iterator<T>,java.util.Iterator<R>> f, boolean preservesPartitioning)
    通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD,同时跟踪原始分区的索引。
    <R> JavaDoubleRDDmapToDouble(DoubleFunction<T> f)
    通过对这个 RDD 的所有元素应用一个函数来返回一个新的 RDD。
    <K2,V2> JavaPairRDD<K2,V2>mapToPair(PairFunction<T,K2,V2> f)
    通过对这个 RDD 的所有元素应用一个函数来返回一个新的 RDD。
    Tmax(java.util.Comparator<T> comp)
    返回此 RDD 中由指定的 Comparator[T] 定义的最大元素。
    Tmin(java.util.Comparator<T> comp)
    返回此 RDD 中由指定的 Comparator[T] 定义的最小元素。
    Stringname() 
    JavaRDD<String>pipe(java.util.List<String> command)
    将管道元素创建的 RDD 返回到分叉的外部进程。
    JavaRDD<String>pipe(java.util.List<String> command, java.util.Map<String,String> env)
    将管道元素创建的 RDD 返回到分叉的外部进程。
    JavaRDD<String>pipe(String command)
    将管道元素创建的 RDD 返回到分叉的外部进程。
    RDD<T>rdd() 
    Treduce(Function2<T,T,T> f)
    使用指定的可交换和结合二元运算符减少此 RDD 的元素。
    voidsaveAsObjectFile(String path)
    将此 RDD 保存为序列化对象的 SequenceFile。
    voidsaveAsTextFile(String path)
    使用元素的字符串表示将此 RDD 保存为文本文件。
    voidsaveAsTextFile(String path, Class<? extends org.apache.hadoop.io.compress.CompressionCodec> codec)
    使用元素的字符串表示将此 RDD 保存为压缩文本文件。
    java.util.List<Partition>splits()
    此 RDD 中的一组分区。
    java.util.List<T>take(int num)
    取 RDD 的前 num 个元素。
    java.util.List<T>takeOrdered(int num)
    使用 T 的自然排序返回此 RDD 的前 K 个元素,同时保持顺序。
    java.util.List<T>takeOrdered(int num, java.util.Comparator<T> comp)
    返回此 RDD 中由指定的 Comparator[T] 定义的前 K 个元素并保持顺序。
    java.util.List<T>takeSample(boolean withReplacement, int num) 
    java.util.List<T>takeSample(boolean withReplacement, int num, long seed) 
    java.util.List<T>toArray()
    已弃用。 
    从 Spark 1.0.0 开始,不推荐使用 toArray(),collect()改为使用
    StringtoDebugString()
    此 RDD 的描述及其用于调试的递归依赖项。
    java.util.Iterator<T>toLocalIterator()
    返回包含此 RDD 中所有元素的迭代器。
    java.util.List<T>top(int num)
    使用 T 的自然排序从这个 RDD 返回前 K 个元素。
    java.util.List<T>top(int num, java.util.Comparator<T> comp)
    返回此 RDD 中由指定的 Comparator[T] 定义的前 K 个元素。
    ThiswrapRDD(RDD<T> rdd) 
    <U> JavaPairRDD<T,U>zip(JavaRDDLike<U,?> other)
    用另一个 RDD 压缩这个 RDD,返回键值对,每个 RDD 中的第一个元素,每个 RDD 中的第二个元素,等等。
    <U,V> JavaRDD<V>zipPartitions(JavaRDDLike<U,?> other, FlatMapFunction2<java.util.Iterator<T>,java.util.Iterator<U>,V> f)
    用一个(或多个)RDD 压缩这个 RDD 的分区,并通过对压缩的分区应用一个函数来返回一个新的 RDD。
    JavaPairRDD<T,Long>zipWithIndex()
    使用其元素索引压缩此 RDD。
    JavaPairRDD<T,Long>zipWithUniqueId()
    使用生成的唯一长 ID 压缩此 RDD。
  • 方法细节

    • 类标签

      scala.reflect.ClassTag< T > classTag()
    • 记录

      RDD < T >rdd()
    • 分裂

      java.util.List<分区> splits()
      此 RDD 中的一组分区。
    • ID

      内部标识()
      此 RDD 的唯一 ID(在其 SparkContext 中)。
    • 获取存储级别

      StorageLevel  getStorageLevel()
      获取 RDD 的当前存储级别,如果没有设置,则获取 StorageLevel.NONE。
    • 迭代器

      java.util.Iterator< T > iterator( Partition  split,
                                    TaskContext  taskContext)
      此 RDD 的内部方法;如果适用,将从缓存中读取,或以其他方式计算它。这应该“不”由用户直接调用,但可用于 RDD 的自定义子类的实现者。
    • 地图

      <R>  JavaRDD <R> map( Function < T ,R> f)
      通过对这个 RDD 的所有元素应用一个函数来返回一个新的 RDD。
    • mapPartitionsWithIndex

      <R>  JavaRDD <R> mapPartitionsWithIndex( Function2 <Integer,java.util.Iterator< T >,java.util.Iterator<R>> f,
                                          布尔保留分区)
      通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD,同时跟踪原始分区的索引。
    • 映射到双

      <R>  JavaDoubleRDD  mapToDouble( DoubleFunction < T > f)
      通过对这个 RDD 的所有元素应用一个函数来返回一个新的 RDD。
    • 映射对

      <K2,V2>  JavaPairRDD <K2,V2> mapToPair( PairFunction < T ,K2,V2> f)
      通过对这个 RDD 的所有元素应用一个函数来返回一个新的 RDD。
    • 平面图

      <U>  JavaRDD <U> flatMap( FlatMapFunction < T ,U> f)
      通过首先将函数应用于此 RDD 的所有元素,然后展平结果,返回一个新的 RDD。
    • flatMapToDouble

      JavaDoubleRDD  flatMapToDouble( DoubleFlatMapFunction < T > f)
      通过首先将函数应用于此 RDD 的所有元素,然后展平结果,返回一个新的 RDD。
    • 平面映射对

      <K2,V2>  JavaPairRDD <K2,V2> flatMapToPair( PairFlatMapFunction < T ,K2,V2> f)
      通过首先将函数应用于此 RDD 的所有元素,然后展平结果,返回一个新的 RDD。
    • 地图分区

      <U>  JavaRDD <U> mapPartitions( FlatMapFunction <java.util.Iterator< T >,U> f)
      通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    • 地图分区

      <U>  JavaRDD <U> mapPartitions( FlatMapFunction <java.util.Iterator< T >,U> f,
                                 布尔保留分区)
      通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    • mapPartitionsToDouble

      JavaDoubleRDD  mapPartitionsToDouble( DoubleFlatMapFunction <java.util.Iterator< T >> f)
      通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    • mapPartitionsToPair

      <K2,V2>  JavaPairRDD <K2,V2> mapPartitionsToPair( PairFlatMapFunction <java.util.Iterator< T >,K2,V2> f)
      通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    • mapPartitionsToDouble

      JavaDoubleRDD  mapPartitionsToDouble( DoubleFlatMapFunction <java.util.Iterator< T >> f,
                                        布尔保留分区)
      通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    • mapPartitionsToPair

      <K2,V2>  JavaPairRDD <K2,V2> mapPartitionsToPair( PairFlatMapFunction <java.util.Iterator< T >,K2,V2> f,
                                                   布尔保留分区)
      通过对这个 RDD 的每个分区应用一个函数来返回一个新的 RDD。
    • foreach分区

      void foreachPartition( VoidFunction <java.util.Iterator< T >> f)
      将函数 f 应用于此 RDD 的每个分区。
    • 格洛姆

      JavaRDD <java.util.List< T >> glom()
      返回通过将每个分区中的所有元素合并到一个数组中创建的 RDD。
    • 笛卡尔

      <U>  JavaPairRDD < T ,U> 笛卡尔( JavaRDDLlike <U,?> other)
      返回这个 RDD 和另一个 RDD 的笛卡尔积,即所有元素对 (a, b) 的 RDD,其中 a is inthis和 b is in other
    • 通过...分组

      <K>  JavaPairRDD <K,Iterable< T >> groupBy( Function < T ,K> f)
      返回分组元素的 RDD。每个组由一个键和一系列映射到该键的元素组成。
    • 通过...分组

      <K>  JavaPairRDD <K,Iterable< T >> groupBy( Function < T ,K> f,
                                           int numPartitions)
      返回分组元素的 RDD。每个组由一个键和一系列映射到该键的元素组成。
    • 管道

      JavaRDD <String> 管道(字符串命令)
      将管道元素创建的 RDD 返回到分叉的外部进程。
    • 管道

      JavaRDD <String> 管道(java.util.List<String> 命令)
      将管道元素创建的 RDD 返回到分叉的外部进程。
    • 管道

      JavaRDD <String> 管道(java.util.List<String> 命令,
                         java.util.Map<String,String> 环境)
      将管道元素创建的 RDD 返回到分叉的外部进程。
    • 压缩

      <U>  JavaPairRDD < T ,U> zip( JavaRDDLlike <U,?> other)
      用另一个 RDD 压缩这个 RDD,返回键值对,每个 RDD 中的第一个元素,每个 RDD 中的第二个元素,等等。假设两个 RDD 具有*相同数量的分区*和*相同数量的元素分区*(例如,一个是通过另一个上的地图制作的)。
    • zip分区

      <U,V>  JavaRDD <V> zipPartitions( JavaRDDLlike <U,?> other,
                                    FlatMapFunction2 <java.util.Iterator< T >,java.util.Iterator<U>,V> f)
      用一个(或多个)RDD 压缩这个 RDD 的分区,并通过对压缩的分区应用一个函数来返回一个新的 RDD。假设所有 RDD 具有*相同数量的分区*,但*不*要求它们在每个分区中具有相同数量的元素。
    • 带唯一标识的 zip

      JavaPairRDD < T ,Long> zipWithUniqueId()
      使用生成的唯一长 ID 压缩此 RDD。第 k 个分区中的项目将获得 ids k, n+k, 2*n+k, ...,其中 n 是分区数。所以可能存在差距,但这种方法不会触发火花作业,这与RDD.zipWithIndex().
    • 带索引的zip

      JavaPairRDD < T ,Long> zipWithIndex()
      使用其元素索引压缩此 RDD。排序首先基于分区索引,然后是每个分区内项目的排序。所以第一个分区中的第一项获得索引 0,最后一个分区中的最后一项获得最大索引。这类似于 Scala 的 zipWithIndex 但它使用 Long 而不是 Int 作为索引类型。当这个RDD包含多个分区时,该方法需要触发一个spark作业。
    • foreach

      void foreach( VoidFunction < T > f)
      将函数 f 应用于此 RDD 的所有元素。
    • 搜集

      java.util.List< T > collect()
      返回一个包含此 RDD 中所有元素的数组。
    • toLocalIterator

      java.util.Iterator< T > toLocalIterator()
      返回包含此 RDD 中所有元素的迭代器。

      迭代器将消耗与此 RDD 中最大分区一样多的内存。

    • 数组

      java.util.List< T > toArray()
      已弃用。 从 Spark 1.0.0 开始,不推荐使用 toArray(),collect()改为使用
      返回一个包含此 RDD 中所有元素的数组。
    • 收集分区

      java.util.List< T >[] collectPartitions(int[] partitionIds)
      返回一个数组,该数组包含此 RDD 特定分区中的所有元素。
    • 降低

      T  reduce( Function2 < T , T , T > f)
      使用指定的可交换和结合二元运算符减少此 RDD 的元素。
    • 折叠

      T  fold( T  zeroValue,
            Function2 < T , T , T > f)
      使用给定的关联函数和中性的“零值”聚合每个分区的元素,然后聚合所有分区的结果。函数 op(t1, t2) 允许修改 t1 并将其作为结果值返回以避免对象分配;但是,它不应修改 t2。
    • 总计的

      <U> U 聚合(U zeroValue,
                     Function2 <U, T ,U> seqOp,
                     Function2 <U,U,U> combOp)
      使用给定的组合函数和中性的“零值”聚合每个分区的元素,然后聚合所有分区的结果。这个函数可以返回与这个 RDD 的类型 T 不同的结果类型 U。因此,我们需要一个将 T 合并到一个 U 的操作和一个合并两个 U 的操作,如 scala.TraversableOnce。这两个函数都允许修改并返回它们的第一个参数,而不是创建一个新的 U 以避免内存分配。
    • 数数

      长计数()
      返回 RDD 中元素的数量。
    • 计数约

      PartialResult < BoundedDouble > countApprox(long timeout,
                                             双重信任)
      :: 实验 :: count() 的近似版本在超时内返回可能不完整的结果,即使并非所有任务都已完成。
    • 计数约

      PartialResult < BoundedDouble > countApprox(long timeout)
      :: 实验 :: count() 的近似版本在超时内返回可能不完整的结果,即使并非所有任务都已完成。
    • 按值计数

      java.util.Map< T ,Long> countByValue()
      返回此 RDD 中每个唯一值的计数作为 (value, count) 对的映射。最后的组合步骤在 master 本地发生,相当于运行单个 reduce 任务。
    • countByValueApprox

      PartialResult <java.util.Map< T , BoundedDouble >> countByValueApprox(long timeout,
                                                                     双重信任)
      (实验性)countByValue() 的近似版本。
    • countByValueApprox

      PartialResult <java.util.Map< T , BoundedDouble >> countByValueApprox(long timeout)
      (实验性)countByValue() 的近似版本。
    • java.util.List< T >take(int num)
      取 RDD 的前 num 个元素。这当前会*一个*一个*地扫描分区,因此如果需要很多分区,它会很慢。在这种情况下,使用 collect() 来获取整个 RDD。
    • 取样

      java.util.List< T > takeSample(boolean withReplacement,
                                 整数)
    • 取样

      java.util.List< T > takeSample(boolean withReplacement,
                                 整数,
                                 长种子)
    • 第一的

      Ť 第一()
      返回此 RDD 中的第一个元素。
    • 另存为文本文件

      void saveAsTextFile(字符串路径)
      使用元素的字符串表示将此 RDD 保存为文本文件。
    • 另存为文本文件

      void saveAsTextFile(字符串路径,
                        类<? 扩展 org.apache.hadoop.io.compress.CompressionCodec> 编解码器)
      使用元素的字符串表示将此 RDD 保存为压缩文本文件。
    • 另存为对象文件

      void saveAsObjectFile(字符串路径)
      将此 RDD 保存为序列化对象的 SequenceFile。
    • 键按

      <K>  JavaPairRDD <K, T > keyBy( Function < T ,K> f)
      通过应用创建此 RDD 中元素的元组f
    • 检查站

      无效检查点()
      将此 RDD 标记为检查点。它将保存到使用 SparkContext.setCheckpointDir() 设置的检查点目录内的文件中,并且将删除对其父 RDD 的所有引用。必须在此 RDD 上执行任何作业之前调用此函数。强烈建议将此 RDD 持久化在内存中,否则将其保存在文件中将需要重新计算。
    • 是检查点

      布尔值 isCheckpointed()
      返回此 RDD 是否已被检查点
    • 获取检查点文件

      com.google.common.base.Optional<String> getCheckpointFile()
      获取此 RDD 被检查点的文件的名称
    • 调试字符串

      字符串 toDebugString()
      此 RDD 的描述及其用于调试的递归依赖项。
    • 最佳

      java.util.List< T >top(int num,
                          java.util.Comparator< T > comp)
      返回此 RDD 中由指定的 Comparator[T] 定义的前 K 个元素。

      参数:

      num - 要返回的顶级元素的数量

      comp - 定义顺序的比较器

      返回:

      顶部元素的数组

    • 最佳

      java.util.List< T >top(int num)
      使用 T 的自然排序从这个 RDD 返回前 K 个元素。

      参数:

      num - 要返回的顶级元素的数量

      返回:

      顶部元素的数组

    • 下单

      java.util.List< T > takeOrdered(int num,
                                  java.util.Comparator< T > comp)
      返回此 RDD 中由指定的 Comparator[T] 定义的前 K 个元素并保持顺序。

      参数:

      num - 要返回的顶级元素的数量

      comp - 定义顺序的比较器

      返回:

      顶部元素的数组

    • 最大限度

      T  max(java.util.Comparator< T > comp)
      返回此 RDD 中由指定的 Comparator[T] 定义的最大元素。

      参数:

      comp - 定义排序的比较器

      返回:

      RDD 的最大值

    • 分钟

      T  min(java.util.Comparator< T > comp)
      返回此 RDD 中由指定的 Comparator[T] 定义的最小元素。

      参数:

      comp - 定义排序的比较器

      返回:

      RDD 的最小值

    • 下单

      java.util.List< T > takeOrdered(int num)
      使用 T 的自然排序返回此 RDD 的前 K 个元素,同时保持顺序。

      参数:

      num - 要返回的顶级元素的数量

      返回:

      顶部元素的数组

    • countApproxDistinct

      long countApproxDistinct(double relativeSD)
      返回 RDD 中不同元素的近似数量。

      近似的精度可以通过相对标准偏差 (relativeSD) 参数来控制,该参数也控制使用的内存量。较低的值会导致更准确的计数,但会增加内存占用,反之亦然。relativeSD 的默认值为 0.05。

    • name

      字符串名称()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值