Автор документирует свой переход в инженерию данных. Он уже построил два конвейера: плановый ETL-конвейер GitHub, который хранит данные в SQLite, и автоматизированный RSS-конвейер, который загружает технические статьи в PostgreSQL. Оба управляются через Kestra и упакованы в контейнеры Docker для развертывания в AWS.
В этом новом проекте под названием Level 3 цель — создать конвейер, который отслеживает рынок труда для тех самых должностей, которые ищет автор: инженер данных, инженер аналитики, ETL-разработчик и смежные позиции. Каждый запуск проверяет, нанимают ли работодатели на такую роль, которую хочет автор. Проект представляет собой форму открытого обучения: автор создает инструмент, который ему самому хотелось бы иметь, продолжая искать первую работу в инженерии данных.
Дизайн использует данные из двух источников, Hacker News и сайта вакансий, сохраняет их в хранилище данных, оркестрирует работу с помощью нового инструмента и применяет снимки dbt, чтобы отслеживать, когда объявления открываются и закрываются со временем. Apache Airflow был выбран в качестве оркестратора, потому что это название рекрутеры ищут чаще всего; в этом проекте он заменил Kestra.
Первым выбором для хранилища стал BigQuery, но Google Cloud требует обязательного предоплаты в 30 долларов для привязки платежного аккаунта в некоторых странах, прежде чем станут доступны функции IAM и сервисных аккаунтов, даже на бесплатном тарифе. Поэтому автор перешел на DuckDB. dbt скрывает большую часть специфичного для хранилища синтаксиса, так что навыки трансформации и работы со снимками должны переноситься, если проект позже перейдет на BigQuery или Snowflake.
Источник: Towards Data Science · Сводку подготовил HeadlinesBriefing