1. 文档说明
本文档用于指导用户创建、配置、运行和排查批任务。
批任务适用于按固定时间或手动触发的数据同步场景。系统会在任务执行时读取来源数据,完成解析、字段映射和写入后,将数据同步到目标表中。
典型使用场景包括:
- 每天定时同步业务数据库中的用户、订单、资产等数据。
- 对历史数据进行补数。
- 在来源数据不是实时产生、或不需要实时入库时,通过批任务降低同步成本。
2. 创建同步任务
- 选择 数据接入 > 通用数据接入 > 数据同步。
- 点击右上角的 创建任务 按钮,并选择 创建同步任务。
- 填写 任务基本信息。
- 填写 任务名称。
- 填写 描述。选填。
- 设置 数据来源和目标。
- 设置 数据同步来源
- 选择 来源连接。可以选择 外部数据源 或 神策数据表。外部数据源支持 Hive、MySQL、ClickHouse 和 FTP。
- 选择 来源数据。
- (3.4.0+ 版本支持)同步 Schema。半结构化数据源( FTP、HDFS)需要同步 Schema 配置。
- Schema 的数据类型为 csv、txt、parquet、orc、json 时,需要手动配置数据同步目标和字段映射。
- Schema 的数据类型为 神策标准 json 格式时,不需要配置数据同步目标和字段映射,直接配置调度、预警即可。
- 设置 数据同步目标
- 选择 目标类型。
- 实体
- 主表
- 事件表
- 明细表
- 标签
- 已有表:支持主键表和非主键表。
- 新建表
- 填写 表名。
- 选择 表类型:支持创建主键表或非主键表。
- 选择 主键字段:表类型选择主键表时需要从来源表中选择一个字段作为主键字段。
- 实体
- 选择 目标数据。目标类型选择新建表时,需要填写表名。
- 选择 目标类型。
- 设置 数据同步来源
- 配置 字段映射。目标类型选择新建表时,系统会自动添加所有来源表中的字段,可以手动修改目标表的字段名或者删除不需要的字段。
- 配置 任务执行规则。
- 选择 执行频率。
- 手动执行:在生效周期内,可在 运行记录 模块中,多次手动执行任务。
- 抵达生效时间后立即执行一次:设置是否在生效周期开始时自动执行一次任务。
- 重复执行:支持通过 基础配置 和 表达式配置 方式配置任务的重复执行频率。
- 手动执行:在生效周期内,可在 运行记录 模块中,多次手动执行任务。
- 选择 生效周期。
- 配置 高级设置。
- 设置 失败重试次数。选填。
- 设置 重试间隔。选填。
- 设置 执行并发数。选填。
- 选择 读取逻辑。
- 选择 写入逻辑。对于不同类型的同步目标,可选的写入逻辑不同。
- 写入目标为实体用户表、有主键的数据表时,只支持 更新或插入。
- 写入目标为实体事件表时,只支持 增量写入。
- 写入目标为没有主键的数据表时,支持选择 全量覆盖 或 增量写入。当写入目标为分区表时,需要先选择分区字段,再选择写入逻辑。
- 设置 报警监控。当数据导入任务遇到运行问题时,支持向运维等人员通过邮件、企业微信、钉钉、飞书进行报警告知的功能,方便及时进行问题排查处理。
- 选择 执行频率。
- 点击 数据预览 按钮。
- 点击 提交 按钮。
- 当你使用神策数据表作为同步来源或目标时,您只能查看和选择拥有 表数据权限 的数据表。
- 报警记录可前往 平台管理 > 报警管理 > 报警历史记录 查看。
2.1 cron 表达式
创建任务配置 任务执行规则 时,若 执行频率 选择为 重复执行,支持 cron 表达式 配置方式。
cron 表达式是一种广泛应用于描述时间和日期信息的标准表达式。cron 表达式是一个字符串,由 6 个必要的设置组成,同时支持可选的年份设置。通常 cron 表达式设置由空格分开,主要结构为:秒 分 小时 日期 月份 星期 (年,可选)。
当前最多只支持小时级的执行任务。
|
字段 |
允许值 |
允许的特殊字符 |
是否必须 |
|---|---|---|---|
| 秒(Seconds) | 0 - 59的整数 | 不允许 | 是 |
| 分(Minutes) | 0 - 59的整数 | 不允许 | 是 |
| 小时(Hours) | 0 - 23的整数 | , - * / 四个字符 |
是 |
| 日期(DayofMonth) | 1 - 31的整数(需要考虑当月天数) | ,- * ? / 五个字符 |
是 |
| 月份(Month) | 1 - 12的整数或者 JAN - DEC | , - * / 四个字符 |
是 |
| 星期(DayofWeek) | 1 - 7的整数或者 SUN - SAT(1=SUN) | , - * ? /五个字符 |
是 |
| 年(Year) | 1970 - 2099的整数 | , - * /四个字符 |
否 |
每一个字段都使用数字,还可出现如下特殊字符,它们的含义是:
*:表示匹配任意值。假如在分字段使用*,即表示每分钟都将执行一次。?:表示无指定字段,只能用在日期和星期两个字段。-:表示匹配范围。例如在分钟字段使用5-20,表示在 5 分到 20 分钟之间,每分钟执行一次。/:表示从起始时间开始执行,每隔固定时间执行一次。例如在分钟字段使用5/20,表示从 5 分开始,每隔 20 分钟执行一次,也即 25 分、45 分各执行一次。,:表示列出枚举值。例如:在分钟字段使用5,20,表示在 5 分和 20 分各执行一次。
示例:
|
表达式 |
解释 |
|---|---|
| 0 0 12 * * ? | 每天中午 12:00 执行一次 |
| 0 15 10 ? * * | 每天上午 10:15 执行一次,其中 0 15 10 ? * *、0 15 10 * * ?、0 15 10 * * ? * 三个表达式效果相同 |
| 0 15 10 * * ? 2020 | 在 2020 年的每天的 10:15 执行一次 |
| 0 15 10 ? * MON-FRI | 每周周一至周五每天上午 10:15 执行一次 |
| 0 15 10 15 * ? | 每个月的第 15 天的上午 10:15 执行一次 |
| 0 0 12 1/5 * ? | 每月1号开始,每隔 5 天每天中午 12:00 执行一次 |
| 0 11 11 11 11 ? | 每年的 11 月 11 日 11:11 执行一次 |
3. 创建 SQL 任务
- 选择 数据接入 > 通用数据接入 > 数据同步。
- 点击右上角的 创建任务 按钮,并选择 创建 SQL 任务。
- 填写 任务基本信息。
- 填写 任务名称。
- 填写 描述。选填。
- 设置 读取逻辑。支持同时读取一个数据源下的多个数据库。外部数据源支持 Hive、ClickHouse、MySQL、FTP。
- 选择数据源并点击表格右侧的 添加 按钮。
- 点击 解析 SQL。解析后,数据同步来源 会自动填充。
- 点击 运行 SQL 查看运行结果。
- 设置 数据同步目标
- 选择 目标类型。
- 实体
- 已有表:支持主键表和非主键表。
- 新建表
- 填写 表名。
- 选择 表类型:支持创建主键表或非主键表。
- 选择 主键字段:表类型选择主键表时需要从来源表中选择一个字段作为主键字段。
- 选择 目标数据。目标类型选择新建表时,需要填写表名。
- 选择 目标类型。
- 配置 任务执行规则。
- 选择 执行频率。
- 手动执行:在生效周期内,可在 运行记录 模块中,多次手动执行任务。
- 抵达生效时间后立即执行一次:设置是否在生效周期开始时自动执行一次任务。
- 重复执行:支持通过 基础配置 和 表达式配置 方式配置任务的重复执行频率。
- 手动执行:在生效周期内,可在 运行记录 模块中,多次手动执行任务。
- 选择 生效周期。
- 配置 高级设置。
- 设置 失败重试次数。选填。
- 设置 重试间隔。选填。
- 设置 执行并发数。选填。
- 选择 读取逻辑。
- 选择 写入逻辑。对于不同类型的同步目标,可选的写入逻辑不同。
- 写入目标为实体用户表、有主键的数据表时,只支持 更新或插入。
- 写入目标为实体事件表时,只支持 增量写入。
- 写入目标为没有主键的数据表时,支持选择 全量覆盖 或 增量写入。当写入目标为分区表时,需要先选择分区字段,再选择写入逻辑。
- 选择 执行频率。
- 设置 报警监控。当数据导入任务遇到运行问题时,支持向运维等人员通过邮件、企业微信、钉钉、飞书进行报警告知的功能,方便及时进行问题排查处理。
- 点击 提交 按钮。
4. 任务管理
4.1 任务列表
依此选择 数据接入 > 通用数据接入 > 数据同步 即可查看任务列表。
在列表页,你可以进行如下操作:
- 运行/暂停任务:可以多次暂停和再次启动任务。
- 查看运行记录:查看运行记录和日志、补数据。
- 查看任务:进入任务详情页面。
- 编辑任务:暂停任务后,所有任务均可以修改任务名称、描述、字段映射、任务执行规则、报警监控。SQL 任务还可以修改 SQL 语句。
- 复制任务:复制任务后,所有任务均可以修改任务名称、描述、字段映射、任务执行规则、报警监控。SQL 任务还可以修改 SQL 语句。
- 删除任务:删除任务后,相关的同步数据表不会一同删除。
4.2 运行记录
4.2.1 运行记录详情
在任务列表中,点击任务右侧的 查看运行记录 可查看任务的基本信息和运行记录。
同时支持以下功能:
- 立即执行:点击可立即执行一次。
- 补数据:对于带时间宏参数的任务,可以点击 补数据 按钮选择对应的业务日期进行补数据操作。
4.2.2 运行日志
在操作列点击 运行日志 按钮,可以查看每个任务实例的具体执行情况。
5. 权限
- 若有 查看数据同步 的权限,则可进入 数据接入 > 通用数据接入 > 数据同步 页面查看已有任务和运行记录。
- 若有 管理数据同步 的权限,则可进入 数据接入 > 通用数据接入 > 数据同步 页面进行创建、编辑、删除等一系列管理操作。