算子总结
1.变换操作,包括过滤,变换,去重,排序,分区操作
filter过滤操作,无法触发重新分区
map,flatMap,flatMapValues,mapValues,mapPartitions,mapPartitionsWithIndex, mapPartitionsWithSplit,zip, zipwithIndex, zipwithUniqueId,reduceByKey
变换操作,默认不触发分区,如果希望重新分区可以第二个参数preservesPartitioning传True,map是一对一变换,flatMap是一对多变换
distinct 去重操作,默认不触发分区,如果希望重新分区可以第二个参数preservesPartitioning传True
sortBy,sortByKey 排序操作,必须变换分区,可以指定变换后的分区数
glom,coalesce,partitionBy,repartition 分区操作,coalesce重新分区,第二个参数指定是否shuffle,如果不shuffle,只是分区的简单合并。
2.rdd操作,包括合并,连接,分组,交并补,差集
join,fullOuterJoin,leftOuterJoin,rightOuterJoin 内连接,外连接 可以通过第二个参数指定分区个数
groupBy,groupByKey,groupWith 分组操作,可以通过第二个参数指定分区个数,第三个参数指定分区方式
intersection,subtract,subtractKey,union 交,差,并
3.操作,包括取数据,计算,和保存
take,sample,takeSample,top,head,first 读取数据
reduce,sum,stdev,sumApprox,variance,aggregate,fold,count 计算操作,count统计个数,sum求和,stdev 均值,variance方差 reduce,aggregate,fold都是自定义计算,fold相当于带有初值的reduce,aggregate不仅带初值,且结果和rdd元素类型不一致
saveAsTextFile,saveAsHadoopFile,saveAsSequenceFile,saveAsNewAPIHadoopFile 保存文件到本地或hadoop-fs中
Python语法拾遗
<style></style>>>> 2 if len(list)>1 else 3
2
python没有三目运算符,以上和三目运算符效果相同
<style></style>
>>> list = [1,2,3,4]
>>> [i*10 for i in list]
[10, 20, 30, 40]
集合的map操作
<style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style> <style></style>版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。