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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。