Данные - одно из основных отличий Pandora. С момента запуска нашего сервиса в 2005 году слушатели Pandora создали 13 миллиардов станций и просмотрели более 90 миллиардов раз. Эти отзывы наших слушателей являются ключевым компонентом того, как мы настраиваем наши радиостанции и плейлисты, чтобы обеспечить уникальный и индивидуальный опыт. Например, ранее в этом году мы запустили Персонализированные саундтреки на Пандоре.

Персонализированные саундтреки - это набор тематических плейлистов, которые автоматически создаются для каждого слушателя Pandora Premium и являются уникальными. Существуют десятки доступных тем, охватывающих широкий спектр настроений, занятий и жанров, таких как «Энергия», «Вечеринка» или «Дабстеп». Каждый список воспроизведения персонализирован для слушателя, как с точки зрения выбора тем списка воспроизведения, так и содержащихся в нем песен. Новые плейлисты доставляются еженедельно и развиваются синхронно с вашими музыкальными предпочтениями.

Наша способность эффективно выполнять вычисления с нашими крупнейшими наборами данных является фундаментальной частью нашей персонализации. Заглядывая в будущее, мы продолжаем инвестировать в наши основные возможности персонализации и понимания контекста. Это подводит нас к сегодняшнему дню и почему мы рады сообщить, что выбрали Google Cloud Platform (GCP) в качестве предпочтительного поставщика облачных услуг для больших данных и аналитики в Pandora.

С 2010 года мы используем Hadoop для аналитики и автономной обработки данных. Мы начали с небольшого локального кластера, и по мере роста потребления данных наш кластер также вырос - до более чем 2500 узлов. Наши ученые, разработчики и аналитики ежедневно просматривают около 6 ПБ данных с помощью таких инструментов, как Hive, Spark и Presto, чтобы получить информацию и улучшить продукт.

С тех пор, как в 2010 году мы запустили наш локальный кластер, ситуация с облачными предложениями, связанными с аналитикой, сильно изменилась. Возможность облачных провайдеров разделять вычислительные ресурсы и ресурсы хранения - захватывающая перспектива. У нас есть единый монолитный производственный кластер. Как вы можете себе представить, запуск кластера, который разделяет ресурсы между производственными пакетными и специальными рабочими нагрузками, имеет свои проблемы. Чтобы удовлетворить потребности нашей команды, мы должны подготовить наш кластер к пиковым нагрузкам, и нам трудно опередить кривую использования. Неизбежно, нам приходится расставлять приоритеты для наших рабочих нагрузок, что часто означает, что некоторые пользователи в конечном итоге ждут завершения заданий. Возможность наращивать целевые кластеры Hadoop на основе наших общих наборов данных и масштабировать их в большую или меньшую сторону по мере необходимости - это для нас кардинальное изменение.

Ранние победы

Несмотря на то, что мы только начинаем, у нас было несколько первых побед от использования GCP. Большая часть нашей локальной рабочей нагрузки в настоящее время выполняется в Hive & Presto. Некоторые из этих рабочих нагрузок, особенно интерактивные специальные запросы, отлично подходят для BigQuery. Мы наблюдали очень стабильную производительность по нашим крупнейшим наборам данных. В нашем доказательстве концепции мы взяли самые сложные запросы к одному из наших крупнейших наборов данных (13 миллиардов записей в месяц). Время работы с нашим локальным кластером было постоянным - от 30 секунд до нескольких часов. Все эти запросы выполнялись в BigQuery менее чем за 30 секунд. Возможность для разработчиков, ученых и аналитиков быстро выполнять итерацию без переключения контекста будет для нас большим выигрышем в производительности.

Использование Cloud Dataflow с обучением модели TensorFlow - еще одна область, которую мы стремимся развернуть более широко. Ранняя рабочая нагрузка была перенесена с отдельного компьютера на задание потока данных, чтобы обеспечить параллельное выполнение. Результатом переезда стало сокращение времени работы с 6 дней до 30 минут.

Следующие шаги

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

По мере того, как мы продвигаемся в своем путешествии, мы будем делиться своим опытом как с платформой, так и с нашей миграцией здесь, в Алгоритме и блюз.