Я разрабатываю веб-приложение, и я хотел бы выполнить два вида операций статистического моделирования/моделирования.
(1) Пакетный анализ из данных, хранящихся в бэкэнд моего приложения (кластер HBase). Как правило, эта операция должна выполняться на регулярной основе, скажем, каждую ночь. Размер данных может превышать то, что может быть сохранено в локальной памяти, поэтому для этого может потребоваться вызов некоторого пакета, поддерживающего параллельные вычисления. (2) Выполнение на лету R, вызванное запросом пользователя в интерфейсе. Типичный пример использования - прогнозирование малых временных рядов. Пользователи могут размещать запросы в одно и то же время, поэтому должна быть некоторая поддержка concurrency. Производительность имеет первостепенное значение, поскольку пользователь не может ждать бесконечно для ответа.
Мой вопрос: что было бы лучшим сочетанием технологий/CRAN-пакета для решения этих двух проблем? Моя идея на данный момент:
- Использование Rserver в сочетании с клиентом Ruby. В качестве альтернативы, я думаю о написании сервера на Java и использовании существующих привязок R/Java.
- Использование RHadoop для обработки заданий на больших наборах данных.
Я видел RevoDeployR - отличный инструмент, но не является открытым исходным кодом, не так ли?
Спасибо за помощь