ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ | БОЛЬШИЕ ДАННЫЕ | ТЕХНОЛОГИИ

Основы работы с большими данными в Google Cloud Platform

Часть 2. Путь к Google Cloud Professional Data Engineer

Добро пожаловать во вторую часть серии сертификаций GCP Professional Data Engineer Certification. В первой части мы представили облачную платформу Google и ее иерархию. Вы можете найти Часть 1 здесь:



В этой части мы рассмотрим услуги и предложения GCP, когда речь идет о технологиях больших данных и машинном обучении.

Рекомендации по продуктам с использованием Cloud SQL и Spark

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

Идея этого варианта использования заключается в переносе существующей системы рекомендаций из локальной среды в облако.

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

Основные части задачи машинного обучения — это данные, модель и инфраструктура для обучения и предоставления прогнозов пользователям.

В качестве варианта использования выберем задачу разработки рекомендательной системы для аренды жилья.

Когда дело доходит до инфраструктуры, во-первых, нам нужно решить, как часто мы хотим делать прогнозы.

Итак, первое решение: должно ли наше приложение машинного обучения работать с потоковыми данными или как пакетный процесс?

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

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

Одним из таких примеров отказоустойчивой структуры процесса распространения является Apache Hadoop. Тогда процесс будет выглядеть примерно так:

  • каждый день для каждого пользователя прогнозировать оценку/рейтинг каждого дома на основе их предыдущих оценок
  • сохранить прогнозируемые рейтинги
  • при входе пользователя запрашивать первые N результатов (на основе прогнозируемых оценок) и отображать их для пользователя

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

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

В нашем примере лучше всего использовать Cloud SQL.

Cloud SQL — это полностью управляемая СУБД. Используя статический IP-адрес, мы также можем подключиться к нашему экземпляру Cloud SQL из любого места.

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

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

Хорошим примером такого программного обеспечения является Apache Spark и его пакет машинного обучения (Apache SparkML). Ознакомьтесь с другим моим блогом о выполнении задания Spark в рекордно короткие сроки без каких-либо накладных расходов на инфраструктуру.



Понравился ли вам этот пост? Если да, рассмотрите возможность подписки на мою рассылку, чтобы получать уведомления всякий раз, когда я публикую новый контент.



Кроме того, рассмотрите возможность стать участником, используя мою реферальную ссылку ниже, чтобы поддержать меня и других ваших любимых авторов на Medium. За 5 долларов в месяц вы получите неограниченный доступ ко всем статьям на Medium.



Хочешь угостить меня кофе?



Хотите связаться?

Я хотел бы услышать ваши мысли по теме, или что-либо AI действительно. Напишите мне по адресу [email protected], если вы хотите связаться с нами.

ЛинкединТвиттер