- 1. 连接本地spark
- 2. 创建dataframe
- 3. 查看字段类型
- 4. 查看列名
- 5. 查看行数
- 6. 重命名列名
- 7. 选择和切片筛选
- 8. 删除一列
- 增加一列
- 9. 转json
- 10. 排序
- 11. 缺失值
- 12. sparkDataFrame和python变量互转
1. 连接本地spark
import
2. 创建dataframe
# 从pandas dataframe创建spark dataframe
3. 查看字段类型
# 查看列的类型 ,同pandas
4. 查看列名
# 查看有哪些列 ,同pandas
5. 查看行数
# 行数
6. 重命名列名
# dataframe列名重命名
7. 选择和切片筛选
这个应该是dataframe最常用最重要的操作了。
# 1.列的选择
8. 删除一列
# 删除一列
增加一列
from
9. 转json
# dataframe转json,和pandas很像啊
10. 排序
# pandas的排序
11. 缺失值
# 1.生成测试数据
12. sparkDataFrame和python变量互转 在sparkSQL编程的时候,经常需要获取DataFrame的信息,然后python做其他的判断或计算,比如获取dataframe的行数以判断是否需要等待,获取dataframe的某一列或第一行信息以决定下一步的处理,等等。
(1)获取第一行的值,返回普通python变量
value = df.select('columns_name').first()[0]
# 由于 first() 返回的是 Row 类型,可以看做是dict类型,
# 在只有一列的情况下可以用 [0] 来获取值。
(2)获取第一行的多个值,返回普通python变量
row = df.select('col_1', 'col_2').first()
col_1_value = row.col_1
col_2_value = row.col_2
# first() 返回的是 Row 类型,可以看做是dict类型,用 row.col_name 来获取值
(3)获取一列的所有值,或者多列的所有值
rows= df.select('col_1', 'col_2').collect()
value = [[ row.col_1, row.col_2 ] for row in rows ]
# collect() 函数将分布式的dataframe转成local类型的 list-row 格式,
# 既然是row类型,就和前面的取值方法一样了