美文网首页
Spark入门(Python)--1.1 RDD基础

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

作者: 大尾巴狼呀 | 来源:发表于2017-04-14 17:38 被阅读0次

    该系列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,行动操作返回的是其他的数据类型。

    相关文章

      网友评论

          本文标题:Spark入门(Python)--1.1 RDD基础

          本文链接:https://www.haomeiwen.com/subject/hffgattx.html