跳到主要内容

持续导入概览

概述

Doris 支持通过 Streaming Job 的方式,从多种数据源持续导入数据到 Doris 表中。提交 Job 后,Doris 会持续运行导入作业,实时读取数据源中的数据并写入到 Doris 表中。

持续导入支持以下数据源和导入模式:

数据源单表导入多表导入配置指南
MySQLMySQL 单表导入MySQL 多表导入Amazon RDS MySQL · Amazon Aurora MySQL
PostgreSQLPostgreSQL 单表导入PostgreSQL 多表导入Amazon RDS PostgreSQL · Amazon Aurora PostgreSQL
S3S3 持续导入--
提示
  • 单表导入:通过 CDC Stream TVF 或 S3 TVF,将数据持续导入到指定的单张 Doris 表中,支持灵活的列映射和数据转换。
  • 多表导入:通过原生多表 CDC 能力,将源端多张表的全量和增量数据持续同步到 Doris 中,首次同步时自动创建下游表。

通用操作

查看导入状态

select * from jobs("type"="insert") where ExecuteType = "STREAMING";
结果列说明
IDJob ID
NAMEJob 名称
DefinerJob 定义者
ExecuteTypeJob 调度的类型:ONE_TIME/RECURRING/STREAMING/MANUAL
RecurringStrategy循环策略。普通的 Insert 会用到,ExecuteType=Streaming 时为空
StatusJob 状态
ExecuteSqlJob 的 Insert SQL 语句
CreateTimeJob 创建时间
SucceedTaskCount成功任务数量
FailedTaskCount失败任务数量
CanceledTaskCount取消任务数量
CommentJob 注释
PropertiesJob 的属性
CurrentOffsetJob 当前处理完成的 Offset。只有 ExecuteType=Streaming 才有值
EndOffsetJob 获取到数据源端最大的 EndOffset。只有 ExecuteType=Streaming 才有值
LoadStatisticJob 的统计信息
ErrorMsgJob 执行的错误信息
JobRuntimeMsgJob 运行时的一些提示信息

查看 Task 状态

select * from tasks("type"="insert") where jobId='<job_id>';
结果列说明
TaskId任务 ID
JobIDJobID
JobNameJob 名称
LabelTask 导入的 Label
StatusTask 的状态
ErrorMsgTask 失败信息
CreateTimeTask 的创建时间
StartTimeTask 的开始时间
FinishTimeTask 的完成时间
LoadStatisticTask 的统计信息
UserTask 的执行者
RunningOffset当前 Task 同步的 Offset 信息。只有 Job.ExecuteType=Streaming 才有值

暂停导入作业

PAUSE JOB WHERE jobname = <job_name>;

恢复导入作业

RESUME JOB WHERE jobName = <job_name>;

删除导入作业

DROP JOB WHERE jobName = <job_name>;

通用参数

FE 配置参数

参数默认值说明
max_streaming_job_num1024最大的 Streaming 作业数量
job_streaming_task_exec_thread_num10用于执行 StreamingTask 的线程数
max_streaming_task_show_count100StreamingTask 在内存中最多保留的 task 执行记录

Job 通用导入配置参数

参数默认值说明
max_interval10s当上游没有新增数据时,空闲的调度间隔。