Как запустить R и R Studio в Google Cloud Platform

Как-то попалась мне задача, в которой нужно было преобразовать 800 000 текстовых строк в несколько этапов. Большинство подобных задач я решаю с помощью R, потому и в этом случае начал пробовать использовать знакомый мне язык. Если первые несколько преобразований занимали секунды, то последующие начали занимать десятки минут.
Такая ситуация меня совсем не устраивала. Если нужно было внести изменения в данные на входе последовательности операций, приходилось очень долго ждать. А ведь это был еще не окончательный результат вычислений. В этот момент я решил попробовать поднять R в облаке и решать задачу там. Давайте посмотрим, что из этого получилось.
Неоценимый вклад в написание этого поста внес Антон Белоус. Без него я бы потратил кучу времени на выбор операционной системы и установку программ в ней.
Как создать виртуальную машину (инстанс) в Google Cloud Platform
В первую очередь следует создать виртуальную машину в Google Cloud Platform. Довольно сложно выбрать из списка доступных машин, если вы не знаете необходимые для решения вашей задачи технические хаpaктеристики. Потому я начал с самого слабого варианта — f1-micro, который доступен бесплатно для региона US. Вы тоже можете начать с него.
Когда вы определились с типом инстанса, создайте проект и включите в нем биллинг. Чтобы создать инстанс, перейдите из вашего проекта в Google Developers Console и откройте Google Cloud Platform:
Далее перейдите по пути «Compute Engine» — «VM instances» в раскрывающемся боковом меню:
Нажмите Create Instance:
На открывшейся странице задайте параметры машины, которую хотите получить. Я указал f1-micro в регионе us-central1-a с операционной системой Ubuntu 16.04 LTS. Также поставил две галочки Allow HTTP traffic и Allow HTTPS traffic для возможности взаимодействия с сервером по HTTP и HTTPS. Другие параметры я не трогал:
Через пару минут ваша машина готова к работе:
Дополнительную информацию по запуску инстансов вы можете найти в справке.
Как установить R и R Studio на инстанс в Google Cloud
Чтобы начать установку нужных вам программ, подключитесь к созданной машине по SSH (сетевой протокол Secure Shell). Для этого нажмите соответствующую кнопку напротив названия вашего инстанса.
В браузере откроется новое окно:
Выполните комaнду:
sudo vim /etc/apt/sources.list
В открывшийся файл вставьте строку:
deb https://cran.rstudio.com/bin/linux/ubuntu xenial/Далее нажмите Esc, двоеточие (обратите внимание, что нужно именно двоеточие, а не точка с запятой) и выполните комaнду wq. В результате в файле /etc/apt/sources.list вы укажете, откуда нужно брать файлы для установки R. Мы будем устанавливать RStudio Server, а не обычный десктопный вариант.
Далее по очереди выполните комaнды:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9sudo apt updatesudo apt-get install r-basesudo apt-get install gdebi-corewget https://download2.rstudio.org/rstudio-server-1.0.136-amd64.debsudo gdebi rstudio-server-1.0.136-amd64.debВ процессе выполнения нужно будет несколько раз подтвердить, что вы готовы установить программное обеспечение. После выполнения всех этих комaнд необходимо указать порт, при обращении к которому вы будете получать доступ к R Studio. Для этого выполните комaнду:
sudo vim /etc/rstudio/rserver.conf
В открывшийся файл вставьте строку:
www-port=80Нажмите Esc, двоеточие и выполните комaнду wq. С помощью этой строки вы укажете, что при обращении к 80 порту, к которому происходит обращении по умолчанию, должна запускаться R Studio. После этого выполните комaнду:
sudo passwd user_nameВместо user_name следует указать свое имя пользователя. Его можно найти здесь:
Так вы зададите пароль для вашего пользователя в Ubuntu, который станет паролем при входе в R Studio.
Далее выполните комaнду:
sudo service rstudio-server restartУра, у вас получилось установить R и R Studio в Google Cloud. Вернитесь в свой проект в Google Cloud Platform и перейдите по IP-адресу, который указан напротив названия вашего инстанса:
В новой вкладке откроется приветственное окно R Studio:
Введите имя пользователя и пароль, которые вы задали на одном из предыдущих шагов. Нажмите кнопку входа — откроется привычный вам интерфейс R Studio:
Как устанавливать пакеты R в облаке
Для решения части задач придется устанавливать дополнительные пакеты, которых нет в базовой сборке R. Здесь возникают две проблемы. Во-первых, нехватка оперативной памяти у инстанса f1-micro. При установке R рекомендуется машина с не менее чем 1 GB оперативной памяти, а у нашего инстанса 0,6 GB.
Чтобы решить этот вопрос на время установки всех пакетов можно улучшить свой инстанс. Придется остановить работу виртуальной машины — в процессе работы менять хаpaктеристики нельзя. Для этого нажмите кнопку остановки и дождитесь, пока машина перестанет работать:
Зайдите в свой инстанс и нажмите кнопку редактирования:
Выберите хотя бы g1-small и сохраните изменения:
Проделав эту же процедуру после установки всех нужных пакетов, можете снова выбрать f1-micro, если его достаточно для ваших задач. Если сразу хотите попробовать машину помощнее, выбирайте доступные варианты из списка.
Вторая проблема при установке пакетов — отсутствие в нашей машине необходимых для работы пакетов библиотек. Вы увидите сообщение об этом в консоли R Studio. Там будет указано название рекомендуемой библиотеки, которая решит проблему с установкой пакета.
Скопируйте из R Studio название пакета, подключитесь к инстансу по SSH и введите следующую комaнду:
sudo apt install library_nameЗдесь library_name — название библиотеки, скопированное из R Studio.
Что получилось в результате
После установки R и R Studio я попробовал решить мою задачу на f1-micro. На выполнение всех преобразований понадобилось 2 часа. Это даже хуже, чем на моем компьютере :) Задача требовала большей мощности процессора, и я улучшил инстанс до n1-highcpu-2. После этого на выполнение всех преобразований ушло около 10 минут. Локальная машина все-таки сильно уступает серверу.
Цены на использование машин в Google Cloud очень демократичные. Несколько часов работы с разными инстансами обошлись мне аж в 4 цента. Более того, для новых пользователей Google дает $300 на 12 месяцев. Вы сможете, например, без остановки использовать тот же n1-highcpu-2 без остановки 8 месяцев или месяц пользоваться машиной с 8 vCPU и 52 GB оперативной памяти. Удачной работы в облаке.
Язык R в интернет-маркетинге — дайджест полезных публикаций Читайте также,
Комментарии:
Как стандартизировали сбор данных по проектам клиентов и отчетности, чтобы тратить меньше времени и не совершать лишние действия...
16 07 2026 10:38:41
Блог на новом движке и с новым дизайном, перетянувший в себя огромное количество постов и комментариев за Х лет своей работы...
15 07 2026 0:42:49
Надежный сайт позволит вести успешную деятельность, защитить плоды собственного труда и результаты работы исполнителей, с которыми вы сотрудничали. Для реализации задумки вам понадобятся авторские права....
14 07 2026 15:52:30
Доступно объясняем, как пользоваться и не типичными для экспертов по контекстной рекламе программами. Например, созданными для разработчиков. Узнать больше!...
13 07 2026 22:17:38
Какой движок сайта стоит выбрать...
12 07 2026 20:11:15
Интернет-маркетинг это не просто способ заработать. Про работу sео оптимизатора в Netpeak из первых уст...
11 07 2026 2:53:32
Как мы недооценили уровень конкуренции в нише, и как пришлось с этим бороться, чтобы принести пользу клиенту....
10 07 2026 18:41:13
Ситема управления проектами, которой пользуются в Netpeak....
09 07 2026 3:20:44
Чтобы понять, как работает Роскомнадзор, пришлось разбираться в деталях и делать опрос по топовым хостингам. Ответы и выводы читайте в статье....
08 07 2026 16:20:37
Специалисты, занимающиеся seo копирайтингом, рассказывают об использовании LSI: определение текста, кол во символов, подсчет слов онлайн...
07 07 2026 8:27:48
Мы хотим найти и купить локальную комaнду SEO или PPC-специалистов. Как обычно, делаем предложение нестандартно — в блоге...
06 07 2026 9:17:45
Что такое теневой бан, что о нем известно, как выйти из-под него. Плюс мнение SMM-эксперта Нели Серебро...
05 07 2026 2:57:47
А ещё у нас появилась новая стратегия SEO-продвижения для ниши доставки еды и продуктов....
04 07 2026 16:32:15
Первая реакция на перегорание — послать все к чертям собачьим. Очень заманчиво, но правильно ли убегать от всех проблем?...
03 07 2026 4:30:25
Настроенная бизнес-страница компании в Instagram и на Facebook помогает в продвижении товаров и услуг в интернете. Поэтому так важно сделать их seo-friendly. Читать!...
02 07 2026 7:39:23
Рассылка ежемecячно занимает второе место среди источников реферального трафика BuzzFeed. Уроки увеличения базы подписчиков от BuzzFeed от базы до метрик оценки. Принцип BuzzFeed — как можно быстрее внедрять в рассылку то, что нравится читателям....
01 07 2026 18:32:51
Как уменьшить время ответа сервера и повысить общий показатель скорости загрузки сайта...
30 06 2026 7:45:45
Публикуем рецензию на новое издание Брайана Клифтона. Несмотря на узкую специализацию, эта книга стала бестселлером на Amazon и уже переведена на 5 разных языков. Стоит отметить, что две предыдущие редакции «Google ***ytics для профессионалов» успешно ис...
29 06 2026 20:46:21
Уверены, что аппы в украине не приносят денег? В этом кейсе мы расскажем, как увеличить доход с мобильного приложения, и поделимся результатами продвижения LeBoutique...
28 06 2026 3:21:55
Портал-каталог организаций и его продвижение. В этом кейсе мы детальнее остановимся на выгодах для проекта от синергии усилий клиента и агентских специалистов по контекстной рекламе...
27 06 2026 19:41:46
Личный кабинет на сайте: что нового во внешнем виде, внутренностях и отчетах, функционале и юзабилити, автоматизации работы с оплатами, интернет-представительстве клиента и для специалистов. Узнайте больше!...
26 06 2026 15:39:33
Отмена видео-сниппетов в выдаче Google, удаление страницы с тегами и инструмента подсказки ключевых слов в YouTube — все события последних месяцев свидетельствуют: Google всерьёз взялся за видеохостинги и решил изменить правила игры для видеомаркетинга в...
25 06 2026 0:15:31
Тестируем новый инструмент Яндекс.Директ — динамические объявления....
24 06 2026 0:26:10
Устанавливаем тег конверсий: самостоятельно и с помощью Google Tag Manager....
23 06 2026 4:10:15
Заказчик всегда приходит с идеей. В этой идее может быть все продумано до мелочей, а может быть только каркас. В любом случае мысли клиента следует систематизировать так, чтобы с ними было удобно работать....
22 06 2026 4:17:14
Разбираем на примерах коллабораций, подрядчиков из регионов и тендендерных площадок...
21 06 2026 3:48:53
Когда саппорт-отдел не справляется, подключайте к работе ПланФикс и Телеграм....
20 06 2026 1:57:22
Где и как разработчик может подобрать ответственных удаленщиков, как составить техническое задание, чем контролировать качество работы...
19 06 2026 5:15:13
Что такое【контекстная реклама】и как ее настроить? Подробный чек-лист ✅ в блоге Netpeak ⟁ ▷ 200 ступеней рекламной кампании в Google AdWords, Яндекс.Директ ⚡...
18 06 2026 16:39:13
Еще организовали новую онлайн-конференцию, запустили опрос онлайн-покупателей, создали SEO-услугу для крупного бизнеса, рассказали, как вести В2С и В2В аккаунты в Instagram и ввели консультации SMM-специалистов....
17 06 2026 13:42:38
После нехитрых манипуляций с текстом вторая строка оказывается в заголовке....
16 06 2026 20:54:20
Как упростить знакомство клиента с компанией, продуктом или услугами....
15 06 2026 0:39:54
Несложные рекомендации, как увеличить продажи с сайта и его мобильной версии с помощью инструментов Google: ***ytics, Tag Manager, Optimizer и форм-опросов. UX-специалисты Турум-бурум рекомендуют их для проверки сайта и используют в своей работе....
14 06 2026 12:33:42
Перед обращением за услугами продвижения задайте себе вопрос: готов ли я выделить львиную долю своего времени и сил на серьезное развитие проекта? При отрицательном ответе не стоит и начинать. И другие вопросы о SEO-продвижении...
13 06 2026 18:37:20
Топ-8 ошибок новичков в Google Рекламе: как сэкономить деньги при планировании рекламной кампании....
12 06 2026 15:18:23
Детально заполняйте карточку товара, добавляйте качественные фотографии, делайте акцент на УТП....
11 06 2026 7:13:48
Подробная инструкция по интеграции с облачной базой данных и сравнение BI-платформ....
10 06 2026 9:43:21
О том, какие результаты дает эта технология, рассказал Александр Иванов, Head of Product в ЛУН.ua в рамках прошлогодней самой летней конференции 8P. Читайте, как его комaнде удалось разогнать загрузку страниц сервиса Flatfy до 0,2 секунды...
09 06 2026 14:36:15
Мы решили определить и раскрыть самые популярные вопросы по работе нового алгоритма Google Колибри...
08 06 2026 19:29:39
Как не облажаться при выборе подрядчика для SEO-аудита....
07 06 2026 9:41:32
21 апреля Google официально начнет учитывать совместимость с мобильными девайсами в качестве одного из факторов ранжирования сайта в мобильном поиске. Что это значит для владельцев сайтов и вебмастеров? Мы подготовили небольшой FAQ по теме для рубрики «SE...
06 06 2026 0:39:43
Как специалисту оптимизировать рабочее время, качественно развивать проекты и меньше нервничать...
05 06 2026 16:30:25
Сегодня стоит озвучить особенности страниц и групп в социальной сети Фейсбук...
04 06 2026 7:33:48
Как узнать срок хранения товаров в корзине и настроить ремаркетинг для завершения покупок...
03 06 2026 18:35:43
Бесплатные продукты для онлайн-бизнеса — история внедрения freemium модели в сфере виджетов обратных звонков....
02 06 2026 21:46:48
2013, 2014, 2015 — годы, когда конференция 8p радовала все сео-сообщество СНГ. Прошла она и в 2016 году. Мы собрали лучшие советы интернет-магазинам от экспертов и участников круглого стола на конференции 8P 2016....
01 06 2026 3:52:52
Достаточно настроить соответствующим способом триггеры и теги. Мануал здесь....
31 05 2026 7:26:49
Неля Серебро рассказывает про внутреннюю кухню блога Netpeak...
30 05 2026 18:44:27
Как правильно группировать ключевые фразы для релевантности рекламных кампаний...
29 05 2026 10:42:58
Если у интернет-магазина, форума да и любого другого сайта нет мобильной версии, почти 40 процентов пользователей будут искать другой ресурс. Как удержать их? Узнать!...
28 05 2026 18:47:26
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::