Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Distributed R - это высокопроизводительная платформа с открытым исходным кодом для языка R. Он разделяет задачи между несколькими узлами обработки, чтобы сократить время выполнения и анализировать большие наборы данных. Распределенный R улучшает R, добавляя распределенные структуры данных , примитивы параллелизма для выполнения функций с распределенными данными, планировщик задач и несколько загрузчиков данных. [2] В основном он используется для реализации распределенных версий задач машинного обучения. Распределенный R написан на C ++ и R и сохраняет знакомый внешний вид R. По состоянию на февраль 2015 г. , Hewlett-Packard(HP) обеспечивает корпоративную поддержку для Distributed R с проприетарными дополнениями, такими как быстрый загрузчик данных из базы данных Vertica . [3]

История [ править ]

Распространенный R был начат в 2011 году Индраджитом Роем, Шиварамом Венкатараманом, Элвином Ау Янгом и Робертом С. Шрайбером в качестве исследовательского проекта в HP Labs. [4] Он был открыт в 2014 году под лицензией GPLv2 и доступен на GitHub .

В феврале 2015 года Distributed R достигла своей первой стабильной версии 1.0 вместе с корпоративной поддержкой HP. [5]

Компоненты [ править ]

Распределенный R - это платформа для реализации и выполнения распределенных приложений в R. Цель состоит в том, чтобы расширить R для распределенных вычислений, сохранив при этом простоту и внешний вид R. Распределенный R состоит из следующих компонентов:

  • Распределенные структуры данных . Распределенный R расширяет общие структуры данных R, такие как массив, data.frame и список, для хранения данных на нескольких узлах. Соответствующими структурами данных Distributed R являются darray, dframe и dlist. Многие из общих операций со структурами данных в R, такие как colSums, rowSums, nrow и другие, также доступны для распределенных структур данных.
  • Параллельный цикл : программисты могут использовать параллельный цикл, называемый foreach, для управления распределенными структурами данных и выполнения задач параллельно. Программисты задают только структуру данных и функции для выражения приложений, в то время как среда выполнения планирует задачи и, при необходимости, перемещает данные.
  • Распределенные алгоритмы : распределенные версии распространенных алгоритмов машинного обучения и графов, таких как кластеризация, классификация и регрессия.
  • Загрузчики данных : пользователи могут использовать конструкции Distributed R для реализации параллельных соединителей, которые загружают данные из разных источников. Распределенный R уже предоставляет реализации для загрузки данных из файлов и баз данных в распределенные структуры данных.

Интеграция с базами данных [ править ]

HP Vertica обеспечивает тесную интеграцию со своей базой данных и платформой Distributed R. HP Vertica 7.1 включает функции, обеспечивающие быструю параллельную загрузку из базы данных Vertica для распространения R. Этот параллельный загрузчик Vertica может работать более чем в пять раз (5 раз) быстрее, чем при использовании традиционных коннекторов на основе ODBC. База данных Vertica также поддерживает развертывание моделей машинного обучения в базе данных. Пользователи распределенного R могут вызывать распределенные алгоритмы для создания моделей машинного обучения, развертывать их в базе данных Vertica и использовать модель для оценки и прогнозов в базе данных. Детали архитектуры базы данных Vertica и интеграции Distributed R описаны в статье Sigmod 2015. [6]

Ссылки [ править ]

  1. ^ "Выпуск 1.2.0" . 22 октября 2015 . Проверено 20 июля 2018 года .
  2. ^ Венкатараман, Шиварам; Бодзар, Эрик; Рой, Индраджит; AuYoung, Элвин; Шрайбер, Роберт С. (2013). «Presto: Распределенное машинное обучение и обработка графиков с разреженными матрицами» (PDF) . Европейская конференция по компьютерным системам (EuroSys) . Архивировано из оригинального (PDF) 01.03.2015.
  3. ^ Gagliordi, Натали. «HP расширяет возможности R с открытым исходным кодом в новейшей платформе больших данных» . ZDNet . Проверено 17 февраля 2015 года .
  4. ^ Венкатараман, Шиварам; Рой, Индраджит; AuYoung, Элвин; Шрайбер, Роберт С. (2012). «Использование R для итеративной и инкрементной обработки». Мастер-класс по горячим темам в облачных вычислениях (HotCloud) .
  5. ^ «HP обеспечивает прогнозную аналитику в масштабе больших данных» . hp.com . 17 февраля 2015 . Проверено 17 февраля 2015 года .
  6. ^ Прасад, Шрейя; Фард, Араш; Гупта, Вишрут; Мартинес, Хорхе; ЛеФевр, Джефф; Сюй, Винсент; Сюй, Мэйчун; Рой, Индраджит (2015). «Включение прогнозной аналитики в Vertica: быстрая передача данных, создание распределенных моделей и прогнозирование в базе данных». ACM SIGMOD Международная конференция по управлению данными .

Внешние ссылки [ править ]

  • Официальный веб-сайт