微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spark学习 -- RDD

一、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@

  一个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@

四、RDD的创建方法@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@@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] 举报,一经查实,本站将立刻删除。

相关推荐