我正在处理数据块中的批处理,自3 DAYSS起,我遇到了一个SQL查询,该查询抛出异常org.apache.spark.sql.AnalysisException:给定输入列,无法解析'c.aggregates.count
'< / p>
基本上我有两个对象
telemetries =
{
"id": "16396985-7bc2-44fb-9904-be8ea62ec48f",
"aggregates":
{
"count": 4
},
}
dataInCosmosDb =
{
"id": "16396985-7bc2-44fb-9904-be8ea62ec48f",
"aggregates":
{
"count": 6
},
}
这是我的SQL查询
select id,
struct(CASE WHEN isnull(c.id) THEN t.aggregates.count ELSE (t.aggregates.count + c.aggregates.count) END as count) as aggregates
from telemetries t
left join dataInCosmosDb c on
t.id = c.id
最后我应该有这个对象
queryResult=
{
"id": "16396985-7bc2-44fb-9904-be8ea62ec48f",
"aggregates":
{
"count": 10
},
}
当我的cosmosDb有一个具有相同ID的现有记录时,此功能很好,但是当cosmosDb为空时,它将引发异常:“无法解析给定的输入列'c.aggregates.count
'”
我不明白为什么,因为当c.id为null时,它不应该进入其他部分!
我将不胜感激,在此先感谢您!