Медленные корреляционные вычисления в Apache Hive - PullRequest
0 голосов
/ 09 июля 2019

Я рассматриваю возможность использования Apache Hive в качестве бэкенда для приложения, которое я создаю. Требования для этого приложения:

  1. Сохраните матрицу целых чисел шириной 50 000 столбцов и 3 миллионов строк.
  2. Для выбранной строки получите коэффициент корреляции Пирсона (функция corr в Hive) между выбранным столбцом и каждым другим столбцом в матрице (3 миллиона вычислений).
  3. Возвращает отсортированный список коэффициентов корреляции.
  4. Операция должна вернуть отсортированный список менее чем за 5 секунд.

В настоящее время я использую Hive на 4 узлах в AWS EMR. Экземпляр Hive читает из таблицы Apache Hbase. Однако даже вычисление корреляции только для двух столбцов является чрезвычайно медленным (более 20 секунд):

SELECT corr(col1, col2) FROM table

Это неправильный вариант использования Hive? Если да, есть ли лучшие варианты, которые хорошо работают с Hbase (Phoenix, Spark и т. Д.)

...