一、RDD是什么@H_404_3@
RDD,全称为 Resilient distributed Datasets,是一个容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。@H_404_3@
RDD是只读的、分区记录的集合。RDD只能基于在稳定物理存储中的数据集和其他已有的RDD上执行确定性操作来创建。这些确定性操作称之为转换,如map、filter、groupBy、join(转换不是程开发人员在RDD上执行的操作)@H_404_3@
RDD 还提供了诸如 join、groupBy、reduceByKey 等更为方便的操作(注意,reduceByKey 是 action,而非 transformation),以支持常见的数据运算。@H_404_3@
@H_404_3@
二、RDD性质@H_404_3@
Spark中所有的计算都是通过RDDs的创建、转换、操作完成的@H_404_3@
一个RDD内部有许多的partitions(分片)组成的@H_404_3@
@H_404_3@
三、partitions(分片)@H_404_3@
每个分片包括一部分数据,partitions可在集群不同节点上计算@H_404_3@
分片是Spark并行处理的单元,Spark顺序的,并行的处理分片@H_404_3@
@H_404_3@
1、把一个存在的集合传给SparkContext的parallelize()方法,一般是在测试的时候用@H_404_3@
val rdd = sc.parallelize(Array(1,2,4,5),4)
参数 1: 待并行处理的数据集合; 参数 2: 分区个数。 代码如下:@H_404_3@
@H_404_3@
2、加载外部数据集@H_404_3@
val rddText = sc.textEdit()@H_404_3@
3、 @H_404_3@ <style></style> <style></style>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。