Как запустить 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 в интернет-маркетинге — дайджест полезных публикаций Читайте также,
Комментарии:
Пример того, как составить маркетинговый контент-план, анализируя успешных конкурентов...
01 04 2026 16:28:39
Клиенты, партнеры, потенциальные сотрудники — для каждой аудитории есть своя платформа. Какими нужно быть в соцсетях, чтобы вас заметили, читайте об опыте Reface....
31 03 2026 8:56:12
Расширения, горячие клавиши и мгновенный перевод слов на другой язык — минимум лайфаков, которые можно использовать для удобства пользователей Google Chrome...
30 03 2026 19:48:45
Стоит ли подключать автоматические стратегии управления ставками? Мы проверили, как работает «Целевая цена за конверсию» в разных тематиках....
29 03 2026 1:15:35
Это не автобиографические романы, не бесплатные учебники и не подборка книжек, чтобы скачать в epub. Это интересная топ литература о маркетинге, которую мы хотим вам посоветовать....
28 03 2026 23:54:15
Почти 50 тыс. контактов за год принесли формы подписки и регистрации....
27 03 2026 20:47:51
Делаем первые шаги к созданию системы email-коммуникаций бренда....
26 03 2026 13:35:28
Что постить предпринимателям в соцсетях. Несколько примеров уместной работы SMM- и PR-специалистов, которые прямо и четко помогают озвучить позицию бизнеса в период карантина. Узнайте больше, чем действовать правильно!...
25 03 2026 9:21:17
2 любопытные истории и 8 успешных стартапов, которые вас удивят....
24 03 2026 13:29:46
Как прокачать свои знания и навыки использования GA, чтобы оптимизировать сайт и получать больше (намного больше, чем сейчас) трафика, конверсий, вовлечения. Больше!...
23 03 2026 8:11:32
Получаем реальную статистику эффективности использования AMP-страниц с помощью АМР Client ID API....
22 03 2026 19:58:23
Открытие проверенных действий по увеличению продаж...
21 03 2026 6:57:19
Время, потраченное на исправление ошибок, допущенных на этапе подготовки и создания сайта, убивает потенциал роста видимости ресурса....
20 03 2026 8:49:41
Быстро разогнать рекламные кампании и получить рост конверсий при повышении CPA до 100%. Как этого добиться — читайте в новом кейсе....
19 03 2026 21:29:33
Как создать аккаунт в Google Merchant Center, загрузить и изменить фид с информацией о товарах, — делимся тонкостями настройки кампаний шопинга...
18 03 2026 8:54:52
Магазин вязанных вещей хенд мейд. Как за два месяца увеличить посещаемость в 20 раз....
17 03 2026 13:23:50
Cafe case. Знакомство аудитории с только что открывшимся заведением: online + offline....
16 03 2026 5:21:41
Применяя фишки, можно выделить релевантную аудиторию и продать ей что угодно — от кроссовок до президента....
15 03 2026 15:56:12
Что нужно знать перед запуском рекламы в мессенджерах....
14 03 2026 1:37:33
Представляем Netpeak Journal — новый этап развития блога Netpeak...
13 03 2026 6:26:29
Откуда берутся установки и стоит ли тратить деньги на покупку мотивов...
12 03 2026 1:11:22
Где и как разработчик может подобрать ответственных удаленщиков, как составить техническое задание, чем контролировать качество работы...
11 03 2026 3:47:21
История свидания двух ботов как иллюстрация развития искусственного интеллекта...
10 03 2026 16:58:24
Айти эксперт Женя Розинский о том, почему нацию айти развивают продуктовые бизнесы, а не outsourcing сервисы...
09 03 2026 22:29:27
Поговорим о soft skills, потому что именно они, исходя из моего опыта, помогают строить поистине сильные комaнды....
08 03 2026 8:10:22
Большинство покупателей предпочитают безналичный расчет, желают иметь разные варианты оплаты. Как их наличие или отсутствие влияет на средний чек?...
07 03 2026 3:31:56
Как помешать фейковым 404 страницам испортить статистику вашего сайта?...
06 03 2026 8:32:18
При выборе SEO сервиса принято ориентироваться на объем ссылочной массы, но надежен ли такой подход? Большая база не всегда значит качество содержащихся в ней данных, а количество нередко обеспечивают спамные ссылки в отчетах....
05 03 2026 10:25:22
О том, какие результаты дает эта технология, рассказал Александр Иванов, Head of Product в ЛУН.ua в рамках прошлогодней самой летней конференции 8P. Читайте, как его комaнде удалось разогнать загрузку страниц сервиса Flatfy до 0,2 секунды...
04 03 2026 14:28:45
Открываем интернет-магазин за один день. Комплекс UniTheme от AlexBranding и Netpeak включает CMS CS-Cart, современный шаблон и 11 SEO-модулей...
03 03 2026 8:22:57
Понятная инструкция для SMM-специалистов для тех, кто экспериментирует с настройками аудиторий в рекламных кампаниях. Вы увидите, как настраивать ремаркетинг на примере Facebook. Существует 10 типов индивидуализированных аудиторий в Facebook, разберем три...
02 03 2026 14:51:42
Читайте простой мануал о том, как перейти на Universal ***ytics и не поломать весь сбор данных...
01 03 2026 15:26:59
Подробно рассказываем, как создать, внедрить и проверить XML-карту сайта....
28 02 2026 8:28:46
Интересные факты про Google Рекламу перевел Сергeй Бахарь для читателей нашего блога....
27 02 2026 23:18:28
Список минус-слов для Google Рекламы для B2B сайтов....
26 02 2026 9:40:56
Стоит ли торопиться с переходом на новый формат объявлений? Эксперимент PPC-специалистов агентства Netpeak....
25 02 2026 13:25:13
Примерно 70% конверсий происходит за счет дополнительных источников, их ценность отражается в GA. Разбираемся, какие отчеты использовать для анализа и оценки таких источников. Читайте далее!...
24 02 2026 10:33:26
Как бесплатно отключить смс уведомление. Плюс — подсказки для маркетологов: как снизить негативное отношение к бренду. То есть, как красиво предоставить возможность отписаться от смс клиентам, и не слить бюджет на ненужные сообщения. Узнать больше!...
23 02 2026 9:46:17
Почти 4,5 млрд людей имеют аккаунты в соцсетях. Огромная и активная аудитория. Но как среди нее найти своего клиента? Поможет таргетированная реклама....
22 02 2026 21:26:35
Как исключить показы на нецелевых площадках в новом интерфейсе Google Ads. В конце статьи 30 000 минус-площадок, каналов YouTube, сайтов, приложений...
21 02 2026 7:55:24
О возможностях нестандартного использования поисковых систем для решения важных бизнес-задач...
20 02 2026 5:57:15
Звук телефонного звонка важен и для пользователя интернета. Как точно рассчитать полученную прибыль и рентабельность инвестиций в рекламу...
19 02 2026 6:33:48
Каждому бизнесу в интернете важно продумать систему оплаты для своих товаров или услуг. При этом следует учитывать объемы и нишу бизнеса. Узнать больше!...
18 02 2026 5:15:37
Объявление в тематике автошин — отличная тема для рекламы в интернете....
17 02 2026 9:37:50
Игровой формат отлично работает в email-рассылке. Но какой вид гeймификации интересен любой целевой аудитории? Давайте рассмотрим примеры....
16 02 2026 11:20:37
Так называемый Humankindex (доброжелательный стиль управления) способствует инновациям в компании....
15 02 2026 8:39:28
Много интересных фактов о работе мозга и новейших исследованиях социологии и психологии....
14 02 2026 13:40:17
Наш обзор кинофильма «Социальная сеть» про Facebook и Марка Цукерберга....
13 02 2026 15:42:14
Формула изменения поведения Фогга и два красочных примера инсайде....
12 02 2026 17:33:57
Помогают ли комментарии повысить эффективность рекламных постов? Единственный способ выяснить наверняка — провести A/B-тестирование в Facebook. Спойлер: тональность комментария также имеет значение в Facebook...
11 02 2026 4:24:36
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::