Я хотел бы запросить данные из таблицы улья pyspark.
Таблица:
year month ids
2005 10 csec
2005 10 thth
2005 11 csec
2005 11 thth
2005 11 yjsd
2005 12 yjwe
2005 12 yjsd
Мне нужно:
year month ids
2005 11 yjsd -- not appear in 200510
2005 12 yjwe -- nor appear in 200511
Это найти новый "идентификаторы", недоступные в предыдущем месяце.
Мой sql:
select a.year, a.month, count(distinct(a.ids)) as dist_ids
from MY_TABLE as a
where a.ids not in
(
select distinct b.ids
from MY_TABLE as b
where isnull(b.ids) = false
and (a.year = b.year and a.month - 1 = b.month) or (a.year - 1 = b.year and
a.month = 1 and b.month = 12)
)
group by year, month
order by year, month
Но запрос выполняется очень медленно.
как ускорить ?
спасибо