# 选择同步内容
## 1.什么是「同步表」?
选择同步内容 是创建数据任务第三步,在这个弹窗中,用户可以看到所选择的数据源中所有的数据表或集合,用户自主选择需要同步到目的地的数据表。
## 2.什么是「同步视图」
用户在选择内容操作中,选择数据表或者集合的同时,用户可以自主选择需要同步到目的地的视图。
## 3.选择「同步内容」需要注意什么?
* 选择同步表前,请先确认:
* 同步规则:
|同步范围|任务类型<p style="width:68px"></p> |表存在主键|表不存在主键|
| --- | --- | --- | --- |
|全量|定时任务| 全量数据(历史数据)根据主键完成断点续传。 | 全量数据会全量替换,每次重启会重新开始执行全量替换工作。(同步到目的地时会默认添加主键,目的是避免重复数据) |
|增量| 实时任务 |增量数据(实时数据)根据CDC日志完成增量工作。 | 增量数据根据CDC日志完成增量工作。(其中,SQL Server数据源实时读取方式为Change Tracking,要求数据表存在主键;Postgres数据源实时模式为wal2json,要求数据表存在主键)(同步到目的地时会默认添加主键,目的是避免重复数据) |
|全量➕增量|定时任务|全量数据(历史数据)根据主键完成断点续传。增量数据(实时数据)要求必须勾选增量识别字段,会根据增量识别字段定时检查。|全量数据和增量数据会全量替换,每次重启后会重新开始全量替换工作。要求用户必须勾选增量识别字段,会根据增量识别字段完成全量数据的断点续传和增量数据同步工作((同步到目的地时会默认添加主键,目的是避免重复数据)|
|全量➕增量|实时任务|务全量数据(历史数据)根据主键完成断点续传。增量数据(实时数据)根据CDC日志完成增量工作。|全量数据会全量替换,每次重启后会重新开始执行全量替换工作。增量数据根据CDC日志完成增量工作。(其中,SQL Server数据源实时读取方式为Change Tracking,要求数据表存在主键;Postgres数据源实时模式为wal2json,要求数据表存在主键)(同步到目的地时会默认添加主键,目的是避免重复数据)|
` 注:Datapipeline同步数据时将尽可能避免重复数据,并能够保证目的地不丢数据,但无法保证完全去重。`
:-: 
* 支持单选,多选,全选数据表、视图
* 结构化数据库数据源支持选择无主键的表进行同步
* 要求至少选择一个表或者视图
* 显示用户已勾选表和视图数量
* 选择完毕后点击「保存」
* 弹窗右上侧显示“已选表/视图”按钮
* 点击后,按钮变蓝,可筛选显示当前所有已勾选表和视图名称
* 再次点击后,按钮变灰,显示全部表
:-: 
具体选择规则如下:
一、当用户选择SQL类型的数据源,并且在读取数据方式上选择增量识别字段时,
#### 用户选择MYSQL数据源时,
* 页面分为两层,一是Tables、Views,二是表和视图。
* 点击全选会默认选择所有的Tables和Views
* 点击Tables或Views左侧选项,会选择该层级下的所有表或视图。
:-: 
#### 当用户选择Oracle &SQL Server & PostgreSQL数据源时,
* 页面分为三层,一是用户&Schema,二是Tables、Views,三是表、视图。
* 点击全选可选择所有用户(或所有Schema)下的表和视图
* 点击某一个用户(或某一个Schema)会选择该用户(Schema)的所有表和视图。
* 用户点击Tables或Views左侧选项,会选择该层级下的所有表或视图。
:-: 
#### 当用户选择Kafka数据源时,
* 按列表形式显示所有Topic即可
:-: 
二、当用户在任务设置中选择了CDC读取方式(mysql为binlog,oracle为Logminer,sql server为change tracking,pg为decodebufs或wal2json)时,
* 不支持同步视图
* 用户可以看到视图内容,但无法勾选视图部分。
* 用户使用搜索时,可以搜到无法勾选的视图,但依然提示无法勾选。
* 用户点击全选,不要勾选无法同步的视图部分。
:-: 
## 3.如何高效选择「同步表」?
* 点击「搜索图标」将出现搜索输入框,用户可输入需要搜索的表名关键词或正则表达式以缩小选择范围。
* 关键词不区分大小写,输入后系统搜索出含关键词的表并以高亮显示命中部分。
:-: 
* 支持输入正则表达式。用户可根据JavaScript正则表达式搜索相同命名规则的表,提高选表效率。
* 必须以/开头, 以/或/+flag结尾 (例:/a/,/a/i都合法)
* 点击全选可以选中当前所有结果,再次点击即可取消所有选择。
**常见问题:**
### Q1:SQL Server数据源采用Change Tracking读取方式需要注意什么?
请您参考下列内容是否均完成配置:
* 您需要启动Change Tracking,ChangeTracking配置手册.md
* 请在同步前开启同步表的Change Columns Updates。
* 请确保在选择同步表时选择存在主键的表,Change Tracking的读取方式需要基于主键捕获数据更新,若不存在主键,将无法被选择。
:-: 
</br></br></br>
* * * * *
</br></br></br>
- DataPipeline产品手册
- 产品主要界面介绍
- 创建-数据任务
- 数据源
- 配置MySQL数据源
- BINLOG配置手册
- 配置Oracle数据源
- LOGMINER配置手册
- 配置SQL Server数据源
- Change Tracking配置手册
- 配置FTP数据源
- 配置Couchbase数据源
- 配置PostgreSQL数据源
- 配置S3数据源
- 配置API数据源
- 配置Kafka数据源
- 数据目的地
- 配置Redshift数据目的地
- 配置Oracle数据目的地
- 配置MySQL数据目的地
- 配置Kafka数据目的地
- 配置SQL Server数据目的地
- 配置FTP数据目的地
- 配置TIDB数据目的地
- 配置Greenplum数据目的地
- 配置Hive数据目的地
- Hive技术实现
- Hive目前支持情况
- 配置HybridDB for PostgreSQL
- 任务设置
- 选择同步内容
- 数据清洗
- 激活数据任务
- 管理-数据任务
- 数据任务列表
- 数据任务详情页
- 基本信息
- 概览信息
- 任务设置
- 错误队列
- 配置规则
- 消息列表
- 文件同步
- 文件源
- 配置S3文件源
- 配置FTP文件源
- 文件目的地
- 配置hdfs文件目的地
- 任务设置
- 激活文件任务
- 管理-文件任务
- 文件任务详情页
- 基本信息
- 概览信息
- 任务设置
- 消息列表
- 元数据管理
- 用户权限管理
- 系统设置
- 产品更新日志
- 常见问题
