Как использовать преимущества разделов с помощью множественного выбора с помощью Impala - PullRequest
0 голосов
/ 19 июня 2019

Я хочу использовать оконные функции при множественном последовательном выборе, но кажется, что только первый может использовать преимущества разделов.

Таблица происхождения будет выглядеть так:

create table mytable 
(
myvar int
) 
partitioned by (ut string, year string, month string, day string);

Вот пример кода, который я использовал бы для запроса mytable:

select *,
first_value(next_var_value ignore nulls) over (partition by ut order by year,month,day rows between 1 following and unbounded following)
 as next_2_value
from(
select ut, year,month,day, myvar,
 first_value(myvar ignore nulls) over (partition by ut order by year,month,day rows between 1 following and unbounded following)
 as next_var_value
 from mytable
 )a;

Похоже, что оконная функция для next_var_value может воспользоваться преимуществами mytable разбиения, но секунда выбирает оконную функцию (next_2_value) не может.

Я мог бы создавать новую таблицу для каждого выбора, но я бы предпочел не делать этого.

...