本文簡要介紹
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。