from pyspark.sql import SparkSession
spark = SparkSession.Builder().master('local').appName('pysparkSqlRow').getOrCreate()
Row
DataFrame中的一行,可以像屬性和字典一樣訪問其中的字段
# 1. 通過Row創建
from pyspark.sql import Row
row = 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