Доступ к собственности с помощью join выдает исключение - PullRequest
0 голосов
/ 09 апреля 2019

Я работаю над пакетом в блоках данных, у меня проблема с 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, оно не должно переходить к другой части !!

Буду признателен за помощь, заранее спасибо !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...