作者一直在记录自己转型数据工程的历程。此前,作者已经构建了两条管道:一条定时运行、将数据存入 SQLite 的 GitHub ETL 管道,以及一条将科技文章加载到 PostgreSQL 中的自动化 RSS 管道。两者均使用 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整理摘要