# 错误队列
## 1.什么是「错误队列」?
在执行「数据任务」的过程中,为避免「数据任务」无法正常运行,数据工程师需要及时处理数据相关问题。
DataPipeline提供「错误队列」功能,实时收集所有的数据相关错误,并展现给数据工程师。数据工程师针对每一个「数据任务」,可后置处理数据相关问题,由此规避了数据错误导致的「数据任务」执行效率问题,并减轻了数据工程师的工作压力。
当「数据任务」的「错误队列」为空时,系统会展示「错误队列」为空。
## 2.主要功能介绍
:-: ![](https://img.kancloud.cn/87/78/8778e9b2c2be5ea05e5494934f8d57e9_1265x714.png)
### A.「 错误队列」总览
* 两个部分:「错误队列」的数量、「错误队列」的分布。
* 总览左侧默认显示该数据任务的「错误队列」总数。
* 「错误队列分布图」默认显示该「数据任务」的「错误队列」发生在哪些数据表,并且占比是多少。
* 点击分布图中任意数据表区域,左侧会显示对应数据表下的错误数量,并且「错误队列详情列表」只显示该数据表下的「错误队列」。
### B. 筛选工具
* 「数据表」筛选。默认显示全部的「错误队列」,用户可以根据筛选工具选择某一个特定的数据表(在分布图点击任意数据表同样能够筛选特定的数据表)。
* 「错误类型」筛选。默认显示全部的「错误类型」,用户可以根据筛选工具选择某一个特定的「错误类型」。
* 「时间」筛选。默认不进行时间筛选,即展示所有的错误内容。用户可以自定义设置起始时间和结束时间来查询某一个特定时间段内的「错误队列」。
### C. 状态提示图标
* 系统会不断检测用户当前页面内容与服务器端是否一致,当其他用户对内容有所操作或者有新的错误内容增加时,会出现该按钮提示用户内容有更新,点击后就可以刷新当前页面更新至最新错误内容。
* 点击后将会刷新错误内容页面,不影响筛选条件,但是会清空已经勾选的内容。
### D. 搜索功能
* 可根据搜索功能快速定位查询用户寻找的错误队列。
* 输入关键词后点击「回车」即可。
* 搜索范围:数据表名称、错误类型名称、错误类型详情、原始数据。
* 搜索功能与筛选工具为联动查询,只显示用户设置的筛选条件下的错误队列。
### E. 错误队列详情列表
* 内容:勾选图标、数据表名称、错误类型、时间、原始数据、操作按钮。
* 勾选:支持勾选单条或多条错误内容,也可点击标题栏的勾选图标来选中当前已加载的全部内容。
* 当用户操作勾选时,标题栏将隐去各栏的对应标题,同时告知用户已经勾选的数量,右侧会出现批量操作的按钮。
* 点击标题栏的勾选图标只会选中当前已经加载的全部内容,用户可点击「勾选所有n项内容」来勾选所有符合筛选条件的错误内容(若未筛选则会选中所有错误内容)。
:-: ![](https://img.kancloud.cn/03/39/033929c82b21ab252a0b83da3ee97e20_2518x1056.png =480x)
* 用户可点击「扩展按钮」来展开单条错误内容的具体信息。
* 数据表名称:错误队列记录的错误内容来自于该数据表的数据。
* 错误类型:代表该数据被记录到错误队列的具体原因。错误类型包含错误类型名称和具体错误信息。
* 时间:代表该数据进入错误队列的时间。
* 原始数据:代表发生该错误队列事件的原始数据。
* 操作按钮:当用户鼠标悬浮或选中单条错误内容时,将出现操作按钮,用户点击可以选择对数据内容进行的操作,目前支持重试、忽略和导出。
:-: ![](https://img.kancloud.cn/05/70/0570769c392d32062a9d7328ed1e6f5a_2482x470.png =480x)
* 重试:系统将重新尝试向目的地传输保存在错误队列中的数据。
* 点击后将弹窗提示用户确认重试,确认后系统将开始处理这些数据。
:-: ![](https://img.kancloud.cn/64/22/6422d44381d337bde951c448c514ac90_880x472.png =480x)
* 当选择的数据较多时,点击确认后需要处理的时间较长,请您耐心等待;
* 确认重试后,错误队列会清除这条错误内容,下方错误队列详情页会实时刷新清除后的内容,上方错误队列总览需要您刷新页面后显示最新数据。若您操作了全选重试,操作成功后错误队列详情页会显示为暂无数据。
* 任务状态为进行中,您的重试操作会立刻开始,若再次发生错误,这些数据内容将重新进入错误队列,并更新记录时间;
* 任务状态为已暂停,您的重试操作将会等待任务重启后开始。
* 若重试操作失败,选中的数据暂时会被清除,稍等片刻后将会回到错误队列,不会改变记录时间。
* 导出后,消息列表提示:“用户重试了错误队列的数据传输。”
* 若失败,则在通知中心和消息列表中告知用户:“该项操作失败,请重试。”
:-: ![](https://img.kancloud.cn/7f/83/7f83e79feb11a3b691769d90e150af82_802x396.png =480x)
* 忽略:对应的数据将从错误队列清除。
* 点击后将弹窗提示用户确认忽略,确认后对应数据将从错误队列清除并不可恢复。
:-: ![](https://img.kancloud.cn/01/40/0140cab79fa95ba1fac05adb977fd723_844x446.png =480x)
* 忽略后,消息列表提示:“用户忽略了错误队列的数据。”
* 若失败,则在通知中心和消息列表中告知用户:“该项操作失败,请重试。”
:-: ![](https://img.kancloud.cn/ce/1f/ce1f7bb8c9083b5d8ab3eb50096f71e0_800x348.png =480x)
* 导出:会对指定错误字段的原始数据进行导出。
* 点击后将弹窗提示用户确认导出,支持导出csv或者json格式。
:-: ![](https://img.kancloud.cn/f0/b1/f0b1fe2e61d1764348570b0da2fd8fb3_868x524.png =480x)
* 点击「确认」后系统将对用户操作的数据进行处理,处理时间根据数据量大小而定,当处理结束后将自动唤起浏览器的下载,用户点击下载即可。
* 导出成功后,数据仍将保留在错误队列中。
* 注意!请允许浏览器弹出窗口,否则下载的窗口可能会被拦截。
* 消息列表提示:“xxxxx导出了错误队列的数据。”
* 若失败,则在通知中心和消息列表中告知用户:“该项操作失败,请重试。”
:-: ![](https://img.kancloud.cn/47/30/4730cc91f7a6a4e2bba5328addcd9f71_798x576.png =480x)
### 另外. 错误队列的预警
* 任务采取预处理机制,保证错误率的平均度,同时保证低数据量的任务的正常运行。
* 目前每个任务的每个数据表预先处理指定量的数据。
* 计算每个表指定量数据进入错误队列的错误率。
* 错误率=进入错误队列的错误数/处理过的数据总数。
* 后续任务进行过程中进行实时的数据错误率判断。
* 一旦错误率达到指定阈值,将触发操作,例如目前平台采取的措施为:
| 错误率 | 对应操作 |
| --- | --- |
| <5‰ | 不提醒,正常进行后续数据传输。 |
| <1%且≥5‰ | 在错误通知中心进行通知,提示用户查看具体信息,正常进行后续数据传输。 |
| ≥1% | 在错误通知中心进行通知,提示用户查看具体信息,暂停整个数据任务。 |
* 其中,错误率与对应操作支持用户或者根据实际生产环境进行配置,包括:
* 错误率阈值的设定。
* 对应错误率触发的对应操作内容:是否暂停任务、发送通知、发送邮件等均可进行配置。
* 当数据任务的错误队列不为空且到达一定数量时,会第一时间在[**通知中心**](../yun-wei-guan-li/shu-ju-ren-wu-lie-biao.md)和和对应任务的[**消息列表**](../yun-wei-guan-li/xiao-xi-lie-biao.md)提醒用户任务存在错误队列,让用户快速了解数据任务的错误情况。
* 根据设定的不同阈值,错误队列的错误率达到对应值时会对数据任务采取不同的预警方式,包括对任务的暂停等,防止过多错误的产生。
* 错误队列数量达到上限时,系统会暂停产生错误的任务,防止平台溢出崩溃。
* 系统将会在通知中心向用户发送全局通知告知用户错误内容数量已达上限。
:-: ![](https://img.kancloud.cn/8f/37/8f374a24dfceb11cd5beac20512eebc0_712x292.png)
* 正在产生错误内容的数据任务将被暂停。
* 当前未产生错误内容的数据任务继续正常运行,当错误队列有新增错误时,任务将被暂停。
* 不再接受新任务激活、原任务重启等请求。
:-: ![](https://img.kancloud.cn/2c/29/2c297e30bf293b0abaae6c69d768624d_852x168.png)
* 用户需要对错误内容进行处理,当错误数量低于上限值时,平台任务方可恢复正常,已暂停的任务可以操作重启。
* 具体的数量上限值可根据实际生产环境进行配置。
**常见问题:**
### Q1:为什么我的数据内容进入错误队列?
您可以根据数据的错误类型名称和具体的错误信息来了解导致进入错误队列的原因,例如:
* 「RULE_ERROR」,当您看到这个错误,就代表着数据内容因为无法匹配清洗规则而进入了错误队列。
* 例如,当您设置了「Column > 0」的过滤规则,而数据源「Column」字段值为NULL,平台无法进行过滤,导致了这些所有值为NULL的数据进入错误队列。
* 具体的清洗规则规范您可以点击查看[数据清洗](../sjqx.md)。
* 其他类型的错误您可以具体查看下方的错误信息详情来定位具体的错误来源,如果您对这些信息存在疑问,欢迎联系我们的技术团队帮您定位问题。
- DataPipeline产品手册
- 产品更新日志
- v2.7.0 版本介绍
- v2.6.5 版本介绍
- v2.6.0 版本介绍
- v2.5.5 版本介绍
- v2.5.0 版本介绍
- v2.4.5 版本介绍
- v2.4.1 版本介绍
- v2.4.0 版本介绍
- v2.3 版本介绍
- v2.2.5 版本介绍
- v2.2 版本介绍
- v2.1 版本介绍
- v2.0.5 版本介绍
- v2.0 版本介绍
- v2.0 以前版本介绍
- 环境和数据库的部署要求
- Mysql - BINLOG配置方法
- Oracle - LOGMINER配置方法
- SQL Server - Change Tracking配置方法
- Postgre SQL-decoderbufs配置方法
- Postgre SQL-wal2json配置方法
- 常见场景操作
- 场景一:实时同步异构数据库数据(例:MySQL到Oracle)
- 场景二:批量同步异构数据库数据(例:SQL Server到MySQL)
- 场景三:API数据同步到关系型数据库(例:API到MySQL)
- 场景四:Hive数据同步到关系型数据库(例:Hive到SQLServer)
- 场景五:关系型数据库数据同步到Hive(例:Oracle到Hive为例)
- 场景六:Kafka数据同步到关系型数据(例:Kafka到MySQL为例)
- 场景七:一对多场景介绍
- 产品入门
- 数据同步任务
- 创建数据同步
- 配置数据源&数据目的地
- 配置数据源
- 配置MySQL数据源
- 配置Oracle数据源
- 配置SQL Server数据源
- 配置PostgreSQL数据源
- 配置FTP数据源
- 配置S3数据源
- 配置API数据源
- 配置Kafka数据源
- 配置Hive数据源
- 配置阿里云 OSS数据源
- 配置腾讯云TDSQL数据源
- 配置自定义数据源
- 配置数据目的地
- 配置MySQL数据目的地
- 配置Oracle数据目的地
- 配置SQL Server数据目的地
- 配置Greenplum数据目的地
- 配置Redshift数据目的地
- 配置TIDB数据目的地
- 配置FTP数据目的地
- 配置HBase数据目的地
- 配置HDFS数据目的地
- 配置Hive数据目的地
- 配置AnalyticDB for PostgreSQL数据目的地
- 配置Kafka数据目的地
- 数据同步的任务设置
- 读取设置
- 数据源资源组设置
- 批量功能
- SQL类型数据源读取条件设置
- 分数据源读取设置
- MySQL读取设置
- Oracle读取设置
- SQLServer读取设置
- PostgreSQL读取设置
- FTP文件系统读取设置
- S3文件系统读取设置
- Hive读取设置
- Kafka读取设置
- 阿里云OSS读取设置
- API读取设置
- 腾讯云TDSQL读取设置
- Hive数据源读取分区设置
- 其他设置
- 错误队列设置
- 邮件通知设置
- 任务分组设置
- 写入设置
- 批量功能
- 设置清洗脚本
- 数据目的地资源组设置
- 数据目的地设置
- 子任务设置
- 数据源变化设置
- 写入端数据一致性
- 批量读取后,先写入到临时表,再转存到实际表
- 高级设置
- 子任务设置
- Hive分区设置
- Column family 设置
- 数据同步任务管理
- 数据任务监控
- 重要任务
- 故障任务
- 非激活状态
- 性能关注
- 数据任务分组
- 管理数据同步
- 复制功能
- 回滚功能
- 重新同步功能
- 错误队列
- 消息列表
- 文件同步任务
- 创建文件同步
- 配置文件源
- 配置S3文件源
- 配置FTP文件源
- 配置文件目的地
- 配置HDFS文件目的地
- 文件同步的任务设置
- 任务流
- 核心功能介绍
- 新建任务流
- 配置核心组件
- 配置开始任务组件
- 配置数据任务组件
- 配置远程命令执行组件
- 配置延时器组件
- 配置权限设置
- 激活任务流
- 元数据管理
- 查看总览
- 搜索页
- 详情页
- 系统设置
- 数据任务
- 元数据管理
- 用户管理
- 常见问题
- 部署要求
- Docker安装的集群部署方式?
- DataPipeline的并发任务是线程还是进程?
- 分布式架构指的是什么样的框架?
- 生产环境配置推荐及回答?
- DataPipeline的服务是统一管理还是私有化部署?若是私有化部署若要升级怎么操作?
- DataPipeline的Kafka如果与客户目前使用的Kafka版本不一样,是否需要适配?
- 请说明产品的HA和容灾方案 ?
- DataPipeline有多少独立的服务?各容器的作用是什么?
- 在从节点上装mysql,对单表导入1000万数据对任务有影响吗?
- 数据传输
- 数据源/数据目的地
- 基本要求
- 数据源或目的地可以重复使用吗?
- 数据源多个表是否可以写到目的地一张表?
- 数据源或目的地连接失败怎么办?
- 数据源
- MySQL
- DataPieline如何应对Mysql数据库表和字段名称大小写不敏感问题?
- DataPipeline Mysql数据源的实时处理模式下,暂时无法读取哪些字段类型?
- Mysql数据源实时处理模式下,暂不支持那些语句操作的同步?
- Oracle
- Oracle实时模式为LogMiner时,为什么还需要设置读取频率?
- SQL Server
- SQL Server数据源读取方式选择Change Tracking时需要注意什么?
- SQL Server实时模式为Change Tracking时,为什么还需要设置读取频率?
- PostgreSQL
- Hive
- Hive数据源支持哪些文件格式?
- Kafka
- FTP文件系统
- FTP数据源CSV静态表结构时,用户为什么需要确认首行是否为字段名称?
- FTP数据源静态表结构和动态表结构的区别是什么?
- FTP源的文件在不断写入的情况下,DataPipeline的读取与写入的模式是怎样的?
- FTP数据源支持哪些编码方式?
- S3文件系统
- 阿里云OSS文件系统
- API
- 腾讯云TDSQL
- 数据目的地
- MySQL目的地常见问题
- 时区问题需要注意什么?
- SQL Server目的地常见问题
- 行级的物理删除,使用Change Tracking的方式,是否获取的到?DataPipeline会如何处理这类的数据?
- 数据源实时模式是否可以同步视图?
- Oracle目的地常见问题
- TiDB目的地常见问题
- 目的地TIDB同步表时,需要注意什么?
- Redshift目的地常见问题
- Redshift 并发数设置是50,DataPipeline对100个表并发插入的方案?对Redshift 性能的影响?DataPipeline对大数据量并发插入Redshift 的处理方式?
- Hive目的地常见问题
- 如何避免Hive目的地出现小文件问题?
- DataPipeline同步数据到Hive目的地表时,数据源发生变化会怎么样?
- 我们目前对已做好Hive分区逻辑的目的地,是不是不支持继续往里写?只能写新表?
- 配置Hive目的地是需要注意哪些?
- Hive目的地时字段转换需要注意哪些问题?
- GreenPlum目的地常见问题
- Kafka目的地常见问题
- kafka目的地支持设置新的分区吗?
- 多个表结构不一致的表,可以同步至kafka的同一个topic吗?
- HDFS目的地常见问题
- FTP文件系统目的地常见问题
- 目的地FTP时,我们现在是按什么逻辑创建文件的?
- AnalyticDB for PostgreSQL目的地常见问题
- Hbase目的地常见问题
- 目的地常见问题
- 各个数据目的地的写入方式分别是采用什么形式?
- DataPipeline支持的数据库的目标端的连接方式是什么?
- DataPipeline支持的目标端冲突数据处理机制是什么?
- 任务设置
- 读取模式相关问题
- 任务设置中读取频率的实现原理是什么样的?
- 采用实时同步的情况,新建同步任务时,源端的数据表有大量的存量数据,如何通过产品实现数据同步的一致性的?
- 定时批量清目标表数据的逻辑是什么样的?
- 数据源端基于日志的实时模式,是源库推送还是我们做捕获?
- 关系型数据如MySQL,如果出现大量的数据修改,BinLog日志如何抓取,如何实现及时的消费?
- 读取与写入的速率限制是按照任务还是按照表?
- 我们的无侵入性是如何实现的?是完全无侵入性,还是侵入性很小?是否无侵入性就意味着源端服务器没有访问请求的压力,那目的端写入是否还存在压力?
- 动态限速的策略是什么?
- 读写一致性的逻辑是什么?
- v2.6版本增量的逻辑如何实现?
- 重新同步策略问题
- 如果任务激活后进行重新同步,目的地数据会清空吗?
- 读取设置
- 如何设置数据读取条件where语句?有哪些注意事项?
- 用户选择实时模式时,选表时发现有一些表置灰不能同步要想同步这些表该怎么办?
- 同步完成后暂停,取消表后又新加入此表,DataPipeline对于此表的处理策略是什么样的?
- 写入设置
- 表和字段问题
- 目的地表名称和字段名称最长字符长度有什么特定限制吗?以及表名称和字段名称的输入规则要求是什么?
- 同步数据到异构数据库,字段类型会有变化吗?
- 表结构中的精度和标度是什么意思?
- DataPipeline所支持的不同数据类型有哪些?kafka schema的数据类型和不同库间的数据库转换规则?
- 数据源端支持哪些字符集类型?
- Hive作为目的地表需要注意什么?
- Hive作为数据源且格式为parquet时需要注意什么?
- 如何新增一个字段?
- 主键相关问题
- 无主键的表的同步逻辑是怎样的?
- 选择增量识别为主键,如何保证源端和目标的数据一致性呢,如果该记录有修改,系统是怎么处理的?
- 数据目的地ODS有大量无主键表,同步时DataPipeline是如何处理的?
- 表结构变化问题
- 任务激活前后,数据源变化表结构变化有什么不同?
- 当数据源表结构更新时DataPipeline是如何处理的?
- 如果目的地端已经存在了数据库表,但表结构不相同,我们能否将数据写入到该表?
- DataPipeline是否支持将不同的数据表(在不同的数据库中,但是表结构一致,同时有主键和唯一性识别的字段),导入同一个目的端表?
- 管理数据同步
- 基本概念
- 错误通知是什么?
- 错误队列是什么?
- 哪些数据错误会进入错误队列?
- 请简述产品支持的目标端冲突数据处理机制?
- 错误队列里的原始数据是指源端读取的原始数据还是说经过清洗规则后的数据?
- 激活任务后,有哪些参数可以修改?
- 同步状态
- 部分表已读取已写入等都为0,但完成进度为100%?
- 任务详情页中的数据读写量具体含义是?为什么有时候还会减少?
- 如何去查看FTP源和FTP文件中的文件有没有同步完成?
- 数据任务激活后是不允许修改任何设置吗?
- 激活任务后,数据百分比为什么会往回条,如:从99% 跳到30%
- 同步逻辑
- 自动重启逻辑是怎样的?
- 目前数据同步的暂停重启策略是什么样的?暂停和重启后是如何读取和写入数据的?
- 目前进行数据任务的时候,读取速率远大于写入速率,其中,已读取且还未写入的数据会暂时存储在Kafka上,但是由于Kafka存储空间有限,超出后容易造成数据的丢失,这怎么办?
- 如果一条数据多次、频繁变化,在DataPipeline产品侧如何保证数据的并行和保序是如何保证的?
- 用户导入数据后,hdfs认证机制,数据哪些用户可以使用,用户数据安全如何确保?
- 请简述目标端性能可管理性(可提供的性能监控、分析、调优手段等)
- DataPipeline是否支持远程抽取数据?
- 如果一条数据多次、频繁变化,在DataPipeline产品侧如何保证数据的并行和保序是如何保证的?
- 产品到期问题
- 产品使用期限到期所有任务都会被暂停任务,那么如何提前获知产品使用期限是否到期以避免任务被暂停?
- 实际场景中,目的地服务器每周可能会有aws升级,需要暂停服务器,DataPipeline有没有对应的方案能够满足?
- 任务报错
- redis连接异常任务暂停了怎么办?
- 文件传输
- FTP文件源同步整个文件时是如何同步的?
- 任务流
- 如何使用远程命令执行脚本来调取另外一个任务流?
- 任务流开启状态下,任务此时关闭掉任务流,正在同步的组件任务的处理逻辑是什么样的?
- 任务流中上游组件有多个组件任务时,上游任务全部完成才能开启下游任务吗?
- 任务既连了开始键,又配置了依赖,执行逻辑会是什么样的?
- 任务流中新建任务为何只有读取方式为增量识别字段,没有binlog?
- 任务监控
- 什么样的实时传输任务会在性能关注中显示?