PySpark DataFrame 的toJSON(~) 方法将DataFrame 转换为string-typed RDD。当提取RDD数据时,DataFrame的每一行将被转换为字符串JSON。请参阅下面的示例以进行说明。
参数
1. use_unicode | boolean
转换过程中是否使用unicode。默认情况下,use_unicode=True 。
返回值
MapPartitionsRDD 对象。
例子
考虑以下PySpark DataFrame:
df = spark.createDataFrame([["André", 20], ["Bob", 30], ["Cathy", 30]], ["name", "age"])
df.show()
+-----+---+
| name|age|
+-----+---+
|André| 20|
|  Bob| 30|
|Cathy| 30|
+-----+---+将 PySpark DataFrame 的第一行转换为字典
要将 PySpark DataFrame 的第一行转换为 string-encoded JSON:
df.toJSON().first()
'{"name":"André","age":20}'要将 string-encoded JSON 转换为本机 dict :
import json
json.loads(df.toJSON().first())
{'name': 'André', 'age': 20}将 PySpark DataFrame 转换为行对象列表(字典)
要将 PySpark DataFrame 转换为 string-encoded JSON 列表:
df.toJSON().collect()
['{"name":"André","age":20}',
 '{"name":"Bob","age":30}',
 '{"name":"Cathy","age":30}']要将 PySpark DataFrame 转换为本机 dict 列表:
df.toJSON().map(lambda str_json: json.loads(str_json)).collect()
[{'name': 'André', 'age': 20},
 {'name': 'Bob', 'age': 30},
 {'name': 'Cathy', 'age': 30}]这里:
- 
我们使用 RDD.map(~)方法在 RDD 的每个元素上应用自定义函数。
- 
我们的自定义函数将每个 string-encoded JSON 转换为 dict。
将 PySpark DataFrame 行转换为字符串 JSON 时禁用 unicode
默认情况下,启用 unicode:
df.toJSON().first()   # use_unicode=True
'{"name":"André","age":20}'要禁用 unicode,请设置 use_unicode=False :
df.toJSON(use_unicode=False).first()
b'{"name":"Andr\xc3\xa9","age":20}'相关用法
- Python Pandas DataFrame to_csv方法用法及代码示例
- Python PySpark DataFrame toDF方法用法及代码示例
- Python Pandas DataFrame to_period方法用法及代码示例
- Python Pandas DataFrame to_json方法用法及代码示例
- Python PySpark DataFrame toPandas方法用法及代码示例
- Python Pandas DataFrame to_timestamp方法用法及代码示例
- Python Pandas DataFrame to_numpy方法用法及代码示例
- Python Pandas DataFrame to_dict方法用法及代码示例
- Python Pandas DataFrame tz_convert方法用法及代码示例
- Python Pandas DataFrame tail方法用法及代码示例
- Python Pandas DataFrame transform方法用法及代码示例
- Python Pandas DataFrame truncate方法用法及代码示例
- Python Pandas DataFrame tz_localize方法用法及代码示例
- Python Pandas DataFrame truediv方法用法及代码示例
- Python Pandas DataFrame transpose方法用法及代码示例
- Python Pandas DataFrame tshift方法用法及代码示例
- Python Pandas DataFrame take方法用法及代码示例
- Python PySpark DataFrame tail方法用法及代码示例
- Python PySpark DataFrame transform方法用法及代码示例
- Python PySpark DataFrame take方法用法及代码示例
- Python Pandas DataFrame empty属性用法及代码示例
- Python Pandas DataFrame pop方法用法及代码示例
- Python Pandas DataFrame nsmallest方法用法及代码示例
- Python Pandas DataFrame sample方法用法及代码示例
- Python Pandas DataFrame items方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark DataFrame | toJSON method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
