pyspark.sql.functions.from_json¶
-
pyspark.sql.functions。
from_json
( 上校:ColumnOrName,模式:聯盟(pyspark.sql.types.ArrayType,pyspark.sql.types.StructType,pyspark.sql.column.Column,str],選項:可選(Dict(str,str]]=沒有一個 )→pyspark.sql.column.Column¶ -
解析一個列包含一個JSON字符串
MapType
與StringType
作為鍵類型,StructType
或ArrayType
與指定的模式。返回零,對於一個unparseable字符串。- 參數
例子
> > >從pyspark.sql.types進口*> > >數據=((1,“{”“:1}”)]> > >模式=StructType([StructField(“一個”,IntegerType())))> > >df=火花。createDataFrame(數據,(“關鍵”,“價值”))> > >df。選擇(from_json(df。價值,模式)。別名(“json”))。收集()(行(json =行(= 1)))> > >df。選擇(from_json(df。價值,“INT”)。別名(“json”))。收集()(行(json =行(= 1)))> > >df。選擇(from_json(df。價值,“MAP < STRING, INT >”)。別名(“json”))。收集()行(json = {a: 1}))> > >數據=((1,“[{“a”: 1}]”)]> > >模式=ArrayType(StructType([StructField(“一個”,IntegerType()))))> > >df=火花。createDataFrame(數據,(“關鍵”,“價值”))> > >df。選擇(from_json(df。價值,模式)。別名(“json”))。收集()行(json =(行(= 1))))> > >模式=schema_of_json(點燃(“‘{“a”: 0}”))> > >df。選擇(from_json(df。價值,模式)。別名(“json”))。收集()(行(json =行(= None)))> > >數據=((1,“[1,2,3]”)]> > >模式=ArrayType(IntegerType())> > >df=火花。createDataFrame(數據,(“關鍵”,“價值”))> > >df。選擇(from_json(df。價值,模式)。別名(“json”))。收集()行(json = [1, 2, 3]))