Spark的算子分为两类:
一类叫做Transformation(转换),延迟加载,它会记录元数据信息,当计算任务触发Action,才会真正开始计算;
一类叫做Action(动作);
一个算子会产生多个RDD
RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。
一、RDD创建方式
方式一:通过HDFS支持的文件系统系统创建,RDD里没有真正要计算的数据,只是记录了一下元数据
方式二:通过Scala集合或数组以并行化方式创建
二、RDD特点
1、一台机器上有多个分区;
2、一个函数会作用到一个分区;
3、RDD之间有一系列依赖;
4、如果是key-value类型,会有分区器;
5、RDD会有一个最佳位置;
三、RDD练习
val rdd1 = sc.parallelize(List(5,6,4,7,3,8,2,9,1,10))
val rdd2 = sc.parallelize(List(5,6,4,7,3,8,2,9,1,10)).map(*2).sortBy(x