大数据任务调度
应用 大数据开发平台
大数据任务调度引擎
任务执行引擎
任务监控告警
海量异构数据同步
数据采集(同步)—数据处理—数据管理
调度系统功能构成
01.调度系统-调度方式
定时调度 、依赖调度
手动调度
异常处理
02.调度系统-工作流
工作流优先级
工作流全局参数和节点自定义参数
动态、批量创建和更新工作流
03.调度系统-任务
任务类型: shell python SQL Spark Flink
任务优先级
任务参数传递
04.调度系统-监控
可视化监控任务的运行状态
任务日志的查看和下载
跨项目依赖功能
工作流实例 任务实例达到了 **个
角度
从管理,开发,运维三个角度 开发角度: 项目
项目Github:
1.Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
24.4k stars 728 watching 9.9k forks
源码地址: https:
2016年 Airbnb开源到了Apache基金会,2019年成为了Apache基金会的顶级项目
2.Apache DolphinScheduler is a distributed and extensible workflow scheduler platform with powerful DAG visual interfaces,
dedicated to solving complex job dependencies in the data pipeline and providing various types of jobs available out of box.
7.2k stars 299 watching 2.7k forks
源码地址: https:
2019年8月易观开源到了Apache基金会, 2021年4月成为了Apache基金会的顶级项目
3. Azkaban workflow manager.
3.9k stars 253 watching 1.5k forks
源码地址: https:
Linkedin
4. Oozie Apache Oozie Workflow Scheduler for Hadoop
633 stars 79 watching 453 forks
源码地址: https:
使用XML配置,文件存放在HDFS中
5 业务上-调度 XXL-JOB是一个轻量级分布式任务调度平台
对比和使用
Airflow基础概念
DAG
Operators
Task
Task Instance: success、running、failed、skipped、up_for_reschedule、up_for_retry、queued、no_status
Trigger Rules
Task Relationships
Connections
DolphinScheduler
定时调度:系统采用 quartz 分布式调度器,并同时支持 cron 表达式可视化的生成
datax 同步任务分为了周期任务和一次性任务
数据同步和集成
数据采集和数据同步
01. 数据采集
02. 数据同步 https:
DataX 是阿里巴巴开源的一个异构数据源离线同步工具,
致力于实现包括关系型数据库(MySQL、Oracle 等)、
HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能
框架: Reader Framework Wiriter
Job Task Schedule TaskGroup
可视化- 可视化界面,datax推荐datax web
Kettle :
Apache Hop data integration platform
数据处理简化为Job(流程控制、调度)和Transform(数据转换流)
日志方案是对于大量数据采集会比较适合
03.数据同步
ETL同步之道 [ Sqoop、DataX、Kettle、Canal、StreaSets ]
ETL之技术栈 [ 重工具 vs 开发语言 ]
主流的etl工具 有 Sqoop、DataX、Canal、flume、Logstash、kettle、DataStage、Informatica、Talend等,
语言 有 SQL、Shell、Python、Java、Scala等
具体解释
sqoop 分为导入(import)和导出(export),策略分为table和query,模式分为增量和全量。
DataX 本身作为离线数据同步框架,采用Framework + plugin架构构建
canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据实时订阅和消费
kettle、DataStage、Informatica
分别是Ascential公司的 Datastage、
Informatica公司的 Powercenter、
NCR Teradata公司的ETL Automation
开源工具,如PDI(Kettle)
日志收集系统
Flume
Logstash 是著名的开源数据栈ELK(ElasticSearch,Logstash,Kibana)中的那个L
Splunk 商业
ETL加载策略 [ Merge、Delta、拉链 ]
数据集成加载策略,按类型可包括快照、流水、增量、全量、拉链等
调度系统与数据治理与数据资产
质量管理-元数据管理
数据资产管理平台
01.元数据管理系统
Apache Atlas 数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心能力
wherehows 元数据仓库完成血缘分析。由 linkedin 开源。支持 Docker 部署
02.大数据领域数据质量
数据治理 数据质量平台化
治理流程 ,如果能够做到简单的治理流程化,那么必然可以产出一份质量报告
游链路数据异常或者自身处理逻辑的 BUG
03. 质量管理系统-规则描述和规则管理
Apache Griffin
Qualitis 是微众银行开源的一款数据质量管理系统
质检任务由公司内部统一的调度引擎调度执
血缘关系建立全链路的数据质量监控。当前的监控粒度是任务级的
调度系统与机器学习平台
方向之一: 基于调度系统实现机器学习平台
类似
1. 需要对海量数据存算,比如筛选样本、生成画像、特征预处理、分布式模型训练等;
2、需要 DAG 执行引擎,将获取数据->数据预处理->模型训练->模型预测->模型评估->模型发布等流程用 DAG 串联起来执行
机器学习的五大范式,获取训练样本、数据预处理、模型训练、模型评估、模型发布过程
调度系统与任务管理平台
任务管理平台,因此我们的整个架构,
DolphinScheduler 职责只是做定时调度。像数据处理、数据爬取等都是交于Kubernetes中
DevOps 案例01
1.)编写数据处理逻辑,并提交代码到Gitlab上;
2)Gitlab触发Runner,然后进行代码测试、编译、打包;
3)在Runner中调用DolphinScheduler API并根据配置生成任务;
4)DolphinScheduler 定时调度生成的任务,并通过Spark-Client提交任务到Kubernetes上
实际问题
任何业务、技术、数据的规范过程,短时间内都会对实际工作造成负面的影响。
不是所有人都能理解规范化所带来的优点
微服务
Istio Connect, secure, control, and observe services.
https:
含容器、微服务、DevOps 三大部分内容
包括服务发现,负载平衡,故障恢复,指标和监控
参考
系列 | 漫谈数仓第三篇NO.3 『数据魔法』ETL https:
荔枝机器学习平台与大数据调度系统“双剑合璧”,打造未来数据处理新模式!
https:
DolphinScheduler & K8s 在优路科技的实践 https:
数据湖VS数据仓库?湖仓一体了解一下 https:
https:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
· 用 DeepSeek 给对象做个网站,她一定感动坏了