目录
三、基于 Catalog 与 Job Scheduler 的数据自动同步
一、Job Scheduler
Job Scheduler是Apache Doris 在 2.1 版本中引入的新功能,是一种基于预设计划运行的任务管理系统,能够在特定时间点或按照指定时间间隔触发预定义操作,实现任务的自动化执行。
Job Scheduler 具备以下特点:
- 高效调度:Job Scheduler 可以在指定的时间间隔内安排任务和事件,确保数据处理的高效性。采用时间轮算法保证事件能够精准做到秒级触发。
- 灵活调度:Job Scheduler 提供了多种调度选项,如按 分、小时、天或周的间隔进行调度,同时支持一次性调度以及循环(周期)事件调度,并且周期调度也可以指定开始时间、结束时间。
- 事件池和高性能处理队列:Job Scheduler 采用 Disruptor 实现高性能的生产消费者模型,最大可能的避免任务执行过载。
- 调度记录可追溯:Job Scheduler 会存储最新的 Task 执行记录(可配置),通过简单的命令即可查看任务执行记录,确保过程可追溯。
- 高可用:依托于 Doris 自身的高可用机制,Job Schedule 可以很轻松的做到自恢复、高可用。
1.1 创建-JOB
CREATE
JOB
job_name
ON SCHEDULE schedule
[COMMENT 'string']
DO sql_body;
- 关键字 CREATE JOB 加上作业名称,它在一个 db 中标识唯一事件。 JOB 名称必须是全局唯一的,如果已经存在同名的 JOB,则会报错。
- ON SCHEDULE 子句,它指定了 Job 作业的类型和触发时间以及频率。
AT timestamp:格式:'YYYY-MM-DD HH:MM:SS', 用于一次性事件,它指定事件仅在 给定的日期和时间执行一次 timestamp,当执行完成后,JOB 状态会变更为 FINISHED。
EVERY:表示定期重复操作,它指定了作业的执行频率,关键字后面要指定一个时间间隔,该时间间隔可以是天、小时、分钟、秒