0
votes

This is my Hive query:

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;

I am getting this error:

FAILED: SemanticException [Error 10025]: Line 1:7 Expression not in GROUP BY key 'stock_symbol'

Please help me out.

1

1 Answers

0
votes

Whenever you use UDF , you have to group by all other columns.

Use this query:

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;