【Spark】Spark常用方法总结3-DataFrame常用方法(Python版本)

本文总结了Spark DataFrame在Python中的常用操作,包括创建、显示、创建虚拟表、过滤、连接和选择等关键方法。通过实例展示了如何使用这些方法进行数据处理,如`show()`、`createGlobalTempView()`、`filter()`/`where()`、`join()`及`distinct()`和`select()`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建

df1 = spark.read.load(r'E:\常用基础数据\po.csv', 'csv')

schema = StructType(
    fields=list(map(lambda x: StructField(x, StringType(), True), [chr(ord('A') + x) for x in range(10)])))
df1 = spark.read.load(r'E:\常用基础数据\po.csv', 'csv', schema=schema)

show

#默认是(n=20, truncate=True, vertical=False)
n显示多少条记录, truncate是否省略长度大于20的字符串, vertical竖向显示

df1.show(n=20, truncate=True, vertical=False)

创建虚拟表

创建

df1.createOrReplaceTempView('purchase_order1')
df1.createGlobalTempView('purchase_order2')
df1.createTempView('purchase_order3')

查询

df2 = spark.sql('select * from purchase_order1 limit 10')

createGlobalTempView需要加global_temp

df3 = spark.sql('select * from global_temp.purchase_order2 limit 10')
df4 = spark.sql('select * from purchase_order3 limit 10')

filter/where

df1.filter(df1.A == 1)
df1.filter('A = 1')

join

other – Right side of the join
on – a string for the join column name, a list of column names, a join expression (Column), or a list of Columns. If on is a string or a list of strings indicating the name of the join column(s), the column(s) must exist on both sides, and this performs an equi-join.
how – str, default inner. Must be one of: inner, cross, outer, full, full_outer, left, left_outer, right, right_outer, left_semi, and left_anti.

join_df = df3.join(other=df4, on=(df3.H == df4.B), how='left_outer')
join_df = join_df.filter('fc.A is null')

distinct

buyer_names = df3.select(df3.D)
34693
print(buyer_names.count())
173
print(buyer_names.distinct().count())

select

a_col = df3.select(df3['A'])
a_col = df3.select((df3['A'] * 100).alias('test'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值