pyspark.sql.functions.schema_of_json

pyspark.sql.functions. schema_of_json ( json : ColumnOrName , options : Optional [ Dict [ str , str ] ] = None ) → pyspark.sql.column.Column [source]

解析JSON字符串并推断其DDL格式的模式。

新增于版本 2.4.0。

在版本 3.4.0 中更改: 支持 Spark Connect。

Parameters
json or str

一个JSON字符串或一个包含JSON字符串的可折叠字符串列。

options dict, optional

控制解析的选项。接受与JSON数据源相同的选项。 请参阅您使用的版本的 数据源选项

版本 3.0.0 更改: 它接受 选项 参数来控制模式推断。

Returns

从给定JSON解析的 StructType 的字符串表示。

示例

>>> df = spark.range(1)
>>> df.select(schema_of_json(lit('{"a": 0}')).alias("json")).collect()
[Row(json='STRUCT<a: BIGINT>')]
>>> schema = schema_of_json('{a: 1}', {'allowUnquotedFieldNames':'true'})
>>> df.select(schema.alias("json")).collect()
[Row(json='STRUCT<a: BIGINT>')]