📅  最后修改于: 2023-12-03 14:49:18.924000             🧑  作者: Mango
在 PySpark 中,我们可以使用一些简单的命令从 DataFrame 中提取出第一行和最后 N 行。
使用 PySpark DataFrame 的 first()
方法可以很轻松地提取出第一行数据。
first_row = df.first()
执行以上代码后,first_row
变量中将包含 DataFrame 的第一行数据。
使用 PySpark DataFrame 的 tail()
方法可以很轻松地提取出最后 N 行数据。
last_n_rows = df.tail(N)
将 N
替换为要提取的行数。执行以上代码后,last_n_rows
变量中将包含 DataFrame 的最后 N 行数据。
以下是完整的示例代码,对 PySpark DataFrame 的第一行和最后 N 行进行提取。
from pyspark.sql import SparkSession
# 初始化 SparkSession
spark = SparkSession.builder.appName('extract_rows').getOrCreate()
# 创建示例 DataFrame
data = [(1, 'John'), (2, 'Anna'), (3, 'Mike'), (4, 'Mary'), (5, 'David')]
columns = ['id', 'name']
df = spark.createDataFrame(data, columns)
# 提取第一行
first_row = df.first()
print('第一行数据:', first_row)
# 提取最后 3 行
last_3_rows = df.tail(3)
print('最后 3 行数据:')
for row in last_3_rows:
print(row)
输出结果将如下所示:
第一行数据: (1, 'John')
最后 3 行数据:
(3, 'Mike')
(4, 'Mary')
(5, 'David')
可以看到,我们成功地从 PySpark DataFrame 中提取了第一行和最后 3 行数据。