博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark DataFrame
阅读量:5355 次
发布时间:2019-06-15

本文共 1613 字,大约阅读时间需要 5 分钟。

因为之后的项目要用Spark来做分布式处理,所以开始接触DataFrame

需要先安装pyspark

pip install pyspark

然后导入SparkSession

from pyspark.sql import SparkSession

然后实例化对象

spark=SparkSession.builder.getOrCreate()

或者

spark = SparkSession \    .builder \    .appName("Python Spark SQL basic example") \    .config("spark.some.config.option", "some-value") \    .getOrCreate()

接着读取json文件

df = spark.read.json("file:///root/hyq/people.json")

由于和服务器连接使用的软件是SecureCRT,在SecureCRT下怎样上传文件,在下

接着进行一系列操作:

1.展示

In [5]: df.show()+----+-------+| age|   name|+----+-------+|null|Michael||  30|   Andy||  19| Justin|+----+-------+

2.打印模式信息

In [7]: df.printSchema()root |-- age: long (nullable = true) |-- name: string (nullable = true)

3.选择多列

In [6]: df.select(df.name,df.age+1).show()+-------+---------+|   name|(age + 1)|+-------+---------+|Michael|     null||   Andy|       31|| Justin|       20|+-------+---------+

4.条件过滤

In [8]: df.filter(df.age > 20).show()+---+----+|age|name|+---+----+| 30|Andy|+---+----+

5.分组聚合

In [9]: df.groupBy("age").count().show()+----+-----+| age|count|+----+-----+|  19|    1||null|    1||  30|    1|+----+-----+

5.排序

In [10]: df.sort(df.age.desc()).show()+----+-------+| age|   name|+----+-------+|  30|   Andy||  19| Justin||null|Michael|+----+-------+

6.多列排序

In [12]: df.sort(df.age.desc(),df.name.asc()).show()+----+-------+| age|   name|+----+-------+|  30|   Andy||  19| Justin||null|Michael|+----+-------+

7.对列进行重命名

In [13]: df.select(df.name.alias("username"),df.age).show()+--------+----+|username| age|+--------+----+| Michael|null||    Andy|  30||  Justin|  19|+--------+----+

 

转载于:https://www.cnblogs.com/yqpy/p/9050638.html

你可能感兴趣的文章
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
[DLX精确覆盖+打表] hdu 2518 Dominoes
查看>>
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>
一个控制台程序,模拟机器人对话
查看>>
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)
查看>>
我的PHP学习之路
查看>>
【题解】luogu p2340 奶牛会展
查看>>
对PostgreSQL的 SPI_prepare 的理解。
查看>>
解决响应式布局下兼容性的问题
查看>>
使用DBCP连接池对连接进行管理
查看>>
【洛谷】【堆+模拟】P2278 操作系统
查看>>
hdu3307 欧拉函数
查看>>
Spring Bean InitializingBean和DisposableBean实例
查看>>
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>