当前位置: 代码迷 >> 综合 >> pyspark入门系列 - 05 pyspark.sql.Row函数汇总
  详细解决方案

pyspark入门系列 - 05 pyspark.sql.Row函数汇总

热度:57   发布时间:2023-10-11 11:40:20.0
from pyspark.sql import SparkSession
spark = SparkSession.Builder().master('local').appName('pysparkSqlRow').getOrCreate()

Row

DataFrame中的一行,可以像属性和字典一样访问其中的字段

# 1. 通过Row创建
from pyspark.sql import Rowrow = Row(name='Tom', age=15)
row
Row(age=15, name='Tom')

asDict(recursive)

将Row对象中的字段按照字典格式返回

recursive:将嵌套的Row转换为字典(默认为False)

row_dict = row.asDict()
row_dict
{'age': 15, 'name': 'Tom'}
row1 = Row(key=1, value=Row(name='Tom', age=12))
row1
Row(key=1, value=Row(age=12, name='Tom'))
row1.asDict(recursive=True)  # recursive=True 将
{'key': 1, 'value': {'age': 12, 'name': 'Tom'}}
row1.asDict(recursive=False)
{'key': 1, 'value': Row(age=12, name='Tom')}

附上官方文档的连接:http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.Row