认识RDD

一、什么是RDD?
官方说法:
RDD:弹性分布式数据集,是Spark最核心的数据结构。有分区机制,所以可以分布式进行处理。有容错机制,通过RDD之间的依赖关系来恢复数据。

说白了RDD就是spark的一种特有集合,只不过这个集合它有分区属性,通过分区可以实现并行化计算,从而实现了spark高效处理数据的重要原因之一,此外RDD之间还存在着一种父子依赖关系,就向人类血缘关系一样,通过这种关系,可以实现数据的容错,比如说我们子RDD数据丢失了,可以通过计算父RDD重新生成子RDD数据。

二、如何生成RDD?
RDD生成方式有2种:
1.执行tarnsform操作(变换操作)将Scala的其他集合类型转换成RDD形式
如:
parallelize(数据集,分区数)

val data = Array(1,2,3,4)
val RDD1 = sc.parallelize(data, 2)

注意:
在调用parallelize()方法时,有一个重要的参数可以指定,就是要将集合切分成多少个partition。Spark会为每一个partition运行一个task来进行处理。Spark官方的建议是,为集群中的每个CPU创建2-4个partition。Spark默认会根据集群的情况来设置partition的数量。但是也可以在调用parallelize()方法时,传入第二个参数,来设置RDD的partition数量。比如,parallelize(data, 2)

makeRDD(数据集,分区数)

val data2 = List(1,2,3,4)
val RDD2 = sc.makeRDD(data2,2) 

注意:
在调用makeRDD()方法时,可以去指定partition个数,如果未指定,则Spark默认会按照RDD的数据量大小划分分区数。

2.通过读取外部存储系统的数据集创建RDD,如HDFS,HBase,或任何与hadoop有关的数据源。
方法:textFile(“数据文件路径”,分区数)

val rdd3 =sc.textFile("J://tmp/1.txt",2)

3.通过父RDD创建子RDD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PySpark RDD是一种分布式的数据集,它是PySpark的核心抽象之一。RDD代表弹性分布式数据集(Resilient Distributed Dataset),它是由一系列分区组成的可并行处理的集合。RDD可以包含任何类型的对象,并且可以在集群上进行并行操作。 PySpark RDD可以通过不同的方式创建,其中一种常见的方式是使用`sc.parallelize`方法,该方法可以将Python列表、NumPy数组或Pandas Series/Pandas DataFrame转换为Spark RDD。例如,通过以下代码可以使用列表创建一个RDD: ```python rdd = sc.parallelize([1, 2, 3, 4, 5]) ``` 这将创建一个名为`rdd`的RDD对象,其中包含了列表中的元素。RDD支持各种转换和操作,例如映射、过滤、排序和聚合等。你可以使用这些操作来对RDD进行变换和计算,最终得到你想要的结果。 PySpark提供了丰富的文档来帮助你了解RDD的更多细节和使用方法。你可以参考Spark官方网站的RDD编程指南和PySpark官方文档,它们提供了详细的介绍和示例代码,帮助你更好地理解和使用PySpark RDD。 总结起来,PySpark RDD是一种分布式的可并行处理的数据集,它可以通过不同的方式创建,例如使用`sc.parallelize`方法。RDD支持各种转换和操作,它是PySpark中非常重要的概念之一。 参考文献: Spark官方网站 - RDD编程指南:http://spark.apache.org/docs/latest/rdd-programming-guide.html PySpark官方文档:https://spark.apache.org/docs/latest/api/python/index.html

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值