Spark入门(Python)--1.1 RDD基础

该系列spark学习笔记基于Python Spark.

RDD(弹性分布式数据集)是一个不可变的分布式对象集合,可以包含Python、Java、Scala中任意类型的对象,和用户自己定义的对象。

创建RDD有两种方式:1、读取外部数据集。2、在驱动器程序中对一个集合进行并行化。最简单的方式就是把程序中一个已经存在的集合传给SparkContext的parallelize()方法。这种方法适合在shell中快速创建RDD。

1:lines = sc.textFile(“D:/text”)

2:lines = sc.parallelize([“pandas”,”i like pandas”])

RDD编程支持两种操作:转化操作和行动操作。转化操作会由一个RDD生产一个新的RDD。行动操作会对RDD计算出一个结果,或把结果写入外部系统的操作,会实际触发的计算。转化操作会被惰性地执行,只有第一次在一个行动操作中用到的RDD才会被真正计算。如:转化操作filter会过滤RDD但是只有在执行行动操作后filter才会被真正的执行

示例:

pythonLines = lines.filter(lambda line:”Python” in line)

pythonLines.first()

filter操作只有在first操作执行的时候才会被执行。

区分两种操作的方式可以通过函数的返回值类型:转化操作返回的是RDD,行动操作返回的是其他的数据类型。

点赞