You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark中提取itineraries.element与validatingAirlineCodes字段并生成JSON

解决PySpark提取指定字段并生成JSON的问题

你遇到的问题核心是混淆了DataFrame结构描述里的element标识——它是用来说明数组类型字段的元素类型,而非实际的字段名。针对你的需求,正确的操作如下:

1. 直接选择目标字段

itineraries本身就是array类型字段,其每个元素对应结构描述里的map类型(即标注的element);validatingAirlineCodes是array类型字段,可以直接选中:

# 筛选出需要的两个字段
selected_df = df.select("itineraries", "validatingAirlineCodes")

2. 生成JSON输出

方式一:写入JSON文件

将筛选后的DataFrame写入指定路径的JSON文件(支持覆盖已有文件):

selected_df.write.mode("overwrite").json("/your/target/output/path")

方式二:获取JSON字符串列表

如果需要在内存中获取每条数据的JSON字符串:

json_result = selected_df.toJSON().collect()

可选:展开itineraries数组

如果需要将itineraries数组中的每个map元素单独拆分为一行,可以使用explode函数:

from pyspark.sql.functions import explode

# 展开数组,将每个map元素命名为itinerary_element
exploded_df = df.select(explode("itineraries").alias("itinerary_element"), "validatingAirlineCodes")
# 生成JSON
exploded_df.write.mode("overwrite").json("/your/exploded/output/path")

内容的提问来源于stack exchange,提问作者Haris Ampas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 20:15:28