我的数据集结构如下。
{
"id": 1,
"firstfield": "abc",
"secondfield": "zxc",
"firststruct": {
"secondstruct": {
"firstarray": [{
"firstarrayfirstfield": "asd",
"firstarraysecondfield": "dasd",
"secondarray": [{
"score": "7"
}, {
"score": " Some random text "
}]
}]
}
该模式的方式是secondarray
字段具有2个结构,并且每个结构的数据都具有不同的数据类型。我必须对所有整数进行聚合,但是,我必须将数据帧的全部内容加载回数据库。我尝试过类似的技术,例如applying filters
,然后尝试.withColumn('answerText', when(col('score').isNotNull(), col('score').cast(StringType())).otherwise(col('score').cast(IntegerType())))
。但是,现在可以正常工作了。
我需要结果类似id-1 has a total score of 70
。