中邮消费金融有限公司大数据平台任务调度系统设计与实践
背景介绍
中邮消费金融有限公司在大数据平台任务调度系统的设计与实践中,逐步完成了从1.0到3.0版本的演进。
关键优化设计和实践
-
任务开发:
- 初级数据分析人员:手工配置+模版生成发布DAG。
- 中级数据分析人员:拖拽生成+任务SQL编写和配置。
- 高级数据分析人员:使用Airflow Code Editor进行任务开发。
-
任务运行管理:
- 血缘分析管理:通过抓取SQL和外部任务传感器实现跨DAG的任务依赖管理。
- 资源预留策略:根据关键时间段和任务优先级进行资源预估和分配,优化集群吞吐量。
- 任务降级策略:通过任务分级和白名单熔断机制实现任务调度的灵活性。
- 监控预警:利用Prometheus和Grafana进行关键运行指标监控,确保任务SLA。
-
任务发布:
应用实践案例
-
数据采集-入库-计算-生成结果:
-
营销策略应用:
- 营销系统生成DAG任务,获取标签命中的客群包,推送营销活动。
-
Oneservice自助取数应用:
- 自助提数业务人员在Oneservice Web后台定义SQL任务,推送结果文件到SFTP或导入业务库临时表。
未来规划
- 持续优化:
- 基于事件驱动的任务触发,减少等待间隔。
- 数据血缘标准化,统一展示和管理。
- 推动OpenLineage标准的统一应用。
技术选型
- 调度框架:最终选择Airflow作为开源调度框架,因其强大的功能和广泛的社区支持。
- 计算引擎:离线计算引擎以MR和Spark为主,实时计算引擎以Flink为主,交互分析计算以ES/Impala/Presto为主。
通过上述设计与实践,中邮消费金融有限公司的大数据平台任务调度系统得到了显著提升,有效支持了公司的数据驱动应用。