当pyspark数据帧中存在多种数据类型时,结构下的int字段的聚合

时间:2019-02-12 21:02:27

标签: pyspark

我的数据集结构如下。

{
  "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

0 个答案:

没有答案