當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pyspark to_json用法及代碼示例

本文簡要介紹 pyspark.sql.functions.to_json 的用法。

用法:

pyspark.sql.functions.to_json(col, options=None)

將包含 StructTypeArrayTypeMapType 的列轉換為 JSON 字符串。如果類型不受支持,則會引發異常。

2.1.0 版中的新函數。

參數

col Column 或 str

包含結構、數組或映射的列的名稱。

options字典,可選

控製轉換的選項。接受與 JSON 數據源相同的選項。請參閱您使用的版本中的Data Source Option。此外,該函數支持 pretty 選項,該選項可以生成漂亮的 JSON。

例子

>>> from pyspark.sql import Row
>>> from pyspark.sql.types import *
>>> data = [(1, Row(age=2, name='Alice'))]
>>> df = spark.createDataFrame(data, ("key", "value"))
>>> df.select(to_json(df.value).alias("json")).collect()
[Row(json='{"age":2,"name":"Alice"}')]
>>> data = [(1, [Row(age=2, name='Alice'), Row(age=3, name='Bob')])]
>>> df = spark.createDataFrame(data, ("key", "value"))
>>> df.select(to_json(df.value).alias("json")).collect()
[Row(json='[{"age":2,"name":"Alice"},{"age":3,"name":"Bob"}]')]
>>> data = [(1, {"name": "Alice"})]
>>> df = spark.createDataFrame(data, ("key", "value"))
>>> df.select(to_json(df.value).alias("json")).collect()
[Row(json='{"name":"Alice"}')]
>>> data = [(1, [{"name": "Alice"}, {"name": "Bob"}])]
>>> df = spark.createDataFrame(data, ("key", "value"))
>>> df.select(to_json(df.value).alias("json")).collect()
[Row(json='[{"name":"Alice"},{"name":"Bob"}]')]
>>> data = [(1, ["Alice", "Bob"])]
>>> df = spark.createDataFrame(data, ("key", "value"))
>>> df.select(to_json(df.value).alias("json")).collect()
[Row(json='["Alice","Bob"]')]

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.sql.functions.to_json。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。