美文网首页
spark笔记:常见的RDD操作(python)

spark笔记:常见的RDD操作(python)

作者: Liping7 | 来源:发表于2019-04-22 17:43 被阅读0次

参考图灵程序设计丛书,Spark快速大数据分析一书

1.从外部读取数据创建RDD

lines = sc.textFile("/path/to/README.md")

2.转化操作和行动操作

转化操作:返回一个新的RDD操作,如map()和fliter(),返回值是RDD。所有的转化操作都是惰性求职,在被调用行动操作之前不会开始计算。

行动操作:向驱动器程序返回结果或者把结果写入外部系统的操作,会触发实际的计算,比如count()和first(),返回值是其他数据类型。

3.对单个RDD的转化操作

对1个数据为{1,2,3,3}的RDD进行操作

nums = sc.parallelize([1,2,3,3])

(1) map():对每个元素运用一个函数,返回值构成新的RDD

out =  nums.map(lambda x: x+1)

结果{2,3,4,4}

(2) fliter():返回一个传给fliter()的函数元素构成的RDD

out = nums.fliter(lambda x: x != 1)

结果{2,3,3}

(3) distinct():去重

out = nums.distinct()

结果{1,2,3}

(4)sample(withRepalcement,fraction,[seed]) :采样,以及是否替换

out = nums.sample(false,0.5)

结果不确定

4.对两个RDD的转化操作

两个RDD分别为nums{1,2,3}和other{3,4,5}

(1)union():生成1个RDD包含2个RDD的所有元素

out = nums.union(other)

结果{1,2,3,3,4,5}

(2)intersection():求两个RDD共同元素的RDD

out = nums.intersection(other)

结果{3}

(3)intersection():求两个RDD共同元素的RDD

out = nums.intersection(other)

结果{3}

(4)substract():移除其中另一个RDD的内容

out = nums.substract(other)

结果{1,2}

(5)cartesian():两个RDD的笛卡尔乘积

out = nums.cartesian(other)

结果{(1,3),(1,4),……(3,5)}

5.对一个RDD的基本动作操作

对1个数据为{1,2,3,3}的RDD进行操作

(1)collect():返回RDD中的所有元素

nums.collect()  #最好不要用,除非你的RDD非常小

结果{1,2,3,3}

(2)count():RDD中的元素个数

nums.count()  

结果 4

(3)countbyvalue():RDD中各个元素及其出现的次数

nums.countbyvalue()

结果{(1,1),(2,1),(3,2)}

(4)top(2):RDD中最前面的两个元素
nums.top(2)

结果{1,2}

(5)reduce(func):并行整合RDD中所有的数据(如sum)

nums.reduce(lambda x,y: x+y)

结果9

(6)aggregate(func):和reduce相似,通常返回不同类型的函数

(7)foreach(func):对RDD每个元素使用给定的元素

相关文章

  • spark笔记:常见的RDD操作(python)

    参考图灵程序设计丛书,Spark快速大数据分析一书 1.从外部读取数据创建RDD lines = sc.textF...

  • Spark08 RDD KV数据

    键值对 RDD 是 Spark 中许多操作所需要的常见数据类型。Spark 为包含简直对类型的 RDD 提供了一些...

  • Spark RDD Api使用指南

    ​ 在Spark快速入门-RDD文章中学了spark的RDD。spark包含转换和行动操作。在进行spark程...

  • 3.Spark学习(Python版本):Spark RDD编程基

    Spark中针对RDD的操作包括创建RDD、RDD转换操作和RDD行动操作。 Step1. 启动HDFS和Spar...

  • Spark Architecture

    OReilly.Learning.Spark 学习笔记 Spark里所有操作都是对RDD来的。分为两种 1. Tr...

  • RDD详解

    RDD基本操作(引用) 1、RDD是什么 RDD:Spark的核心概念是RDD (resilientdistrib...

  • Spark API - RDD

    转摘地址: Spark笔记:RDD基本操作(上) RDD本质就是一个数组,因此构造数据时候使用的是List(链表)...

  • 6.spark core之键值对操作

      键值对RDD(pair RDD)是spark中许多操作所需要的常见数据类型,通常用来进行聚合计算。 创建Pai...

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

    该系列spark学习笔记基于Python Spark. RDD(弹性分布式数据集)是一个不可变的分布式对象集合,可...

  • Spark笔记:RDD基本操作(上)

    本文主要是讲解spark里RDD的基础操作。RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据...

网友评论

      本文标题:spark笔记:常见的RDD操作(python)

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