Spark 教程

Spark SQL

Spark 笔记

Spark MLlib

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/spark-pyspark-iterating-each-row-in-dataframe.html

pyspark dataframe 如何遍历每一行数据

Spark DataFrame 原理及操作详解 Spark DataFrame 原理及操作详解


pyspark 针对 dataframe 如何遍历每一行数据?

推荐答案

可以先对 dataframe 对象进行 collect() 操作,它返回 <class 'list'> 类型,然后遍历 list 即可:

for row in df.collect():
    print(row.id, row.query)

上述中的 row 是 <class 'pyspark.sql.types.Row'> 类型,获取某列的值,可以直接访问,如 row.idrow['query']

完整的示例如下:

from pyspark.sql import SparkSession

spark_session = SparkSession.builder \
    .appName('knowledgedict-dataframe') \
    .master('local') \
    .getOrCreate()

df = spark_session.createDataFrame(
    schema=['id', 'query', 'cnt'],
    data=[
        (1, '北京房价', 3456),
        (2, '三亚旅游', 789),
        (3, '美国大选', 12)
    ]
)

df.show()

dfc = df.collect()
print(type(dfc))
for row in dfc:
    print(type(row), row, row.id, row['query'])

 

python 利用两层 with open as ... 语句,可以边一行一行读指定一个文件,处理后逐行写入另一个文件。 ...
大数据处理中,一般会要用到 spark 来进行大量离线计算后,对 mysql 进行读写操作,读操作可能在计算之前;这里列出 python 的 ...
pyspark 的 dataframe 对象数据获取行数和列数和 pandas 的 dataframe 的操作不同,它并没有 shape 属 ...
在Java中,`Vector`是一种线程安全的动态数组,可以存储和管理对象。###使用迭代器(Iterator)通过迭代器遍历是一种通用的方 ...
在Java中,层序遍历(也称为广度优先遍历)是一种遍历树或图的算法,它从树的根节点开始,逐层访问各个节点,确保同一层的节点都在下一层节点之前 ...