2 pyspark学习----基本操作
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学习----基本操作的更多相关文章
- Docker 学习基本操作与守护式容器
Docker 学习基本操作与守护式容器 容器操作 运行容器 docker run --name指定名字 -istdin -ttty虚拟终端 在终端中用 exit 即可退出容器,并结束运行 查看容器 p ...
- 5 pyspark学习---Broadcast&Accumulator&sparkConf
1 对于并行处理,Apache Spark使用共享变量.当驱动程序将任务发送给集群上的执行者时,集群中的每个节点上都有一个共享变量的副本,这样就可以用于执行任务了. 2 两种支持得类型 (1)Broa ...
- 4 pyspark学习---RDD
开始新的东西,其实很多操作在第二篇的时候就有所介绍啦.在这里继续学习一遍加深一下印象. 1关于RDD (1) RDD-----Resilient Distributed Dataset,弹性分布式数据 ...
- Neo4j学习——基本操作(一)
由于开始学习知识图谱,因此需要涉及到neo4j的使用一.介绍neo4j是一个图形数据库基于Java开发而成,因此需要配置jvm才可以运行配置请参考我前面的一篇blog:https://www.cnbl ...
- 关于embedding-深度学习基本操作 【Word2vec, Item2vec,graph embedding】
https://zhuanlan.zhihu.com/p/26306795 https://arxiv.org/pdf/1411.2738.pdf https://zhuanlan.zhihu.com ...
- 3 pyspark学习---sparkContext概述
1 Tutorial Spark本身是由scala语言编写,为了支持py对spark的支持呢就出现了pyspark.它依然可以通过导入Py4j进行RDDS等操作. 2 sparkContext (1) ...
- pyspark学习笔记
记录一些pyspark常用的用法,用到的就会加进来 pyspark指定分区个数 通过spark指定最终存储文件的个数,以解决例如小文件的问题,比hive方便,直观 有两种方法,repartition, ...
- pyspark 学习笔记
from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python Spark S ...
- C++ 学习路线推荐
相信有非常大一部分学计算机的童鞋都是靠自学,即使本身是计算机专业的同学,也会认为只通过课堂上的学习是远远不够的,并且在上课时所用到的教材也不够好.然而自学的时候有个非常大的问题就是找不到合适的 ...
随机推荐
- ARM和X86
嵌入式简介汇总 脚本语言 编程语言 Java C# C ++ 汇编 机器语言 语言 Unix Linux Android + 塞班 + Windows + + + ios系统 基于unix内核的图形化 ...
- python--文件操作补充
文件操作补充 f = open('file',encoding='utf-8')其中打开时不写模式默认只读f是文件句柄,文件操作符,不能使数字相当于content = f.read()content是 ...
- caffe搭建--ubuntu标准平台的搭建
http://caffe.berkeleyvision.org/install_apt.html Ubuntu Installation General dependencies sudo apt-g ...
- C# Winform 中webBrowser显示html内容时禁止错误提示的方法
在winform中有一个控件可以显示html的内容,该控件就是webbrowser,设置它的DocumenText属性为HTML的内容即可. 在使用WebBrowser做UI的时候,我们有时不希望里面 ...
- MongoDB的一些操作技巧
去年三月底入职上海的一家互联网公司,由于项目使用的是MongoDB数据库所以有机会接触了MongoDB.在项目的开发过程中使用系统原有的一些方法查询MongoDB感觉很费力,用起来也不爽,所以私下里就 ...
- php pack()函数详解与示例
pack和unpack在一般的程序中还真的不容易见到,但是如果你用过很久以前的php生成excel你就会知道了.他的excel的头就是pack出来的最近在尝试与C交互的时候又用上了这玩意,所以不得不再 ...
- C++基本数据类型及类型转换
http://blog.csdn.net/pipisorry/article/details/25346379 c++基本数据类型 什么样的数据算是byte类型,int类型,float类型,doubl ...
- Ubuntu 13.10上用户怎样获得root权限,用户怎样获得永久root权限,假设配置root登录
一.用户怎样获得root权限: 1. 进入terminal 2. 输入sudo passwd root 并设置password,提示要你输入两次password.自己设定password,一定要 ...
- lateral inhibition
http://www.indiana.edu/~p1013447/dictionary/lat_i.htm [This means that neighboring visual neurons re ...
- 在MFC中使用大漠插件
打开Class Wizard,Add Class...->MFC Class From TypeLib... File->Location->>> Finish-> ...