本文简要介绍
pyspark.sql.functions.from_json
的用法。用法:
pyspark.sql.functions.from_json(col, schema, options=None)
将包含 JSON 字符串的列解析为以
StringType
作为键类型的MapType
、具有指定架构的StructType
或ArrayType
。在不可解析字符串的情况下返回null
。2.1.0 版中的新函数。
- col:
Column
或 str json格式的字符串列
- schema:
DataType
或 str 解析 json 列时使用的 StructType 或 ArrayType 或 StructType。
在 2.3 版中更改:DDL 格式的字符串也支持
schema
.- options:字典,可选
控制解析的选项。接受与 json 数据源相同的选项。请参阅您使用的版本中的Data Source Option。
- col:
参数:
例子:
>>> from pyspark.sql.types import * >>> data = [(1, '''{"a": 1}''')] >>> schema = StructType([StructField("a", IntegerType())]) >>> df = spark.createDataFrame(data, ("key", "value")) >>> df.select(from_json(df.value, schema).alias("json")).collect() [Row(json=Row(a=1))] >>> df.select(from_json(df.value, "a INT").alias("json")).collect() [Row(json=Row(a=1))] >>> df.select(from_json(df.value, "MAP<STRING,INT>").alias("json")).collect() [Row(json={'a': 1})] >>> data = [(1, '''[{"a": 1}]''')] >>> schema = ArrayType(StructType([StructField("a", IntegerType())])) >>> df = spark.createDataFrame(data, ("key", "value")) >>> df.select(from_json(df.value, schema).alias("json")).collect() [Row(json=[Row(a=1)])] >>> schema = schema_of_json(lit('''{"a": 0}''')) >>> df.select(from_json(df.value, schema).alias("json")).collect() [Row(json=Row(a=None))] >>> data = [(1, '''[1, 2, 3]''')] >>> schema = ArrayType(IntegerType()) >>> df = spark.createDataFrame(data, ("key", "value")) >>> df.select(from_json(df.value, schema).alias("json")).collect() [Row(json=[1, 2, 3])]
相关用法
- Python pyspark from_csv用法及代码示例
- Python pyspark from_unixtime用法及代码示例
- Python pyspark from_utc_timestamp用法及代码示例
- Python pyspark from_avro用法及代码示例
- Python pyspark flatten用法及代码示例
- Python pyspark forall用法及代码示例
- Python pyspark filter用法及代码示例
- Python pyspark factorial用法及代码示例
- Python pyspark format_string用法及代码示例
- Python pyspark create_map用法及代码示例
- Python pyspark date_add用法及代码示例
- Python pyspark DataFrame.to_latex用法及代码示例
- Python pyspark DataStreamReader.schema用法及代码示例
- Python pyspark MultiIndex.size用法及代码示例
- Python pyspark arrays_overlap用法及代码示例
- Python pyspark Series.asof用法及代码示例
- Python pyspark DataFrame.align用法及代码示例
- Python pyspark Index.is_monotonic_decreasing用法及代码示例
- Python pyspark IsotonicRegression用法及代码示例
- Python pyspark DataFrame.plot.bar用法及代码示例
- Python pyspark DataFrame.to_delta用法及代码示例
- Python pyspark element_at用法及代码示例
- Python pyspark explode用法及代码示例
- Python pyspark MultiIndex.hasnans用法及代码示例
- Python pyspark Series.to_frame用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.sql.functions.from_json。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。