项目描述
翻译我们的公司在几个不相连的系统上运行,目前没有人能够可靠地了解所有系统的情况。销售数据存储在一个数据库中,账单信息通过第三方API提供,一些部门每周仍然向我们发送CSV数据。我需要有人构建一个完整的ETL管道:从所有这些来源提取数据,将原始记录转换和清理为单一一致的格式,并将其全部加载到中央数据仓库中。这不是一个报告仪表板,也不是一个完整的后端重写;交付物正是一个在后台可靠工作的数据集成层,以便下游工具始终拥有最新和正确的数字。
对我来说,最重要的是管道是可预测的,并且不会默默地损坏任何东西。我希望在源允许的情况下进行增量同步,而不是完全重新加载,这样我们只移动更改,并在量增加时保持作业快速。每次运行必须包括数据质量检查,以捕捉缺失字段、损坏类型、重复键和违反业务规则的行,并在这种情况下发出明确的警报,而不是默默地将垃圾写入仓库。我还关心幂等性:如果作业在中途失败并重新运行,必须不重复数据或使仓库处于半加载状态。
请记录源映射和转换逻辑,以便我的团队在交接后能够维护所有内容,并设置定期执行,而无需我持续监督。告诉我们您建议的技术栈及其原因。
— 从多个来源提取:SQL数据库、REST API和每周的CSV
— 将记录转换和清理为单一模式,无重复项
— 加载到中央仓库,包含暂存层和最终层
— 仅对更改的行进行增量同步,而不是完全重新加载
— 自动数据质量检查和错误警报
— 定期可重启的幂等作业及交接文档
对我来说,最重要的是管道是可预测的,并且不会默默地损坏任何东西。我希望在源允许的情况下进行增量同步,而不是完全重新加载,这样我们只移动更改,并在量增加时保持作业快速。每次运行必须包括数据质量检查,以捕捉缺失字段、损坏类型、重复键和违反业务规则的行,并在这种情况下发出明确的警报,而不是默默地将垃圾写入仓库。我还关心幂等性:如果作业在中途失败并重新运行,必须不重复数据或使仓库处于半加载状态。
请记录源映射和转换逻辑,以便我的团队在交接后能够维护所有内容,并设置定期执行,而无需我持续监督。告诉我们您建议的技术栈及其原因。
— 从多个来源提取:SQL数据库、REST API和每周的CSV
— 将记录转换和清理为单一模式,无重复项
— 加载到中央仓库,包含暂存层和最终层
— 仅对更改的行进行增量同步,而不是完全重新加载
— 自动数据质量检查和错误警报
— 定期可重启的幂等作业及交接文档
其他 / 杂项 现金, 银行转账