我有一个火花数据框,其中一列上有一个 Json。我的任务是将此数据框转换为柱状数据框。问题在于 JSON 是动态的,并且它总是会改变结构。我想做的是尝试从中获取值,如果它没有,则返回一个默认值。数据框中有这个选项吗?这就是我从 JSON 中取出值的方式,问题是如果其中一个级别更改名称或结构,它不会失败。
columnar_df = df.select(col('json')['level1'].alias('json_level1'),
col('json')['level1']['level2a'].alias('json_level1_level2a'),
col('json')['level1']['level2b'].alias('json_levelb'),
)