条件与限制
HIVE 仅支持同步至已有库表,任务运行前需保证目标库表已存在。
HIVE 写入暂不支持自动建库、表、字段能力。
操作步骤
步骤一:创建整库同步任务
进入配置中心 > 实时同步任务页面后,单击新建整库迁移任务。
步骤二:链路选择
在首页卡片中选择同步至 HIVE 目标端的链路。
步骤三:数据来源设置
步骤四:数据目标设置
参数 | 说明 |
数据源 | 选择需要同步的目标数据源。 |
写入模式 | append:追加模式写入数据表(当前仅支持此模式)。 |
库/表匹配策略 | DLC 中数据库以及数据表对象的名称匹配规则: 默认与来源 schema/来源表同名。 自定义:支持使用内置参数和字符串组合生成目标库表名称。 说明: 示例:如来源表名称为 table1,映射规则为 ${table_name_di_src}_inlong,则 table1 的数据将被最终映射写入至 table1_inlong 中。 |
目标库分区规则 | 系统时间分区: 时间粒度:单选,用户可选择四种时间格式:YYYYMMDD、YYYYMM、YYYY、YYYY-MM-DD HH。 指定字段分区: 时间粒度:单选,用户可选择四种时间格式:YYYYMMDD、YYYYMM、YYYY、YYYY-MM-DD HH。 分区字段名称:输入框,用户可输入指定分区字段的字段名称。 不分区:不做分区处理。 |
步骤五:配置运行资源和策略
HIVE 整库同步任务提供任务级运行资源及数据失败写入处理策略。其中数据写入失败处理策略支持三种:
策略名称 | 策略说明 |
默认策略 | 任意表写入异常时,所有表终止写入,任务将失败。 |
部分停止 | 部分表写入异常时,仅停止该表数据写入,其他表正常同步。已停止的表不可在本次任务运行期间恢复写入。 |
异常重启 | 部分表写入异常时,所有表均暂停写入。此策略下任务将持续重启直到所有表正常同步,重启期间可能导致部分表数据重复写入。 |
忽略异常 | 忽略表内无法写入的异常数据并标记为脏数据。该表的其他数据、以及任务内的其他表正常同步。脏数据提供 COS 归档和不归档两种方案。 COS 归档:将无法写入的脏数据进行归档,需要配置 COS 数据源、存储桶、存储目录、内容分隔符及换行符。 不归档:不需要做其他操作。 |
checkpoint 间隔 | 可选择间隔:分钟/秒。 |
最大重启次数 | 设置在执行过程中发生故障时任务最大的重启阈值,若运行中重启次数超过此阈值,任务状态将置为 失败。 设置范围为(-1,100), 阈值为0表示不重启,-1表示不限制最大重启次数。 |
场景示例:
任务 Task1下计划同步50张表,任务运行过程中表 A 内出现新增字段或字段类型变更:
部分停止:表 A 任务运行后将字段 "DEMO" 的进行了字段类型变更,并且变更后字段类型与目标端字段类型无法匹配写入。此策略下,任务将在停止源端表 A 的数据读取,后续任务仅同步其余49张表至目标端。
异常重启:表 A 任务运行后将字段 "DEMO" 的进行了字段类型变更,并且变更后字段类型与目标端字段类型无法匹配写入。此策略下任务将在持续重启,期间任务内配置的所有50张表将暂停数据写入,直到表 A 字段纠正。
忽略异常:表 A 任务运行后将字段 "DEMO" 的进行了字段类型变更,并且变更后字段类型与目标端字段类型无法匹配写入。此策略下任务将忽略无法写入的异常数据,并标记为脏数据,表内其他数据正常同步。
步骤六:配置预览及任务提交
序号 | 参数 | 说明 |
1 | 提交 | 将当前任务提交至生产环境,提交时根据当前任务是否有生产态任务可选择不同运行策略。 若当前任务无生效的线上任务,即首次提交或线上任务处于“失败”状态,可直接提交。 若当前任务存在“运行中”或“暂停”状态的线上任务需选择不同策略。停止线上作业将抛弃之前任务运行位点,从头开始消费数据,保留作业状态将在重启后从之前最后消费位点继续运行。 说明: 单击立即启动任务将在提交后立即开始运行,否则需要手动触发才会正式运行。 |
2 | 锁定/解锁 | 默认创建者为首个持锁者,仅允许持锁者编辑任务配置及运行任务。若锁定者5分钟内没有编辑操作,其他人可点击图标抢锁,抢锁成功可进行编辑操作。 |
3 | 前往运维 | 根据当前任务名称快捷跳转至任务运维页面。 |
4 | 保存 | 预览完成后,可单击保存按钮保存整库任务配置。仅保存的情况下,任务将不会提交至运维中心。 |
任务提交检测
参数 | 说明 |
检测存在异常 | 支持跳过异常直接提交,或者终止提交 |
检测仅存在警告及以下 | 可直接提交 |
提交结果
任务提交中:
展示提交进度百分比。
提示用户勿刷新/关闭页面,文案:当前任务已提交成功,可前往运维进行任务状态及数据管理。
任务提交结果-成功:
展示任务提交成功结果。
提示成功及后续跳转:文案 “提交成功,10秒后将跳转至当前任务运维详情页面” “当前任务已提交成功,可前往运维进行任务状态及数据管理”。
展示任务提交失败原因:
失败原因返回。