Распределенный R
Разработчик(и) | HP |
---|---|
Стабильная версия | 1.2.0 [1] / 22 октября 2015 г |
Репозиторий | |
Написано в | С++ , Р |
Операционная система | Линукс |
Тип | машинного обучения алгоритмы |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | www |
Distributed R — это высокопроизводительная платформа с открытым исходным кодом для R. языка Он разделяет задачи между несколькими узлами обработки, чтобы сократить время выполнения и проанализировать большие наборы данных. Распределенный R расширяет возможности R за счет добавления распределенных структур данных , примитивов параллелизма для запуска функций с распределенными данными, планировщика задач и нескольких загрузчиков данных. [2] В основном он используется для реализации распределенных версий задач машинного обучения. Распределенный R написан на C++ и R и сохраняет знакомый внешний вид R. По состоянию на февраль 2015 г. [update]Компания Hewlett-Packard (HP) обеспечивает корпоративную поддержку Distributed R с помощью собственных дополнений, таких как быстрый загрузчик данных из базы данных Vertica . [3]
История
[ редактировать ]Распределенный R был начат в 2011 году Индраджитом Роем, Шиварамом Венкатараманом, Элвином Ау Янгом и Робертом С. Шрайбером в качестве исследовательского проекта в HP Labs. [4] Он был открыт в 2014 году под лицензией GPLv2 и доступен на GitHub .
В феврале 2015 года Distributed R вышла на свою первую стабильную версию 1.0 вместе с корпоративной поддержкой со стороны HP. [5]
Компоненты
[ редактировать ]Distributed R — это платформа для реализации и выполнения распределенных приложений на R. Цель состоит в том, чтобы расширить R для распределенных вычислений, сохранив при этом простоту и внешний вид R. Distributed R состоит из следующих компонентов:
- Распределенные структуры данных . Распределенный R расширяет общие структуры данных R, такие как массив, data.frame и список, для хранения данных на нескольких узлах. Соответствующими структурами данных Distributed R являются darray, dframe и dlist. Многие из распространенных операций со структурами данных в R, такие как colSums, rowSums, nrow и другие, также доступны в распределенных структурах данных.
- Параллельный цикл . Программисты могут использовать параллельный цикл, называемый foreach, для управления распределенными структурами данных и параллельного выполнения задач. Программисты только определяют структуру данных и функции для выражения приложений, в то время как среда выполнения планирует задачи и, при необходимости, перемещает данные.
- Распределенные алгоритмы : распределенные версии распространенных алгоритмов машинного обучения и графов, таких как кластеризация, классификация и регрессия.
- Загрузчики данных . Пользователи могут использовать конструкции Distributed R для реализации параллельных соединителей, которые загружают данные из разных источников. Distributed R уже предоставляет реализации для загрузки данных из файлов и баз данных в распределенные структуры данных.
Интеграция с базами данных
[ редактировать ]HP Vertica обеспечивает тесную интеграцию со своей базой данных и платформой Distributed R с открытым исходным кодом. HP Vertica 7.1 включает функции, которые обеспечивают быструю параллельную загрузку из базы данных Vertica в Distribute R. Этот параллельный загрузчик Vertica может работать более чем в пять раз (5 раз) быстрее, чем при использовании традиционных соединителей на основе ODBC. База данных Vertica также поддерживает развертывание моделей машинного обучения в базе данных. Пользователи распределенного R могут вызывать распределенные алгоритмы для создания моделей машинного обучения, развертывать их в базе данных Vertica и использовать модель для оценки и прогнозирования в базе данных. Детали архитектуры базы данных Vertica и интеграции Distributed R описаны в документе Sigmod 2015. [6]
Ссылки
[ редактировать ]- ^ «Выпуск 1.2.0» . 22 октября 2015 г. Проверено 20 июля 2018 г.
- ^ Венкатараман, Шиварам; Бодзсар, Эрик; Рой, Индраджит; АуЯнг, Элвин; Шрайбер, Роберт С. (2013). «Престо: распределенное машинное обучение и обработка графов с помощью разреженных матриц» (PDF) . Европейская конференция по компьютерным системам (EuroSys) . Архивировано из оригинала (PDF) 1 марта 2015 г.
- ^ Гальорди, Натали. «HP расширяет возможности R с открытым исходным кодом в новейшей платформе больших данных» . ЗДНет . Проверено 17 февраля 2015 г.
- ^ Венкатараман, Шиварам; Рой, Индраджит; АуЯнг, Элвин; Шрайбер, Роберт С. (2012). «Использование R для итеративной и инкрементной обработки». Семинар по актуальным темам облачных вычислений (HotCloud) .
- ^ «HP обеспечивает прогнозную аналитику в масштабе больших данных» . hp.com . 17 февраля 2015 года . Проверено 17 февраля 2015 г.
- ^ Прасад, Шрейя; Фард, Араш; Гупта, Вишрут; Мартинес, Хорхе; ЛеФевр, Джефф; Сюй, Винсент; Сюй, Мэйчунь; Рой, Индраджит (2015). «Включение прогнозной аналитики в Vertica: быстрая передача данных, создание распределенных моделей и прогнозирование в базе данных». Международная конференция ACM SIGMOD по управлению данными .
Внешние ссылки
[ редактировать ]- R (язык программирования)
- Программное обеспечение, использующее лицензию GPL
- Бесплатное статистическое программное обеспечение
- Программное обеспечение для интеллектуального анализа данных и машинного обучения
- Программное обеспечение для численного анализа для Linux
- Кластерные вычисления
- Параллельные вычисления