Как запустить 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 в интернет-маркетинге — дайджест полезных публикаций Читайте также,
Комментарии:
Скрипт для распределения бюджета на отстающую семантику, чтобы получать больше трафика по меньшей цене...
06 12 2023 19:46:38
Брендовые или витальные запросы содержат только название компании или бренда, без дополнительных уточнений...
05 12 2023 11:59:57
Чтобы прекратить споры о том, с какого конца разбивать яйцо, я собрал аргументы за союз SEO и PPC...
04 12 2023 9:34:45
89% предпринимателей не тестируют свои продающие тексты. О том, что и как нужно тестировать, рассказал в гостевом посте директор Студии эффективных текстов Владимир Руков....
03 12 2023 22:52:25
Масштабируем кампанию в Google за счет управления конверсиями и работы с эффективными каналами продвижения....
02 12 2023 9:56:20
Шаблон по настройке и оптимизации динамических поисковых объявлений...
01 12 2023 6:26:24
О том как растут доходы при оптовой торговле женской одеждой и обувью, а траты на рекламу остаются на прежнем уровне...
30 11 2023 1:47:35
Интересные детали интерьера в офисах украинских IT-компаний: от массажного стола и тенниса до звукозаписывающей студии и корпоративной велопарковки. Читать дальше!...
29 11 2023 4:24:17
Ежегодно в конце ноября начинается ажиотаж вокруг «огромных» скидок на Черную пятницу. Во всем мире этого дня ждут и готовятся покупать выгоднее. Но так ли это на самом деле?...
28 11 2023 18:58:17
Результаты грамотного внедрения технического SEO-аудита...
27 11 2023 21:28:48
Алгоритм настройки и запуска рекламы для SMM-, PPC-специалистов, блогеров и владельцев бизнеса....
26 11 2023 23:36:49
Решили перейти на Google ***ytics 4? Предлагаем разобраться, чем отличается инструмент от предыдущей версии и изучить новинки в отчетах «Демография» и «Технология»....
25 11 2023 20:22:33
Рекомендации от Google для бизнеса о поведении в период распространения коронавируса....
24 11 2023 14:57:30
Как настроить программу Obsidian для удобной и быстрой работы по системе Zettelkasten....
23 11 2023 22:25:22
Как мы недооценили уровень конкуренции в нише, и как пришлось с этим бороться, чтобы принести пользу клиенту....
22 11 2023 7:18:34
Данные, приведенные в исследовании, могут помочь в составлении медиапланов по продвижению в интернете....
21 11 2023 18:42:18
В Netpeak появляется больше клиентов с четкими задачами по продвижению своих мобильных приложений в iOS и Android. В этом посте — кейс приложения популярной доски объявлений....
20 11 2023 6:49:26
Как работать с новой функцией, чтобы набирать подписчиков и делать продажи. Подробное и актуальное руководство в 2021 году....
19 11 2023 2:45:32
Мануал по созданию удобного планировщика повторяющихся действий....
18 11 2023 21:18:31
Полем битвы стала тематика кроваток, игрушек и прочих детских товаров, основным оружием в бою — контекстная реклама....
17 11 2023 12:31:22
Чем радовала, смущала и шокировала реклама в социальных сетях в марте 2021-го...
16 11 2023 3:18:59
Ситема управления проектами, которой пользуются в Netpeak....
15 11 2023 15:25:23
Опрос экспертов. Как правильно искать подрядчиков, которые станут партнерами для вашего бизнеса? Как долго работать с партнерами и не испортить отношения? На что обращать внимание в первую очередь, а на что можно закрыть глаза?...
14 11 2023 12:54:36
Обучение SEO, PPC, курс по изучению языка R, академии Netpeak Software, Serpstat и другие. Список обновляется....
13 11 2023 9:36:24
Как узнать слабые места ваших рекламных кампаний с помощью бесплатного скрипта....
12 11 2023 11:17:50
Подробная инструкция по интеграции с облачной базой данных и сравнение BI-платформ....
11 11 2023 1:27:38
Ссылки называются вечными, потому что их внедряют один раз и навсегда, но это не значит, что такие ссылки однажды не удалят (что поведет к потере трафика). Узнать больше!...
10 11 2023 4:35:43
Чтобы и клиенту не стыдно было показать и свои ожидания не обмануть....
09 11 2023 8:15:18
Какой рекламный инструмент использовать, чтобы получить максимальный результат...
08 11 2023 18:53:22
Чтобы создавать удобные отчеты, импортируйте данные из Яндекс.Директ в Microsoft Power BI с помощью язык R...
07 11 2023 21:44:49
Как внедрить Business Intelligence для малого и среднего бизнеса....
06 11 2023 21:53:27
Как составить список, работа с которым займет меньше времени, чем обычно. На примере обработки запросов в ювелирной тематике....
05 11 2023 9:48:58
Ярослав Легенчук поделился историей успешного «переезда» площадки IT-продукта из Рунета в страны ЕС...
04 11 2023 7:25:17
Объявление в тематике автошин — отличная тема для рекламы в интернете....
03 11 2023 2:36:19
Алексей Селезнев проанализировал, как дорого обходятся рекламодателям клики по объявлениям в 25 тематиках и 92 странах....
02 11 2023 23:46:23
Кейс: новинки в продвижении рекламы интернет-магазина в контекстно-медийной сети Google...
01 11 2023 12:36:52
Несколько полезных советов перед запуском. Tрaнcпорт и путешествия, ритейл, медиа и развлечения — тематики, в которых чаще используют мобильные приложения. Есть и другие факторы популярности приложений. Узнать!...
31 10 2023 3:40:28
Пожар в дата-центре, неудачные обновления и то самое падение Facebook....
30 10 2023 6:44:50
Нужно ли начинать работу с Google Marketing Platform, и если да, то на каком этапе развития бизнеса?...
29 10 2023 12:40:11
Всем, кто собирается перейти на Single Page Application, но переживает, что они поссорятся с поисковыми системами. Правильно переживаете!...
28 10 2023 9:38:45
Новости, доработки и обновления в услугах, блоге, Академии блога и Кластере....
27 10 2023 13:11:53
Слорварь сленга, без которого к 25-летним не подходи...
26 10 2023 3:49:53
СЕО of Augmented Pixels рассказал нам о принципах ведения бизнеса в Украине и США, о ненужности бизнес-планов и креативных питчей, а также о способе стать лучшим программистом...
25 10 2023 10:59:28
В коробку [SEO 2.0] вместе с самим поисковым продвижением входят дополнительные ценности Netpeak: унифицированные действия по увеличению продаж, улучшения удобства работы и преимущества бренда Netpeak...
24 10 2023 10:45:58
Советы специалистов по продвижению интернет-магазинов в сверхконкурентной нише одежды и обуви...
23 10 2023 10:15:39
Как создавать интеpaктивные рассылки-сайты и чем они хороши...
22 10 2023 10:22:35
Базовые знания, которые нужны, чтобы ресурс понравился поисковикам и пользователям....
21 10 2023 18:39:51
Проведение краудфандинговых кампаний — это бизнес. Это отдельный и вполне серьёзный рынок с уймой заточенных под ваши нужды услуг. Раньше нужно было ждать, пока проект пройдет обязательную проверку сотрудником Kickstarter, сейчас можно запускать кампанию...
20 10 2023 17:54:25
Продажа климатического оборудования. Кейс о проекте, который продвигался у нас на услуге «продвижение по позициям» и не демонстрировал хороших результатов как по росту трафика, так и по продажам, не смотря на высокие места в выдаче. Узнать больше!...
19 10 2023 11:37:19
Идеальный вариант — грамотно оптимизировать страницы фильтров уже на этапе разработки сайта...
18 10 2023 23:26:37
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::