# 时间戳关系型数据库到Hive同步(增量)
# 说明
关系型数据库到 Hive 同步:用于将关系型数据库的数据迁移到 Hive。可以将来源库的多个表或者全部表(整库)的数据迁移到Hive的目标库、表。
Hive库目标表不存在时,会自动创建目标表,可在模型上设置目标表存储格式,支持 ORC、PARQUET、TEXTFILE 格式;
Hive库目标表存在时,会自动获取表存储格式,支持获取 ORC、PARQUET、TEXTFILE 格式,其中 TEXTFILE 格式分隔符支持默认、TAB、逗号。
基于时间戳模型,实现从源表向目标表增量同步数据,要求:
- 目标表中必须有一个时间戳字段,字段值可以是 Timestamp、Date、Integer、String;
- 目标表中必须有可唯一标识某一行的字段作为查询字段,当该唯一标识的字段值不存在时执行 Insert,存在时执行 Update。
⚠️ 提示:
1、目标表不存在时,在作业执行过程中会自动创建表,然后再将源表数据同步至目标表。
2、目标表存在时,要确保来源表与目标表的数据结构、字段顺序一致,字段类型相匹配。
# 配置项说明
配置项 | 是否必填 | 默认值 | 描述 |
---|---|---|---|
选择数据源(来源) | 是 | - | 来源数据的数据源名称,该选项是已经在项目配置中添加过的数据源。 |
选择库(来源) | 是 | - | 来源数据源中的数据库名称。选择来源数据源后自动读取并显示数据库名称,可以直接选择。 |
选择数据源(目标) | 是 | - | 目标数据的数据源名称,该选项是已经在项目配置中添加过的数据源。 |
选择库(目标) | 是 | - | 目标数据源中的数据库名称。选择目标数据源后自动读取并显示数据库名称,可以直接选择。 |
获取表信息 | 否 | - | 如果数据库表发生变化,点击此按钮获取最新的表字段。添加表的弹窗会显示最新的表名称。 |
表名称映射 | 是 | - | 来源表与目标表名称的映射,默认是同名映射(即:目标表与来源表名称一样)。 |
前缀/后缀 | 否 | - | 给目标表名称添加前缀或者后缀,用于批量修改目标表的名称。 |
同步 | 是 | 同步 | 是否执行同步的开关,有两个选项:同步、不同步。 同步:表示执行,来源表数据会同步到目标表; 不同步:表示不执行,来源表数据不会同步到目标表。 |
存储类型 | 是 | TEXTFILE | 有三种选项:ORC、PARQUET、TEXTFILE。 |
字段分区 | 是 | - | 设置该值,可生成hive分区表,可设置多个分区,分区字段有先后顺序。 |
分割文件(行) | 否 | 0 | 目标表以文件形式存储数据,设置该值可指定每个文件中包含的行数。 |
字段映射 | 是 | - | 指定来源表与目标表的字段映射关系、目标表中的时间戳字段、目标表中的查询字段。配置后“未配置”会变为“已配置”。 字段映射关系:来源表与目标表的字段名称映射; 目标表中的时间戳字段:选择时间戳字段; 目标表中的查询字段:行唯一标识字段。 |
数据添加模式 | 是 | 追加数据 | 支持三种模式: 1、追加数据:数据统一追加到目标表中; 2、同步前删除数据:先清空目标表数据,然后再给目标表添加数据; 3、当存在数据时,报告错误:当目标表存在相同数据时,报告错误,不会添加数据。如果添加了两张表(或多表),若一张目标表有数据,一张目标表无数据,则运行结果会报告错误,两张目标表都不会添加数据。 提示:增量同步的默认值都是:追加数据。 |
字段映射配置项:
操作/配置项 | 是否必填 | 默认值 | 描述 |
---|---|---|---|
手动映射 | - | - | 需要逐个选择来源表与目标表的字段配置字段映射关系。 |
自动同名映射 | - | - | 当来源表字段与目标表字段同名时,自动批量配置映射关系。 |
重置映射 | - | - | 清除已经配置好的来源表与目标表的映射关系。 |
源表字段 | - | - | 指定来源表中的时间戳字段,需要和目标表的时间戳字段配合使用。 |
目标表字段 | - | - | 指定目标源表中的时间戳字段,需要和来源表的时间戳字段配合使用。 |
# FAQ
无