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. ARM和X86

    嵌入式简介汇总 脚本语言 编程语言 Java C# C ++ 汇编 机器语言 语言 Unix Linux Android + 塞班 + Windows + + + ios系统 基于unix内核的图形化 ...

  2. python--文件操作补充

    文件操作补充 f = open('file',encoding='utf-8')其中打开时不写模式默认只读f是文件句柄,文件操作符,不能使数字相当于content = f.read()content是 ...

  3. caffe搭建--ubuntu标准平台的搭建

    http://caffe.berkeleyvision.org/install_apt.html Ubuntu Installation General dependencies sudo apt-g ...

  4. C# Winform 中webBrowser显示html内容时禁止错误提示的方法

    在winform中有一个控件可以显示html的内容,该控件就是webbrowser,设置它的DocumenText属性为HTML的内容即可. 在使用WebBrowser做UI的时候,我们有时不希望里面 ...

  5. MongoDB的一些操作技巧

    去年三月底入职上海的一家互联网公司,由于项目使用的是MongoDB数据库所以有机会接触了MongoDB.在项目的开发过程中使用系统原有的一些方法查询MongoDB感觉很费力,用起来也不爽,所以私下里就 ...

  6. php pack()函数详解与示例

    pack和unpack在一般的程序中还真的不容易见到,但是如果你用过很久以前的php生成excel你就会知道了.他的excel的头就是pack出来的最近在尝试与C交互的时候又用上了这玩意,所以不得不再 ...

  7. C++基本数据类型及类型转换

    http://blog.csdn.net/pipisorry/article/details/25346379 c++基本数据类型 什么样的数据算是byte类型,int类型,float类型,doubl ...

  8. Ubuntu 13.10上用户怎样获得root权限,用户怎样获得永久root权限,假设配置root登录

    一.用户怎样获得root权限: 1. 进入terminal 2. 输入sudo  passwd root   并设置password,提示要你输入两次password.自己设定password,一定要 ...

  9. lateral inhibition

    http://www.indiana.edu/~p1013447/dictionary/lat_i.htm [This means that neighboring visual neurons re ...

  10. 在MFC中使用大漠插件

    打开Class Wizard,Add Class...->MFC Class From TypeLib... File->Location->>> Finish-> ...