以列表 Row形式返回 DataFrame 中的所有记录。
Syntax
collect()
退货
list:对象列表,每个对象 Row 表示 DataFrame 中的一行。
备注
仅当生成的列表预期较小时,才应使用此方法,因为所有数据都加载到驱动程序的内存中。
示例
df = spark.createDataFrame([(14, "Tom"), (23, "Alice"), (16, "Bob")], ["age", "name"])
df.collect()
# [Row(age=14, name='Tom'), Row(age=23, name='Alice'), Row(age=16, name='Bob')]
df.filter(df.age > 15).collect()
# [Row(age=23, name='Alice'), Row(age=16, name='Bob')]
df.select("name").collect()
# [Row(name='Tom'), Row(name='Alice'), Row(name='Bob')]
from pyspark.sql.functions import upper
df.select(upper(df.name)).collect()
# [Row(upper(name)='TOM'), Row(upper(name)='ALICE'), Row(upper(name)='BOB')]
rows = df.collect()
[row["name"] for row in rows]
# ['Tom', 'Alice', 'Bob']
[row.asDict() for row in rows]
# [{'age': 14, 'name': 'Tom'}, {'age': 23, 'name': 'Alice'}, {'age': 16, 'name': 'Bob'}]