为了账号安全,请及时绑定邮箱和手机立即绑定

如何在pyspark中的结构内分解结构中的内部数组/

如何在pyspark中的结构内分解结构中的内部数组/

波斯汪 2021-06-20 20:09:38
我是新来的火花。我试过爆炸 a 的array内部struct。JSON 循环有点复杂,如下所示。{"id": 1,"firstfield": "abc","secondfield": "zxc","firststruct": {    "secondstruct": {        "firstarray": [{            "firstarrayfirstfield": "asd",            "firstarraysecondfield": "dasd",            "secondarray": [{                "score": " 7 "            }]        }]    }}}我正在尝试访问score字段下的secondarray字段,以便能够计算一些指标并得出每个id.
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

如果您使用 Glue,那么您应该将 DynamicFrame 转换为 Spark 的 DataFrame,然后使用爆炸函数:


from pyspark.sql.functions import col, explode


scoresDf = dynamicFrame.toDF

  .withColumn("firstExplode", explode(col("firststruct.secondstruct.firstarray")))

  .withColumn("secondExplode", explode(col("firstExplode.secondarray")))

  .select("secondExplode.score") 


scoresDyf = DynamicFrame.fromDF(scoresDf, glueContext, "scoresDyf")


查看完整回答
反对 回复 2021-06-29
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信