spark学习笔记6

原创 2018年04月16日 10:42:54

pyspark.sql.DataFrame对象的方法

aggr=sparkdf.agg({"a":"max","b":"min"}) #对列的聚合操作
print aggr.collect()

print sparkdf.approxQuantile('a',[0.25,0.5,0.75],0) #对某列求分位数,只是近似值

print sparkdf.colRegex("\w+") #spark version 2.3 选择列名符合正则表达式的列

print sparkdf.columns #列名列表
print sparkdf.corr('a','b') #求两列相关系数
print sparkdf.count() #求总行数
print sparkdf.cov('a','b') #求两列的协方差

sparkdf.createOrReplaceTempView("people")  #为df创建一个视图
print spark.sql("select * from people").collect()

print sparkdf.crosstab('a','b').collect() #求两列的交叉表,值是记录的条数

print sparkdf.describe(['a','b']).collect() #求某些列的信息,计数、最大值、最小值、平均值、标准差

sparkdf.distinct().show() #删除重复行
sparkdf.drop(['a']).show() #删除a列
sparkdf.dropDuplicates(['a','b']).show() #删除重复行,只考虑某些列的重复

sparkdf.dropna().show() #删除包含空值的行
print sparkdf.dtypes

sparkdf.fillna(0).show() #用某值填充空值
sparkdf.filter('a > 1').show() #按条件筛选某些行
sparkdf.where('a > 1').show() #按条件筛选某些行
print sparkdf.first() #只能取一行 不能加参数取多行!
print sparkdf.head(10) #取前几行

def func(x):
    print x.a
print sparkdf.foreach(func) #对每一行操作,但是返回值的总是个None不知道为什么这样设计

print sorted(sparkdf.groupBy('a').agg({'b': 'mean'}).collect()) #先按a列分组,再对b列求均值

sparkdf.intersect(sparkdf).show() #求两个df的交集

sparkdf1 = sparkdf.alias('sparkdf1') #给df一个别名
sparkdf.join(sparkdf1, sparkdf.a == sparkdf1.a, 'outer').show() #同sql里的join操作

sparkdf.limit(1).show() #限制只取前几行

sparkdf.orderBy("a", ascending=False).show() #按照a列降序排

sparkdf.replace(2,200).show() #把值当中所有的2,替换成200

print sparkdf.sample(withReplacement=True, fraction=0.5, seed=3).collect() #有放回抽样
print sparkdf.sampleBy("a", fractions={0: 0.1, 1: 0.2}, seed=0).collect() #按a列分层抽样

print sparkdf.select('*').collect() #选择所有列
print sparkdf.select('a', 'b').collect() #选择某些列
print sparkdf.selectExpr("a * 2", "abs(b)").collect() #选择某些列,并进行运算

#print sparkdf.sort(sparkdf.a.desc(),sparkdf.b.desc()).collect() #按a列降序,b列降序排
print sparkdf.subtract(otherdf) #返回sparkdf中不在otherdf中的行
sparkdf.summary() #version 2.3 才有,返回比describe更多的信息
sparkdf.withColumn('a2', df.a + 2).collect() #用已有列经过运算生成新列

Spark学习笔记 --- Spark中的Shuffle

Spark学习笔记 --- Spark中的Shuffle
  • u012965373
  • u012965373
  • 2017-03-09 10:56:43
  • 353

Spark学习笔记总结-超级经典总结

Spark简介      spark 可以很容易和yarn结合,直接调用HDFS、Hbase上面的数据,和hadoop结合。配置很容易。      spark发展迅猛,框架比hadoop更加灵活实...
  • Happy_wu
  • Happy_wu
  • 2017-11-27 23:42:25
  • 406

spark学习笔记

  • 2017年11月02日 00:41
  • 13.77MB
  • 下载

【机器学习-斯坦福】学习笔记6 - 朴素贝叶斯

本次课程大纲: 1、 朴素贝叶斯 - 朴素贝叶斯事件模型 2、 神经网络(简要) 3、 支撑向量机(SVM)铺垫 – 最大间隔分类器...
  • maverick1990
  • maverick1990
  • 2013-11-14 12:41:37
  • 4984

spark学习笔记总结

Spark简介 spark 可以很容易和yarn结合,直接调用HDFS、Hbase上面的数据,和hadoop结合。配置很容易。 spark发展迅猛,框架比hadoop更加灵活实用。减少了延时处理,...
  • silentwolfyh
  • silentwolfyh
  • 2016-06-03 15:06:35
  • 1217

spark应用开发---Spark学习笔记6

如何部署和开发一个spark应用程序呢? 首先要选好环境,我用的是incubator-spark-0.8.1-incubating,那么对应的是scala版本是2.9.3。 如果使用maven或者sb...
  • u014388509
  • u014388509
  • 2014-04-03 00:05:54
  • 3304

Spark2.x学习笔记:3、 Spark核心概念RDD

Spark学习笔记:第3章 Spark核心概念RDD3.1 RDD概念弹性分布式数据集(Resilient Distributed Datasets,RDD) ,可以分三个层次来理解: 数据集:故名思...
  • chengyuqiang
  • chengyuqiang
  • 2017-08-30 16:01:59
  • 923

Spark简单案例实战

Spark简单案例实战 一.给定一组键值对(“spark”,2),(“hadoop”,6),(“hadoop”,4),(“spark”,6)键值对的key表示图书名称,value表示每天图书销量...
  • liu16659
  • liu16659
  • 2018-04-09 10:13:16
  • 28

Java JDK 6学习笔记.zip

  • 2008年09月25日 12:03
  • 2.71MB
  • 下载

Spark2.x学习笔记:2、Scala简单例子

Spark学习笔记2:Spark2.2伪分布式模式2.1 安装JDK8在前一节http://blog.csdn.net/chengyuqiang/article/details/77671748我们已...
  • chengyuqiang
  • chengyuqiang
  • 2017-08-29 15:15:08
  • 1409
收藏助手
不良信息举报
您举报文章:spark学习笔记6
举报原因:
原因补充:

(最多只允许输入30个字)