`

Spark collect和take函数学习(RDD-->Array)

 
阅读更多
将RDD转成Scala数组,并返回。

函数原型

def collect(): Array[T]  
def collect[U: ClassTag](f: PartialFunction[T, U]): RDD[U]  


实例

scala> val one: PartialFunction[Int, String] = { case 1 => "one"; case _ => "other"}  
one: PartialFunction[Int,String] = <function1>  
  
scala> val data = sc.parallelize(List(2,3,1))  
data: org.apache.spark.rdd.RDD[Int] =   
    ParallelCollectionRDD[11] at parallelize at <console>:12  
  
scala> data.collect(one).collect  
res4: Array[String] = Array(other, other, one)  


注意

如果数据量比较大的时候,尽量不要使用collect函数,因为这可能导致Driver端内存溢出问题。

建议使用 take(x:Int): rdd.take(100).foreach(println)
而不使用rdd.collect().foreach(println)。

take获取RDD的前几个值

因为后者会导致内存溢出!!

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    spark-rdd-APi

    描述:“内容根据Spark RDD.scala和ParRDDFunctions.scala源码中RDD顺序整理,包含RDD功能解释。对熟悉Spark RDD很有用。”表明本文档涉及的是从Spark源码中对RDD API的深入整理和功能解析。这将会帮助已经熟悉Spark...

    Spark学习--RDD编码

    当Spark对数据操作和转换时,会自动将RDD中的数据分发到集群,并将操作并行化执行。 Spark中的RDD是一个不可变的分布式对象集合。每个RDD都倍分为多个分区,这些分区运行在集群中的不同节点。RDD可以包含Python、...

    RDD-API整理.pdf

    3. collect(): Array[T]:将RDD中的所有元素收集到Driver端,以便进一步处理。 4. toLocalIterator():将RDD中的所有元素转换为一个迭代器,以便进一步处理。 5. collect[U](f: PartialFunction[T, U]): RDD[U]:将...

    优秀资料(2021-2022年收藏)小学一般过去时态.docx

    - collect -&gt; collected - send -&gt; sent - wait -&gt; waited - enjoy -&gt; enjoyed - seem -&gt; seemed - play -&gt; played - carry -&gt; carried - reach -&gt; reached - follow -&gt; followed - turn -&gt; turned - ...

    Spark 编程基础(Scala 版)-机房上机实验指南

    - 学习使用Spark访问本地文件和HDFS文件。 - **实验平台**: - 操作系统:Ubuntu 16.04 - Spark版本:2.1.0 - Hadoop版本:2.7.1 - **实验内容**: - 安装Hadoop和Spark。 - 使用HDFS命令进行文件操作。 - ...

    大数据Spark实战高手之路1---熟练的掌握Scala语言系列课程

    而Scala作为Spark的主要开发语言,其简洁、高效的特点使得学习和掌握Scala成为进入Spark乃至整个大数据生态系统的必经之路。 #### Scala语言基础 1. **基本语法**: - **变量声明**:在Scala中,`val`用于声明不...

    spark使用案例------

    通过Spark的转换(如map、filter、reduceByKey等)和动作(如count、collect、saveAsTextFile等)操作,我们可以对RDD进行复杂的并行计算。DataFrame和DataSet是Spark 2.0引入的新特性,它们提供了更高级别的抽象,...

    spark-rdd-sample1

    Spark RDD(弹性分布式数据集)是...通过运行这个示例,我们可以学习到Spark RDD在实际场景中的应用,进一步理解和掌握Spark的编程模型。在实际开发中,理解并熟练运用这些知识能够帮助我们更高效地处理大规模数据。

    sparkrdd的讲解

    Spark提供了两种主要的分片函数:基于哈希的`HashPartitioner`和基于范围的`RangePartitioner`。 - **数据访问位置**:RDD维护了一个优先位置列表,指明了每个分区的最佳计算位置,这有助于实现位置感知性调度,...

    Apache-Spark-The-Definitive-Guide-Excerpts-R1.pdf

    除了 RDD,Spark 还提供了更高级的 API,如 DataFrame 和 Dataset,这些 API 在功能上与 SQL 类似,但提供了更丰富的操作选项。 #### 三、使用 DataFrames 和 SQL 进行结构化 API 操作 ##### 3.1 DataFrames ...

    spark RDD 论文 中文版

    通过以上详细阐述,我们可以看出Spark RDD不仅在技术层面上有着独特的设计理念,在实际应用中也展现出了卓越的性能和灵活性。它为大数据处理提供了一个强大而易用的平台,对于推动大数据领域的发展起到了重要作用。

    PyPI 官网下载 | pytest_polarion_collect-0.19.0-py3-none-any.whl

    在`pytest_polarion_collect-0.19.0-py3-none-any.whl`中: - `&lt;package&gt;`: `pytest_polarion_collect` 是库的名称。 - `&lt;version&gt;`: `0.19.0` 是这个库的版本号。 - `&lt;python_tag&gt;`: `py3` 表示这个库适用于Python...

    基于 树莓派小车 + 深度学习 完成自动驾驶

    【作品名称】:基于 树莓派小车 + 深度学习 完成自动驾驶 【适用人群】:适用于希望学习不同技术领域的...----&gt; train/train.ipynb 自动驾驶 python driver.py require: ---- model.py 训练模型 ---- car.py 小车控制

    apache-spark-best-practices-and-tuning

    Apache Spark 是一个快速的通用计算引擎,支持批量处理和实时数据处理,非常适合处理大规模数据集。为了确保Spark应用运行高效,开发者需要遵循一系列最佳实践,并进行性能调试。本文将详细讨论这些实践和调试技巧。...

    Spark常用的算子以及Scala函数总结.pdf

    Apache Spark 是一个开源的分布式计算系统,提供了一个快速、通用的引擎,用于大规模数据处理。它是一个基于内存计算的大数据处理框架,...在学习 Spark 编程时,熟悉这些算子和 Scala 的函数式编程特性是非常重要的。

    Spark RDD.docx

    Spark 的核心概念是 RDD(Resilient Distributed Datasets),这是一种高度抽象的数据结构,设计用于支持大规模数据处理。RDD 是一种不可变、容错的分布式数据集,具备弹性、分布式、基于内存的特性,允许在计算过程...

    PyPI 官网下载 | soft_collect-0.1.15-py3-none-any.whl

    《PyPI官网下载:深入理解Python库的发布与使用——以soft_collect-0.1.15-py3-none-any.whl为例》 在Python的世界里,PyPI(Python Package Index)是官方的第三方库仓库,它为全球的Python开发者提供了一个集中、...

    登录页面源码

    -- Collect the nav links, forms, and other content for toggling --&gt;&lt;div id="bs-example-navbar-collapse-1" class="collapse navbar-collapse"&gt;&lt;ul class="nav navbar-nav"&gt;&lt;li&gt;&lt;!--a(href="/features")| ...

Global site tag (gtag.js) - Google Analytics