В этом практическом курсе вы научитесь строить полный пайплайн данных на платформе AWS - от получения данных из Twitter API до анализа, хранения и визуализации.
Вы создадите собственный алгоритм машинного обучения и развернёте его на AWS с помощью Lambda. Также вы настроите базу данных Postgres с использованием Amazon RDS. Для визуализации результатов вы разработаете интерактивный дашборд на Streamlit и получите опыт его развертывания в контейнерах с помощью Elastic Container Registry (ECR) и Elastic Container Service (ECS). Кроме того, в курсе вы познакомитесь с инструментом Poetry и научитесь управлять зависимостями вашего проекта.
Структура курса
Twitter API
Twitter API - отличное место для получения открытых данных. Вы научитесь настраивать доступ к API, получать твиты из ленты пользователя для дальнейшей обработки. Разберёмся в настройке API и формате данных (payload), которые он возвращает.
База данных RDS
Каждой платформе нужно хранилище данных. Вы научитесь настраивать базу данных Postgres в Amazon RDS и разберётесь, зачем мы будем сохранять JSON-твиты в эту базу. Также вы освоите работу с виртуальными облачными сетями (VPC), чтобы сделать базу доступной из интернета. С помощью PGAdmin вы создадите таблицы и выполните запросы к базе данных.
NLP Lambda
Для анализа текста мы применим готовый алгоритм машинного обучения из библиотеки Natural Language Toolkit (NLTK). Вы создадите Lambda-функцию, которая будет получать твиты из API, определять их тональность (sentiment) и сохранять результаты в базу данных.
Чтобы запустить функцию Lambda, вы научитесь подключать необходимые зависимости через слои (layers) - как импортировать подготовленные K-Layers, так и создать свой собственный layer. Также вы узнаете, как настроить автоматический запуск Lambda-функции с помощью Event Bridge.
Управление зависимостями и приложение Streamlit
Для визуализации результатов вы создадите приложение на Streamlit. Вы настроите локальную среду разработки с Anaconda3 и создадите виртуальное окружение conda. С помощью предоставленного Git-репозитория вы научитесь управлять зависимостями проекта с помощью Poetry. Мы пошагово разберём код приложения и покажем, как запускать его в новом виртуальном окружении для тестирования.
Развёртывание приложения Streamlit в ECS
Когда визуализация готова, вы изучите, как работать с Docker-образами и контейнерами в AWS. Вы создадите Elastic Container Registry (ECR) и установите AWS CLI. Научитесь создавать группы пользователей и отдельных пользователей с ограниченными правами доступа в IAM.
После сборки Docker-образа вы загрузите его в ECR, настроите кластер ECS Fargate и развернёте ваше приложение Streamlit в виде задачи (task) на платформе.