обратный инжиниринг функции ранга / плотность_ранков Hive - как в улье реализована функция ранга / плотность_ранков - PullRequest
0 голосов
/ 11 декабря 2018

Кто-нибудь знает, как выглядит реализация?У меня есть предположение;пожалуйста, поправьте меня, если я ошибаюсь:

select
   ENAME,SAL,dense_rank() over (order by SAL) DEN_RANK
from
EMP;

Предположим, что улей выполняет кучу карт и редукторов, в какой-то момент данные будут отсортированы по SAL, верно?Однако данные могут быть достаточно большими, чтобы их можно было распределить по нескольким блокам HDFS (да, каждый из них будет отсортирован).Я предполагаю, что hive rank / dens_rank управляет итерацией блоков HDFS, так что он посещает каждую строку блока, за которой следует другая (по порядку), таким образом, чтобы соблюдался порядок рангов.Это предположение верно?

...