当前位置: 代码迷 >> 综合 >> Spark dataframe 学习笔记
  详细解决方案

Spark dataframe 学习笔记

热度:93   发布时间:2023-11-11 01:19:14.0

Spark dataframe 学习笔记

前言

在处理PB级的数据时,有时候会使用到pyspark来分析数据,首先贴上官网链接
有问题先去官网看文档!

与pandas的操作对比

df['column1']
df.select('column1')
df.describe()
df.describe('column1','column2').show()
df.columns()
df.columns()
df.column.value_count()
df.groupBy(['column']).count().collect() #collect 为返回一行list
df.column.unique()
df.select('column').distinct().count()
df[df['column'] > 10]
df.filter(df.column > 10).collect()
df.drop_duplicate()
df.dropDuplicates(['name','age']).show()
df['test'].fillna(0)
df.na.fill(0).show()
df.na.fill({
    'age':20,'name':'unkown'}).show()

一些apply类似的操作
某一行全加10

df['age'] = df['age']+10
df.select(df.name, (df.age + 10).alias('age')).collect()

下面就不再列pandas对比了,后面慢慢补

df.agg({
    'age':'max'}).collect()
df.agg(F,min(df.age)).collect()dfs.filter(df.height.isNull()).collect()
dfs.filter(df.height.isNotNull()).collect()

map

相当于dataframe中的apply,可以对表中的每个元素进行操作

def mapFuction(num:Int):Int={num * num
}
val mapRDD = rdd.map(mapFuction)

也可以参考这篇文章,pands与spark的比较

  相关解决方案