首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扁平化pyspark嵌套结构- Pyspark

问扁平化pyspark嵌套结构- Pyspark
EN

Stack Overflow用户
提问于 2021-05-17 16:49:21
回答 1查看 52关注 0票数 0

我想将嵌套列展平为单独的列,其中只包含几个特定值。

首先,我从Event hub的AVRO捕获文件开始。一旦我将其转换为python中的dataframe,在删除不相关的数据帧后,我将收到以下列。

​

​

此列具有以下结构。

​

我下一步要做的是展平该列的剩余特定值。

我可以在一个单元格上做到这一点,但是因为我处理的是嵌套结构,所以列是不可迭代的。

有谁能帮我吗?

​

​

EN

回答 1

Stack Overflow用户

发布于 2021-05-24 11:32:08

您的模式中有两个data字段,所以我将第一个字段称为data_struct,将第二个字段称为data_array。如果使用avro_df_body.select('data_struct.data_array'),您将拥有一个ArrayType列,您可以应用explode函数将其分解为多行。

代码语言:javascript
复制
(avro_df_body
    .withColumn('tmp', F.explode('data_struct.data_array'))
    .withColumn('speed', F.col('tmp.a'))
    .withColumn('timestamp', F.col('tmp.time'))
    .show()
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67566592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档