1 spark的python环境部署可以参照上面一篇哟。http://www.cnblogs.com/lanjianhappy/p/8705974.html

2 pyspark的基本操作。

 # coding:utf-8
from pyspark import SparkContext, SparkConf sc = SparkContext()#init contet
intRDD = sc.parallelize([3,1,2,5,5])#create RDD
stringRDD = sc.parallelize(['apple','orange','yellow'])
print intRDD.collect()#transfrom to python
print stringRDD.collect()
#每个元素+1
print intRDD.map(lambda x:x+1).collect()#4,2,3,6,6
#输出小于3
print intRDD.filter(lambda x:x<3).collect()#print number<3 in RDD
print stringRDD.filter(lambda x:'ra' in x).collect()#print contain 'ra' print intRDD.distinct().collect()
#奇数偶数分开
result = intRDD.groupBy(lambda x:x%2).collect()
print sorted([(x,sorted(y)) for(x,y) in result]) #多个RDD并集
intRDD1 = sc.parallelize([3,1,2,3,5])
intRDD2 = sc.parallelize([8,2,1,9,5])
intRDD3 = sc.parallelize([7,1,3,4,7])
print intRDD1.union(intRDD2).union(intRDD3).collect() #交集
print intRDD1.intersection(intRDD2) #差集
print intRDD1.subtract(intRDD2) #笛卡尔集
print intRDD1.cartesian(intRDD2).collect()#返回10个元素 #读取元素
#取第一条数据
print intRDD.first()
#取前两条数据
print intRDD.take(2)
#升序排列,并取前3条数据
print intRDD.takeOrdered(3)
#降序排列,并取前3条数据
print intRDD.takeOrdered(3,lambda x:-x) #统计功能 min max stdev count sum mean
print intRDD.stats() #转换操作
kvRDDW1 = sc.parallelize([(1,2),(3,4),(5,6),(7,8)])
#分别得到keys values
print kvRDDW1.keys().collect()#1 3 5 7
print kvRDDW1.values().collect()#2 4 6 8 #筛选元素 筛选小于5的数据 x[0]按照值 x[1]按照键
print kvRDDW1.filter(lambda x:x[0]<5).collect()
print kvRDDW1.filter(lambda x:x[1]<5).collect()
#值运算 mapvalues处理value
print kvRDDW1.mapValues(lambda x:x**2).collect() #按照key排序
print kvRDDW1.sortByKey().collect()
print kvRDDW1.sortByKey(True).collect()
print kvRDDW1.sortByKey(False).collect()#倒序 #对具有相同key的进行合并
print kvRDDW1.reduceByKey(lambda x,y:x+y).collect() #多个RDD相同的key进行内连接
kvRDD1 = sc.parallelize([(3,4),(3,6),(5,6),(1,2)])
kvRDD2 = sc.parallelize([(3,8)])
print kvRDD1.join(kvRDD2).collect()#[(3, (4, 8)), (3, (6, 8))] #key值统计
print kvRDD1.countByKey().collect()
#lookup 根据key查找对应的value
print kvRDD1.lookup(3)

加油!

2 pyspark学习----基本操作的更多相关文章

  1. Docker 学习基本操作与守护式容器

    Docker 学习基本操作与守护式容器 容器操作 运行容器 docker run --name指定名字 -istdin -ttty虚拟终端 在终端中用 exit 即可退出容器,并结束运行 查看容器 p ...

  2. 5 pyspark学习---Broadcast&Accumulator&sparkConf

    1 对于并行处理,Apache Spark使用共享变量.当驱动程序将任务发送给集群上的执行者时,集群中的每个节点上都有一个共享变量的副本,这样就可以用于执行任务了. 2 两种支持得类型 (1)Broa ...

  3. 4 pyspark学习---RDD

    开始新的东西,其实很多操作在第二篇的时候就有所介绍啦.在这里继续学习一遍加深一下印象. 1关于RDD (1) RDD-----Resilient Distributed Dataset,弹性分布式数据 ...

  4. Neo4j学习——基本操作(一)

    由于开始学习知识图谱,因此需要涉及到neo4j的使用一.介绍neo4j是一个图形数据库基于Java开发而成,因此需要配置jvm才可以运行配置请参考我前面的一篇blog:https://www.cnbl ...

  5. 关于embedding-深度学习基本操作 【Word2vec, Item2vec,graph embedding】

    https://zhuanlan.zhihu.com/p/26306795 https://arxiv.org/pdf/1411.2738.pdf https://zhuanlan.zhihu.com ...

  6. 3 pyspark学习---sparkContext概述

    1 Tutorial Spark本身是由scala语言编写,为了支持py对spark的支持呢就出现了pyspark.它依然可以通过导入Py4j进行RDDS等操作. 2 sparkContext (1) ...

  7. pyspark学习笔记

    记录一些pyspark常用的用法,用到的就会加进来 pyspark指定分区个数 通过spark指定最终存储文件的个数,以解决例如小文件的问题,比hive方便,直观 有两种方法,repartition, ...

  8. pyspark 学习笔记

    from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python Spark S ...

  9. C++ 学习路线推荐

        相信有非常大一部分学计算机的童鞋都是靠自学,即使本身是计算机专业的同学,也会认为只通过课堂上的学习是远远不够的,并且在上课时所用到的教材也不够好.然而自学的时候有个非常大的问题就是找不到合适的 ...

随机推荐

  1. D堆的实现

    实现上一篇博客(http://blog.csdn.net/buleriver/article/details/38469977)说的D堆.假设把mD设置成2.D堆就退化成二叉堆,也就是说.二叉堆是D堆 ...

  2. PADS的历史版本

    1986年:PADS PCB,DOS操作系统 1989年:PADS Logic,DOS操作系统 1990年:PADS 2000,DOS操作系统 1993年:PADS Perform,DOS和Windo ...

  3. Swift的两个小窍门

    一:查看Swift版本号(How do I see which version of Swift I’m using in Xcode?) 终端下输入:xcrun swift -version(in ...

  4. 自动提交form表单

    <form class="form-inline" name='MD5form' method="post" action="<?php ...

  5. EF架构~终于自己架构了一个相对完整的EF方案

    EF4.1学了有段时间了,没有静下来好好研究它的架构,今天有空正好把它的架构及数据操作这段拿出来,希望给大家带来帮助,对我自己也是一种总结:P 从图中可以看到,我们用的是MVC3进行程序开发的,哈哈, ...

  6. SpringInAction4笔记——复习

    由于目前只做后端的业务代码的开发,所以根据自己掌握的熟悉程度,只需要复习几个模块即可 重点看的是核心容器(IOC),redis,缓存,消息(主要是rabbitmq),事务,springboot,单元测 ...

  7. tornado之模板扩展

    当我们有多个模板的时候,很多模板之间其实相似度很高.我们期望可以重用部分网页代码.这在tornado中可以通过extends语句来实现.为了扩展一个已经存在的模板,你只需要在新的模板文件的顶部放上一句 ...

  8. Linux就该这么学--命令集合3(文本文件编辑命令)

    1.cat命令查看纯文本文件(较短):(cat [选项] [文件]) cat -n showpath.sh 附录: -n 显示行号 -b 显示行号(不包括空行) -A 显示出“不可见”的符号,如空格, ...

  9. WIN7系统设置wifi

    *&->20170302 112700 WIN7系统设置wifi, 开启win7的隐藏功能,即虚拟wifi功能和虚拟无线AP功能,即可实现将电脑变成wifi 供无线上网, 1.开始-命令 ...

  10. 简述arp协议的工作原理

    在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如: 我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例.当发送数据 ...