📜  从 PySpark DataFrame 中提取第一行和最后 N 行(1)

📅  最后修改于: 2023-12-03 14:49:18.924000             🧑  作者: Mango

从 PySpark DataFrame 中提取第一行和最后 N 行

在 PySpark 中,我们可以使用一些简单的命令从 DataFrame 中提取出第一行和最后 N 行。

提取第一行

使用 PySpark DataFrame 的 first() 方法可以很轻松地提取出第一行数据。

first_row = df.first()

执行以上代码后,first_row 变量中将包含 DataFrame 的第一行数据。

提取最后 N 行

使用 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 行数据。