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字符串MapTypeStringType作為鍵類型,StructTypeArrayType與指定的模式。返回,對於一個unparseable字符串。

參數
上校 或str

在JSON格式列或列的名字

模式 數據類型或str

StructType, ArrayType StructType或Python字符串DDL-formatted字符串解析json列時使用

選項 東西,可選

選項來控製解析。接受json數據源相同的選項。看到數據源的選擇在你使用的版本。

例子

> > >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]))