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