SemanticException [Ошибка 10025]: Строка 1:7 Выражение отсутствует в ключе GROUP BY 'stock_symbol'

Это мой запрос Hive:

select a.stock_symbol,a.stock_date,a.stock_price_open,a.stock_price_high,
       a.stock_price_low,a.stock_price_close,b.stock_symbol,
       MAX(b.stock_price_high), 
       MIN(b.stock_price_low) 
from YAHOO_STOCKS a
join YAHOO_STOCKS b
on  a.stock_symbol=b.stock_symbol
where b.stock_symbol=a.stock_symbol
   and b.stock_date > date_sub(a.stock_date,364)
   and b.stock_date <= a.stock_date
group by b.stock_symbol
order by a.stock_symbol,a.stock_date;

Я получаю эту ошибку:

СБОЙ: SemanticException [Ошибка 10025]: Строка 1:7 Выражение отсутствует в ключе GROUP BY 'stock_symbol'

Пожалуйста, помогите мне.

1 ответ

Решение

Всякий раз, когда вы используете UDF, вы должны группировать по всем другим столбцам.

Используйте этот запрос:

select a.stock_symbol,a.stock_date,a.stock_price_open,a.stock_price_high,
       a.stock_price_low,a.stock_price_close,b.stock_symbol,
       MAX(b.stock_price_high), 
       MIN(b.stock_price_low) 
from YAHOO_STOCKS a
join YAHOO_STOCKS b
on  a.stock_symbol=b.stock_symbol
where b.stock_date > date_sub(a.stock_date,364)
   and b.stock_date <= a.stock_date
group by a.stock_symbol,a.stock_date,a.stock_price_open,a.stock_price_high,
       a.stock_price_low,a.stock_price_close,b.stock_symbol
order by a.stock_symbol,a.stock_date;
Другие вопросы по тегам