我正在读取镶木地板文件并尝试从数组结构的结构中提取元素。但是,当我使用 getItem() 时,空值返回空。这种模式在 Spark 1.6 中有效,但现在在 aws 胶水中使用 Spark 2.4,它似乎忽略了空值,只拉空。
输入是镶木地板,但我是用 JSON 格式编写的:
{
"ExampleMessage":{
"activity":{
"exampleSport":[
{
"exampleRole":null
},
{
"exampleRole":null
},
{
"exampleRole":"Runner"
}
]
}
}
尝试提取:
raw_df.select(col("ExampleMessage.activity").getItem("exampleSport").getItem("exampleRole"))
电流输出:
,,Runner
期望的输出:
null,null,Runner
答案 0 :(得分:0)
试试下面的代码而不是 null
你会得到 None
raw_df.select(col("ExampleMessage.activity").getItem("exampleSport").getItem("exampleRole")).head()
输出为
Row(ExampleMessage.activity AS `activity`.exampleSport.exampleRole=[None, None, 'Runner'])