muszę rangi wiersze autorem partycji (lub grupy), to znaczy, jeśli mój stół źródłem jest:Get kolejny numer wiersza (Ranking) wewnątrz partycji bez użycia ROW_NUMBER() OVER funkcji
NAME PRICE
---- -----
AAA 1.59
AAA 2.00
AAA 0.75
BBB 3.48
BBB 2.19
BBB 0.99
BBB 2.50
bym jak dostać stolik docelowa:
RANK NAME PRICE
---- ---- -----
1 AAA 0.75
2 AAA 1.59
3 AAA 2.00
1 BBB 0.99
2 BBB 2.19
3 BBB 2.50
4 BBB 3.48
Normalnie używam ROW_NUMBER() OVER
funkcję, więc w Apache Hive byłoby:
select
row_number() over (partition by NAME order by PRICE) as RANK,
NAME,
PRICE
from
MY_TABLE
;
Niestety Cloudera Impala nie obsługuje (w tej chwili) funkcji ROW_NUMBER() OVER
, więc szukam obejścia. Najlepiej nie używać UDAF, ponieważ politycznie trudno będzie przekonać do wdrożenia go na serwerze.
Dziękuję za pomoc.
funkcji analitycznych okienne są najwyższym priorytetem, a rozwój jest w toku. Bądź na bieżąco z nadchodzącym wydaniem, dodając tę funkcjonalność jako część mapy drogowej do Impala 2.0. – Matt