解析jsons pyspark

时间:2018-12-07 02:37:29

标签: pyspark fromjson

我正在尝试解析json字符串列表的一列,但是即使在尝试使用structType,structField等多个模式之后,我也根本无法获取该模式。

[{"event":"empCreation","count":"148"},{"event":"jobAssignment","count":"3"},{"event":"locationAssignment","count":"77"}]

[{"event":"empCreation","count":"334"},{"event":"jobAssignment","count":33"},{"event":"locationAssignment","count":"73"}]

[{"event":"empCreation","count":"18"},{"event":"jobAssignment","count":"32"},{"event":"locationAssignment","count":"72"}]

基于此SO帖子,我能够派生json模式,但是即使在应用from_json函数之后,它仍然无法工作

Pyspark: Parse a column of json strings

可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

您可以使用以下schame定义来解析给定的json模式,并将json作为提供模式信息的DataFrame读取。

$

json文件的内容:

IF

答案 1 :(得分:0)

非常感谢@Lakshmanan,但我只需要对架构进行一点改动:

eventCountSchema = ArrayType (StructType([StructField(“ event”,StringType(),True),StructField(“ count”,StringType(),True)]),True)

,然后将此架构应用于数据框复杂数据类型列