我的avro文件格式如下:
|Some col|Some other col| body |
|--------|--------------|-----------------------|
|some val| some val | some json string |
| ... | ... | ... |
我用英语读它们 spark.read.format("avro").load(file_path)
我想从这个json字符串中选择所有的值,但是这个json被修剪了,所以只给出值不是none的列。
我有一个模式,它包含这些json文件中所有可能的值(都可以为null)。
问:有没有一种干净的方法来选择json字符串中的所有列+模式中不在json字符串中的所有列(插入值为none)?
2条答案
按热度按时间bzzcjhmw1#
5lhxktic2#
不一定能完全理解这个问题,但这似乎是一个问题
df
已经接通了spark.read.format("avro").load(file_path)
. 其中一列df
是body
那一栏是一系列词典。一种可能的解决方案是:两个Dataframe版本的输出为:
缺少的列数据将自动用nan填充(注意标有
#1
以及#2
在代码中是那些可能与解决问题相关的代码。剩下的代码用于演示。