avatar
Joni in Web
@joni_in_web
25.02.2025 06:52
Хабр Карьера — сервис для IT-специалистов из экосистемы Хабра, где можно найти вакансии от джунов до сеньоров, сравнить зарплаты и прокачать навыки. Это площадка с тысячами предложений, калькулятором доходов и рейтингом работодателей.

А теперь давайте посмотрим, как мы с Сашей Варламовым (@data_bar) используем данные с Хабр Карьеры в нашем проекте — свежий дайджест обновлений!

Что нового в дашборде?

Данные Хабр Карьеры
- Появились вакансии для Junior и Intern, которых раньше не было в Getmatch.

Новые возможности
- Сортировка по разным метрикам в таблице вакансий.
- Логотипы компаний с Хабра — теперь таблицы выглядят нагляднее.
- Прямые ссылки на вакансии прямо из дашборда.

Тренды во времени
- Ежедневные данные, чтобы отслеживать изменения: сколько вакансий, какие зарплаты, какие навыки востребованы.

Что можно сравнить?
- Вакансии и зарплаты на Getmatch и Хабр Карьере: где больше предложений, где выше вилки?
- Категории: Junior/Intern против более опытных позиций.
- Динамику рынка: как меняются спрос на навыки и зарплаты.

*Можно найти вакансии с зарплатами до 2 600 000 рублей (да, такие есть ).

Посмотри на наш дашборд анализа зарплатных вилок

.

.

.

.

.

Ты ещё тут? Погнали дальше, расскажу про техчасть

Чтобы всё работало стабильно, "совсем чуть-чуть" обновил инфраструктуру:

- Перешли с PostgreSQL на Clickhouse, установленный прямо на VPS. В TimeWeb DBaaS нельзя было настроить подключение между базами — провайдер забирает права суперпользователя ради безопасности, но нам нужен был полный контроль. Настроил на VPS всё с нуля: пользователей, роли, базы, схемы, таблицы, плюс фаервол через мой VPN для защиты.

- Docker, даже с запущенным контейнером ClickHouse без нагрузки, потребляет 20-30% CPU. Это значительный оверхед, особенно для нашего проекта, где ресурсы VPS ограничены. В то же время нативная установка ClickHouse без нагрузки использует всего 5% CPU (да, немного - но пока база не 100GB и дагов мало можем себе позволить).

- Мигрировал вакансии с двух платформ из PostgreSQL в Clickhouse, сохранив структуру для анализа.

- Нашел у себя грубую ошибку в инсерте в БД для Хабр парсер - потерял 4 дня слепков. Хороший урок: проверять всё тщательнее.

- Подрубил ежедневное обновление Google-таблиц через Airflow. Собираю данные с Clickhouse (вьюшки с двух платформ) и раскладываю сущности по разным листам для дашборда — сейчас показываем 8 дней.
При создании таблицы из дага через API Google Sheets наткнулись на проблему: курсы за субботу и воскресенье были пустыми в базе. Теперь это учтено — сохраняем курс с пятницы для выходных, чтобы данные были полными.

- Поднял dbt и приступил к стейджингу. Настроил коннект к Clickhouse, выделил stg-слой с основными сущностями (вакансии, навыки, компании). Сейчас raw-слой — это просто распарсенные данные с платформ. Использую BashOperator в Airflow для ежедневного запуска dbt. На подходе — интеграция Great Expectations, чтобы проверять данные на качество прямо в dbt-пайплайне.


Что дальше?

- Подключить третью платформу.
- Завершить нормализацию данных в dbt.
- Автоматизация унификации данных (LLM для навыков, локаций, названий компаний).
- Попробовать ML для прогноза зарплатных вилок.
🔥 13
🐳 4
1
9 825

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram

Joni in Web

215
Канал Никиты.
Делюсь проектами, ошибками и лайфхаками.

🎯 Учиться, учиться — и получить прекрасный оффер!
Открыть в Telegram