算子总结

  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语法拾遗

  >>> 2 if len(list)>1 else 3

  2

  

  python没有三目运算符,以上和三目运算符效果相同

  

  

  >>> list = [1,2,3,4]

  >>> [i*10 for i in list]

  [10, 20, 30, 40]

  集合的map操作




















spark总结的更多相关文章

  1. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  2. Spark RDD 核心总结

    摘要: 1.RDD的五大属性 1.1 partitions(分区) 1.2 partitioner(分区方法) 1.3 dependencies(依赖关系) 1.4 compute(获取分区迭代列表) ...

  3. spark处理大规模语料库统计词汇

    最近迷上了spark,写一个专门处理语料库生成词库的项目拿来练练手, github地址:https://github.com/LiuRoy/spark_splitter.代码实现参考wordmaker ...

  4. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  5. Spark踩坑记——数据库(Hbase+Mysql)

    [TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...

  6. Spark踩坑记——初试

    [TOC] Spark简介 整体认识 Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架.最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apach ...

  7. Spark读写Hbase的二种方式对比

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 一.传统方式 这种方式就是常用的TableInputFormat和TableOutputForm ...

  8. (资源整理)带你入门Spark

    一.Spark简介: 以下是百度百科对Spark的介绍: Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方 ...

  9. Spark的StandAlone模式原理和安装、Spark-on-YARN的理解

    Spark是一个内存迭代式运算框架,通过RDD来描述数据从哪里来,数据用那个算子计算,计算完的数据保存到哪里,RDD之间的依赖关系.他只是一个运算框架,和storm一样只做运算,不做存储. Spark ...

  10. (一)Spark简介-Java&Python版Spark

    Spark简介 视频教程: 1.优酷 2.YouTube 简介: Spark是加州大学伯克利分校AMP实验室,开发的通用内存并行计算框架.Spark在2013年6月进入Apache成为孵化项目,8个月 ...

随机推荐

  1. js for循环中定义clike事件由于闭包导致的循环变量获取不到的问题

    在网上找的 记下来以备不时之需 案例; 本人有一个数组按钮  循环数组按钮 给每个按钮添加click事件 原本以为搞定但是出现了 每个按钮都是数组最后的方法 然后查找问题 发现onclike事件中的i ...

  2. vs2015 无法连接到已配置的开发web服务器

    问题一:vs2015 无法连接到已配置的开发web服务器 最靠谱方法如下:(和防火墙开启无关联, 注册表增加什么键值无关联 , 缺失asp.net core.Dll文件无关联 ) 分析,因为前提是你的 ...

  3. GRE配置教程——华为设备

    GRE隧道是通过隧道两端的Tunnel接口建立的,所以需要在隧道两端的设备上分别配置Tunnel接口.对于GRE的Tunnel接口,需要指定其协议类型为GRE.源地址或源接口.目的地址和Tunnel接 ...

  4. Skin Microstructure Deformation with Displacement Map Convolution项目小结

    经常有人问我你最近在干什么,但一句话真的很难说明白,最近两个月一直在尝试将Skin Microstructure Deformation with Displacement Map Convoluti ...

  5. v4l2框架

    参考:https://www.cnblogs.com/tuotuteng/p/4648387.html http://blog.sina.com.cn/s/blog_c91863e60102w65w. ...

  6. 必须学会git和maven

    转自: http://tieba.baidu.com/p/3458400116 很多人应该用过svn cvs之类的代码版本管理工具,git也是其中之一. svn和git最大的几个区别要点,svn必须要 ...

  7. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)解答

    我在使用mysqll客户端连接我的mysql服务器的时候,出现了上述的问题.我的操作系统是ubuntu,安装版本是对应的64位服务器.我的服务器的启动方式是sudo service mysql sta ...

  8. 4、hello world

    package com.ourteam.firstexample; import io.netty.bootstrap.ServerBootstrap;import io.netty.channel. ...

  9. 解决"Windows没有足够信息,不能验证该证书"问题

    https://jingyan.baidu.com/article/335530dae0eb2319ca41c378.html

  10. WordPress版微信小程序安装使用说明

    昨天在群里,有刚刚使用WordPress版微信小程序朋友,在问安装过程中的问题,这些问题是经常被问到,这至少说明两个问题: 1.我开发的程序安装和使用不够简易,无法通过简单的配置就可以使用,特别是如果 ...