Как запустить 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 в интернет-маркетинге — дайджест полезных публикаций Читайте также,
Комментарии:
Расскажу, как подобрать картинку на рабочий стол объявления в Рекламной сети Яндекса, и приведу небольшой кейс о том, как это делали мы для агентства путешествий...
18 01 2025 15:57:36
Сбор ключевых запросов с помощью программы Кей Коллектор: показываем и рассказываем пошагово с демонстрацией процесса настройки с сервисом Яндекс.Вордстат. Читать дальше!...
17 01 2025 6:35:59
Стартовый урок о том, как настроить визуализацию данных из Google ***ytics с помощью Google Spreadsheets...
16 01 2025 16:44:26
Стоит ли платить за рекламную кампанию «Медийно-контекстный баннер на поиске»?...
15 01 2025 15:29:29
Как с помощью рекламы в Apple Search Ads получить дешевые установки и привлечь релевантных пользователей среди владельцев айфонов...
14 01 2025 4:18:52
SMM для агентства перформанс-маркетинга. Как уйти от сухих текстов и стандартных баннеров для бизнес-страницы....
13 01 2025 11:23:47
Когда на сайт добавляют новый контент, он тут же трaнcлируется в RSS-ленту и отображается в специальных программах для чтения, либо в email подписчиков. Как это работает?...
12 01 2025 12:57:27
Адвент-календарь, конкурсы и викторины, праздничные линейки товаров, подборки подарков для родных и близких, опросы, тесты и другие интересности. Используйте, если нужны идеи и вдохновение....
11 01 2025 19:33:40
Создание даже короткого ролика может стоить дорого. Поэтому можно использовать бесплатный инструмент Bumper Machine от Google....
10 01 2025 23:30:40
Зачем внедрять BI-решение для бизнеса, какие функции отдел может решить с помощью автоматизации? Кейс Netpeak....
09 01 2025 7:46:58
Деловой этикет в переписке с бизнес-партнерами, сотрудниками, клиентами. Как заручиться доверием, укрепить деловые отношение и мотивировать подчиненных. Узнать!...
08 01 2025 15:24:38
Facebook раскрывает алгоритм формирования новостной ленты...
07 01 2025 1:41:53
Много 404-страниц и ссылок на них негативно сказывается на ранжировании сайта в поисковых системах....
06 01 2025 4:46:51
Как правильно оформлять свое портфолио, писать сопроводительные письма и делать посты в соцсетях. С помощью простой человеческой адекватности можно выигрывать у 90% других подрядчиков. Как это использовать? Читайте дальше!...
05 01 2025 6:34:49
Где и как разработчик может подобрать ответственных удаленщиков, как составить техническое задание, чем контролировать качество работы...
04 01 2025 10:47:47
1 — меняй работу внутри работы, 2 — выбери то, что нравится больше всего и старайся делать это чаще, 3 — придумай себе развлечения. Подробности — в посте. Читать дальше....
03 01 2025 12:56:18
Как сделать склейку и сохранить трафик, распространенные ошибки при склеивании. Узнать больше!...
02 01 2025 14:57:23
Как перенести рекламные кампании из адвордс в директ, используя только Google Editor и Директ Коммaндер? Делимся быстрым и эффективным методом...
01 01 2025 2:16:46
Ссылка с сайта с высоким тИЦ уже не считается качественной. Хороший донор вычисляется по комплексу факторов. Большую часть работы придется делать вручную. Важно найти отличный сайт, с огромным количеством интересного контента, оцененного по достоинству читателями, и гармонично туда вписать свою статью со ссылкой...
31 12 2024 21:57:28
Как настроить просто и быстро настроить скрипт в Google ***ytics для отслеживания печати страниц сайта....
30 12 2024 13:51:14
Правильная внутренняя перелинковка необходима, чтобы страницы не вылетали из индекса, а также чтобы увеличить ссылочный вес продвигаемых страниц...
29 12 2024 16:51:26
Десять вопросов, которые чаще всего задают люди, столкнувшиеся с необходимостью создания landing page....
28 12 2024 4:20:20
Масштабируем кампанию в Google за счет управления конверсиями и работы с эффективными каналами продвижения....
27 12 2024 12:15:21
Что делать, если нет четкой модели оценки эффективности контекстной рекламы?...
26 12 2024 1:25:10
Отличный кейс Ольги Костовой. Увеличивая бюджет на рекламу вдвое, вы начинаете заpaбатывать не вдвое больше, а в 2.5, 3 и так далее раз больше. На примере кейса показываем, как это происходит. Читать дальше....
25 12 2024 1:47:39
Работать сейчас — не зазорно, а просто необходимо для страны...
24 12 2024 9:26:48
Владельцы айфонов в странах арабского мира легче расстаются с деньгами за приложения. Вот почему арабская локаль в App Store так привлекательна...
23 12 2024 12:31:50
Продвижение казахстанского онлайн-издания, новостника informburo.kz....
22 12 2024 7:35:24
Интервью с основателем школы английского языка Progress...
21 12 2024 17:33:39
Аналитики из SalesForce уже в четвертый раз опубликовали исследование о приоритетах, составе комaнд и распределении бюджетов ведущими маркетологами мира...
20 12 2024 11:58:12
Email-маркетинг увеличивает частоту транзакций. Показываем как это происходит и за счет чего. Делимся кейсом email-маркетинга для книжного интернет-магазина. Читать дальше....
19 12 2024 3:17:32
Бесплатная регистрация сайта в поисковых системах и каталогах – отличный способ увеличить объемы трафика и раскрутить собственный ресурс....
18 12 2024 5:22:38
Интересный и важный документ, не пропустите. Для ранжирования используется сумма коммерческой и тематической релевантности. Уходя с головой в SEO, многие вебмастера забывают о пользовательских факторах. Узнайте больше об этом!...
17 12 2024 21:53:56
Расскажем в двух словах о всеми забытой функции «Анализ конкуренции»....
16 12 2024 16:49:30
Лидеров определили открытым голосованием. В ТОП-списки вошли CPA-сети, которые набрали больше всего голосов суммарно и по отдельным критериям....
15 12 2024 6:54:13
Электронный кошелек — это виртуальная ячейка для хранения денежных средств. Каждая такая ячейка обладает уникальным цифровым определителем и может принадлежать одному человеку....
14 12 2024 18:22:37
Как упростить работу с данными и сэкономить на оплате сервиса...
13 12 2024 12:46:51
Как создать аккаунт в Google Merchant Center, загрузить и изменить фид с информацией о товарах, — делимся тонкостями настройки кампаний шопинга...
12 12 2024 17:28:13
Обзор новой версии краулера Netpeak Spider 3.0, которая включает в себя около 300 изменений: от супер-фич до небольших фиксов в юзабилити....
11 12 2024 14:38:21
Как настроить работу удаленной комaнды сотрудников и успевать выполнить все задачи...
10 12 2024 5:28:58
Упущенная семантика — это ключевые фразы, которые успешно используют в SEO и PPC ваши основные конкуренты, но не используете вы. Как найти упущенную семантику? Читайте кейс сервиса Prodvigator....
09 12 2024 9:26:44
Памятка для всех, кому важно сохранить детали переговоров....
08 12 2024 12:17:41
Перед внедрением ремаркетинга следует хорошенько поработать над составлением базовых портретов аудитории сайта...
07 12 2024 3:28:13
Филиалы курсов в Таллине, Москве, Днепропетровске. Оказывается, нельзя так просто взять и посчитать ROMI (возврат маркетинговых инвестиций) в этой тематике....
06 12 2024 12:54:45
За каждым проектом стоят прежде всего люди. Как часто мы пользуемся сложными системами и не думаем о том, кто их создал и продолжает развивать? Интересно о том, кто и что стоит за «ПланФиксом». Читайте далее!...
05 12 2024 3:45:18
Как упростить знакомство клиента с компанией, продуктом или услугами....
04 12 2024 15:37:29
Начинаем серию постов в режиме реалити-шоу о подробностях продвижения крупного игрока бизнеса email- и sms-рассылок — компании UniSender....
03 12 2024 12:34:26
Как Blizzard реализует тимбилдинг, мотивирует сотрудников и превращает офис в музей...
02 12 2024 16:42:48
Как зарегистрироваться и пользоваться аккаунтом в Google Business Profile: руководство для интернет-маркетологов и владельцев бизнеса...
01 12 2024 3:52:19
Под какие треки работают интернет-маркетологи, копирайтеры и другие специалисты digital-рынка....
30 11 2024 3:35:55
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::