RStudio Connect — «фейслифтинг» Shiny для корпоративного применения

в 14:30, , рубрики: big data, data mining, data science, R

Прошло достаточно времени с упоминания в предыдущей публикации об использовании RStudio Connect в боевых условиях для того, чтобы поделиться результатами. Краткое резюме — «дайте два!». И подумайте про оптимизацию отдела «аналитиков». Ниже приведены подробности.

В качестве дополнительного чтения рекомендую взглянуть детальную публикацию «Data at GDS (Government Digital Service). Reproducible Analytical Pipeline» в блоге аналитической службы гос.органов UK по аналогичной теме.

Что такое RStudio Connect

RStudio Connectнемного платный продукт для публикации аналитической информации как внутри компании, так и для всего остального мира. Аналитическая обработка и подготовка отчетных представлений производится средствами R. Сервер работает on-premise на *nix платформе, что автоматически устраняет 3 повода для головной боли: нет облаков, нет лицензирования Win Server (а еще вдруг и SQL) и отстутствие проблем с Unicode.

Я сознательно написал «аналитическая информация», потому что представления, генерируемые R+RStudio Connect очень далеки от классических отчетов типа JasperBO… Основные практически полезные публикуемые результатаnы (отчеты) можно отнести к трем основным классам:

  • Интерактивные html отчеты;
  • Статичные pdf отчеты;
  • Shiny приложения.

image

Отчеты

html и pdf документы формируются в парадигме literate programming из R Markdown исходных файлов, содержащих текстовое описание и включения кода для динамического расчета и визуализации результатов этих расчетов в виде таблиц, рисунков и интерактивных js виджетов. В последнем релизе RStudio Connect отчеты могут быть параметризированы (пока не было необходимости проверять), что добавляет дополнительной гибкости.
image

Преимущества такого подхода очевидны:

  • Различные формы представления получаются из одного исходного .Rmd файла, что устраняет многократное дублирование исходных и промежуточных данных, расчетов и представлений;
  • полностью исключается ручной copy-paste и связанные с ним трудозатраты и недостоверность результатов;
  • результаты воспроизводимы и могут исполняться по требованиюрасписанию;
  • динамические js-элементы повзоляеют в компактном виде предоставлять детализированную информацию. Примеры доступных в R htmlwidgets можно поглядеть здесь.

Поскольку RStudio Connect является enterprise-ориентированным, то в базе есть все обязательные функции:

  • Авторизация пользователей с возможностью привязки к LDAP;
  • Гибкая система прав;
  • Генерация отчетов по расписанию;
  • E-mail нотификации;
  • Средства самодиагностики и мониторинга;
  • Управление нагрузкой;
  • Логирование действий;
  • Создание локальных репозиториев R пакетов для каждого приложения;
  • Публикация документов из среды RStudio IDE в «одно нажатие»;
  • Поддержка версионности опубликованных документов;
  • и пр.

Каждому опубликованному документу могут быть разные права доступа. Начиная от «только автор» и заканчивая «просмотр всем кто знает ссылку».
image

А вот почему термин «отчеты» использован в кавычках. Интересный вытекающий вывод из связки функций запуск по расписанию + literate programming + e-mail уведомления следующий:
по сути, мы можем по расписанию выполнять любые R скрипты, встроенные исполняемыми блоками в .Rmd файлы. Эти скрипты могут выполнять абсолютно любые действия, например, брать данные из файловБД, заниматься web scrapping-ом вести расчеты, публиковать данные во внешние системы запускать внешние скрипты и пр., при этом ведется подробный «story-лог» в виде комбинации текста, таблиц, графиков. И этот «story-лог» по завершению работы может быть автоматически отправлен заинтересованным лицам. Т.е. система в популярном ныне жанре «комиксов» может докладывать о результатах работы весьма сложных процессов!

Фактически, идеальный инструмент для практической реализации концепции операционой аналитики.

image

Прикладываю сам PDF файл. Бусские буквы находятся в Adobe Reader и в таблицах, созданных вставкой R-кода, и в рисунках и в тексте.

С технической точки зрения pdf версия готовится посредством цепочки R markdown → LaTeX → PDF. Так что на выходе получается полиграфически качественный документ с огромными возможностями по кастомизации.

Приложения и дашборды

Тут все просто. Встроенный Shiny Server c enterprise функциями. Все, что было написано про Shiny ранее доступно в полном объеме.

А публикация приложений в «одно нажатие» позволяет легко и просто делать всевозможные дашборды, интерактивные приложения, включая онлайн аналитику на сервере и кастомные представления для любого сотрудника под его текущие потребности.

Нет никаких ограничений на количество опубликованных приложений. Не нужен никакой администратор для публикации. Не надо записываться в очередь к разработчикам. Бери, да делай.

image

Более того, интеграция с корпоративным LDAP легко позволяет управлять зоной видимости этих приложений.

Несмотря на то, что продукт вышел недавно, он по своей сути является enterprise оберткой для многократно апробированных кубиков Shiny + RMarkdown + R + LaTeX.

В промышленной эксплуатации он показал себя превосходно. Более того, в воздухе повис вопрос «зачем нам теперь нужны прочие n+1 установленные 'системы отчетности'» на который убедительных ответов пока не найдено.

P.S.

  1. Все приводимые скриншоты взяты с тестового стенда и принципиально не содержат реальных бизнес-показателей.
  2. Публикация носит информационный, а не обучающий характер. Как показывает практика, не хватает времени разобраться в сути массы интересных и полезных вещей. RStudio Connect заслуживает, чтобы с ним познакомиться, хотя бы кратко. Если правильно готовить, то можно очень сильно сократить текущие расходы компании на аналитический блок.

Предыдущий пост: «'Пятый элемент' в экосистеме R. WYSIWYG интерфейс для аналитиков»

Автор: Илья Шутов

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js