Разделите клики по размеру массива ключевых слов:
with your_table as(
select stack(2,
'msn.com', 'sports,cricket,accessories', 100,
'yahoo.com', 'fashion,accessories', 50
) as (Sitedomain,Keyword,Clicks)
)
select Sitedomain,k.Keyword,round(s.Clicks/size(Keyword_aray),1) as Clicks
from
(
select Sitedomain,
split(Keyword,',') Keyword_aray,
Clicks
from your_table
)s lateral view explode(Keyword_aray) k as keyword
;
Возвращает:
msn.com sports 33.3
msn.com cricket 33.3
msn.com accessories 33.3
yahoo.com fashion 25.0
yahoo.com accessories 25.0
Я добавил round()
, чтобы получить точность, как в вашем примере, удалите ее, если не нужно.