Я работаю над пакетом в блоках данных, у меня проблема с 3 DAYSS с запросом sql, который выдает исключение org.apache.spark.sql.AnalysisException: не удается разрешить 'c.aggregates.count
' для заданных входных столбцов
В основном у меня есть два объекта
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 есть выходная запись с тем же идентификатором, но когда cosmosDb пуст, он выдает исключение: «не удается разрешить» c.aggregates.count
«данные входные столбцы»
Я не понимаю почему, потому что, когда c.id имеет значение null, оно не должно переходить к другой части !!
Буду признателен за помощь, заранее спасибо !!