概述
Spark编程实战
一,RDD
- RDD:resilient distributed dataset
- RDD两种基本操作:Transformation;Action
二,Transformation
- filter()
- map()
- mapValue():key不变,value变成func(value)
- mapPartitions()
- mapPartitionsWithIndex()
- flatMap():与map()的区别是,可以使转化之后的rdd的element数量改变,将转化变成的二维,再展平,平铺成一维
- flatMapValue()
- sample()
- distinct()
- union():允许重复值,也因此开销比distinct()小
- intersection()
- substract()
- substractByKey()
- cartesian()
- join()
- groupByKey()
- reduceByKey()
- combineByKey()
- aggregateByKey()
- sortByKey()
- cogroup()
- pipe()
- coalesce()
- repatitions()
- repatitionsAndSortWithinPartitions()
- keys()
- values()
三,Action
- first()
- count()
- countByKey()
- countByValue()
- take()
- takeOrdered()
- takeSample()
- top()
- collect():检索整个RDD
- saveAsTextFile():
- saveAsSequenceFile()
- saveAsObjectFile()
- reduce()
- fold()
- aggregate()
- foreach()
- mean() 针对特定类型才能用,数值型数据
- variance() 针对特定类型数据才能用,比如数值型数据
- lookup()
四,Spark for python
- 交互式编程:./bin/pyspark
五,Lazy Evaluation for Transformation
六,Lazy Compution for Action
七,Persist RDD
- 滞留RDD旨在在多次使用的使用避免重复创建RDD
- 不同的场景使用不同的StorageLevel
- python通常先序列化需要persist的数据,这些数据作为pickled Object 存在JVM heap
八,SparkConf(),SparkContext()
from pyspark import SparkConf,SparkContext
conf=SparkConf().setMaster("local").setAppName("my app")
sc=SparkContext(conf=conf)
- sc.textFile(‘path’)
- sc.paralelize()
九,pairsRDD
十,partition
- 在join等操作前面对较大dataset用partitionBy(),可以避免这些数据shuffle,从而显著提升速度
- map有可能改变key值,所以用partitionBy()也可能不起作用
最后
以上就是包容摩托为你收集整理的大数据存储与处理--Spark编程Spark编程实战的全部内容,希望文章能够帮你解决大数据存储与处理--Spark编程Spark编程实战所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复