首页 > 其他 > 详细

Spark_RDD

时间:2021-01-24 01:20:40      阅读:21      评论:0      收藏:0      [点我收藏+]

一、概念

RDD是Resilient Distributed Dataset。
RDD是Spark的基础数据结构。表现形式为不可变的分区元素的集合,并且可以在集群中并行操作。

同时, RDD 还提供了一组丰富的操作来操作这些数据. 在这些操作中, 诸如 map, flatMap, filter 等转换操作实现了 Monad 模式, 很好地契合了 Scala 的集合操作. 除此之外, RDD 还提供了诸如 join, groupBy, reduceByKey 等更为方便的操作, 以支持常见的数据运算.

二、属性

  • 获取分区列表(getPartitions):有一个数据分片列表,能够将数据进行切分,切分后的数据能够进行并行计算,是数据集的原子组成部分。
  • 可以在每一个分区上进行计算(compute):计算每个分区,得到一个可便利的结果,用于说明在父RDD上执行何种计算。
  • 获取每个RDD的依赖(getDependencies):计算每个RDD对父RDD的依赖列表,源RDD没有依赖,通过依赖关系描述血统。
  • RDD的键值分区器( @transient val partitioner: Option[Partitioner] = None):描述分区模式和数据存放的位置,键值对的RDD根据哈希值进行分区。
  • 在那个分区上进行计算最好(getPreferredLocations):每一个分片的优先计算位置

三、使用

1、创建入口

技术分享图片
val conf = new SparkConf().setMaster("local[6]")
val sc = new SparkContext(conf)
View Code
2、通过文件方式
技术分享图片
def rddCreateFiles(): Unit ={
    val rdd1 = sc.textFile("hdfs://node01:8020/spark/data/wordcount.txt")
    val rdd2 = sc.textFile("dataset/wordcount.txt")
  }
View Code

 

 

Spark_RDD

原文:https://www.cnblogs.com/hhjing/p/14319123.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!