根据给定的字段名称为 json 列创建新行。
Syntax
from pyspark.sql import functions as sf
sf.json_tuple(col, *fields)
参数
| 参数 | 类型 | Description |
|---|---|---|
col |
pyspark.sql.Column 或 str |
json 格式的字符串列。 |
fields |
str | 要提取的字段或字段。 |
退货
pyspark.sql.Column:json 对象中每个给定字段值的新行
例子
from pyspark.sql import functions as sf
data = [("1", '''{"f1": "value1", "f2": "value2"}'''), ("2", '''{"f1": "value12"}''')]
df = spark.createDataFrame(data, ("key", "jstring"))
df.select(df.key, sf.json_tuple(df.jstring, 'f1', 'f2')).collect()
[Row(key='1', c0='value1', c1='value2'), Row(key='2', c0='value12', c1=None)]