spark数据分析

首先要运行spark,加载 py4j,执行shell.py  初始化 spark sc(SparkContext)

spark数据分析

spark数据分析

编写处理rdd的代码
代码分两类
一类叫driver的代码  driver只有一个
一类叫worker的代码  worker有多个
worker的代码有两类算子(操作operate)
变换 transformation 懒执行 map flatMap groupByKey reduceByKey 遇到 count take collect才执行

行为 actions 立即执行

map()函数需要一个参数,参数是一个函数,简单理解:将RDD的每一个元素取出,分别通过这个函数变换之后,返回一个新的RDD。这里使用匿名函数(lambda),给RDD每一个元素执行加一的变换,但不会改变元素的个数


flatmap () 传入的函数的返回值一定要是可迭代的对象(比如元组、集合、列表等)

简单理解:对RDD每一个元素执行函数变换,返回一个迭代器,最后展平结果,会改变元素的个数


filter 筛选:参数同样是一个函数,作用是过滤元素

执行过程:将RDD每一个元素执行你书写的条件判断语句,只有结果为True才返回


reduce()参数是一个函数,这个函数有两个参数(首先会分区(默认分区数量与虚拟机的核心数有关,我的是2),然后每个分区得出结果最后汇总),两个参数分别是每次分区后两个分区的结果

reduceByKey 处理元素里的value  transformation

spark数据分析

spark数据分析

spark数据分析

spark数据分析


spark数据分析