Аналитическая платформа данных по игре Dota 2: источники
vechkasov__02 35 минут назад Аналитическая платформа данных по игре Dota 2: источники Простой 6 мин 1.1K Data Engineering * Big Data * Учебный процесс в IT Кейс Из песочницы Мотивация и целиВсем привет! Я инженер данных...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Вот важная новость с фронта ИИ: vechkasov__02 35 минут назад Аналитическая платформа данных по игре Dota 2: источники Простой 6 мин 1. 1K Data Engineering * Big Data * Учебный процесс в IT Кейс Из песочницы Мотивация и целиВсем привет! Я инженер данных в Альфа-банке и еще на моменте обучения профессии хотел сделать пет-проект с обработкой данных и интересной инфраструктурой.
Пришел к выводу, что это должна быть компьютерная игра, и для меня лучше всего подошла Dota 2, но с получением сырых данных было много трудностей, в которые не было времени вникнуть, и я откладывал этот проект долгое время. Позже мне поручили подготовить проект для обучения студентов основам инженерии данных и специфике работы с данными. Я решил вернуться к той идее и геймифицировать обучение: игровые данные, на мой взгляд, помогают быстрее вовлечься в задачи, которые на бизнес-примерах могут выглядеть слишком абстрактно.
Технические детали
При выборе игры у меня было одно опасение: данные должны быть одновременно интересными и достаточно понятными широкой аудитории. Dota 2 показалась хорошим вариантом. В ней много сущностей и сценариев: игроки, герои, предметы, игровые события, экономика матча, команды и результат.
В итоге я хотел собрать не просто набор таблиц с матчами, а живой контур данных, который регулярно получает новые матчи, дополняет их событиями, сохраняет результат и передаёт его в хранилище данных для дальнейшей аналитики. ИсточникиДля проекта я использую 2 API: Steam Web API и Stratz GraphQL. Они дополняют друг друга и работают параллельно в своих потоках — Steam API находит новые актуальные матчи, а сервис Stratz парсит их на события и хранит на своей стороне.
Сначала я рассматривал Steam как единственный источник и в его документации описаны endpoint’ы для получения детальных данных — IDOTA2Match_570/GetMatchDetails (docs), который должен возвращать детальную информацию о матче по match_id, однако в текущем состоянии им невозможно пользоваться — все еще остается главным инструментом для получения актуальных матчей, но обогащением занимается Stratz, который по match_id из Steam выдает все события, нас интересующие. Steam Web APIКлюч Steam API можно получить на странице регистрации. После входа в Steam достаточно указать домен приложения и сохранить выданный ключ для запросов к API.
Отраслевые последствия
Основной endpoint проекта - GetMatchHistoryBySequenceNum (docs). Он возвращает матчи начиная с заданного sequence number, это удобно для инкрементальной загрузки матчей. GetMatchHistoryBySequenceNum работает от sequence number, не имеет фильтра «от даты» и не даёт надёжного публичного указателя текущей позиции.
При старте потока приходится выбирать приближённую точку, а не получать идеально полный поток новых матчей. params = { "key": settings. STEAM_API_KEY, "matches_requested": 100, "start_at_match_seq_num": start_sequence, } response = await client.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.






