spark数据分析
首先要运行spark,加载 py4j,执行shell.py 初始化 spark sc(SparkContext)
编写处理rdd的代码
代码分两类
一类叫driver的代码 driver只有一个
一类叫worker的代码 worker有多个
worker的代码有两类算子(操作operate)
变换 transformation 懒执行 map flatMap groupByKey reduceByKey 遇到 count take collect才执行
行为 actions 立即执行
map()函数需要一个参数,参数是一个函数,简单理解:将RDD的每一个元素取出,分别通过这个函数变换之后,返回一个新的RDD。这里使用匿名函数(lambda),给RDD每一个元素执行加一的变换,但不会改变元素的个数
flatmap () 传入的函数的返回值一定要是可迭代的对象(比如元组、集合、列表等)
简单理解:对RDD每一个元素执行函数变换,返回一个迭代器,最后展平结果,会改变元素的个数
执行过程:将RDD每一个元素执行你书写的条件判断语句,只有结果为True才返回
reduceByKey 处理元素里的value transformation