数据任务故障排除
本节介绍在处理数据任务时可能会发生的问题以及如何解决问题。
环境错误故障排除
当数据任务遇到环境错误(例如超时、网络错误或连接错误)时,数据任务将自动重试该操作。如果重试后未解决错误,数据任务将停止运行,并显示状态错误和错误消息。
-
具有只能通过 数据移动网关 访问的数据源的登陆任务:
以 5 秒的间隔重试操作无数次。
如果停机时间较长,则间隔加倍,直到达到 1800 秒的间隔。
-
具有无需 数据移动网关 即可访问的数据源的登录任务、存储任务、转换任务和数据集市任务:
该操作将重试 3 次,间隔 1 秒。
执行以下操作:
-
使用错误消息解决错误。
-
重新加载或恢复数据任务的操作。
使用特定表排除问题
如果数据任务在写入特定表时遇到错误,该数据任务将继续运行。出错表将显示状态错误和错误消息。
-
使用错误消息解决错误。
-
重新加载出错的表。
CDC 问题疑难解答
使用满负载并持续更新变动更新模式的登陆数据任务可能会遇到与 CDC 相关的问题,这些问题会影响整个任务,并且无法通过重新加载特定的表来解决。问题的示例包括丢失事件、源数据库重组引起的问题或读取源数据库事件时失败。
您可以将所有表重新加载到目标以解决此类问题。
- 停止数据任务和所有使用它的任务。
-
打开数据任务,然后选择监视器选项卡。
-
点击 ...,然后重新加载目标。
这将使用 Drop-Create 将所有表重新加载到目标,并将从现在起重新启动所有更改数据捕获。
-
消耗登陆数据任务的存储任务将通过比较重新加载,并在下次运行时应用以保持同步。现有历史将被保留。类型 2 历史记录将更新,以反映执行重新加载和比较进程后的变化。
类型 2 历史记录中的起始日期的时间戳将反映重新加载日期,而不一定是源中发生更改的日期。
-
在重新加载目标操作期间以及在存储同步之前,存储实时视图将不可靠。存储将在以下情况下完全同步:
-
使用比较和应用重新加载所有表,
-
每个表执行一个更改周期。
-
有关更多信息,请参阅将所有表重新加载到目标。。
主键列中存在 NULL 值
执行数据任务时可能会收到错误消息:Unknown execution error - NULL result in a non-nullable column.
可能的原因
用作主键的列不能包含 NULL 值,并且应不可为 NULL。
建议的操作
在源数据任务中,添加一个将所有 NULL 值转换为值的表达式,例如 0。
还可以选择另一列用作主键。
使用 Redshift 作为数据平台时出现转换错误
使用 Redshift 作为数据平台时,您可能会遇到以下错误或类似错误:找不到从“未知”到变化字符的转换函数
可能的原因
缺少常数表达式的转换。由于最终查询的复杂性更高,这种情况在数据集市中可能会更频繁地发生。
建议的操作
将常数表达式转换为文本。
示例:
不明确的列名
当您基于在 Qlik Talend Data Integration 管道中创建的视图注册数据时,该视图可能包含由 Qlik Talend Data Integration 生成的列。这些列的名称(以 hdr_ 开头)被保留。当在存储任务中使用具有保留名称的列时,存储任务将创建具有相同保留名称的栏,从而导致命名冲突。例如,您可以有两个名为 hdr_key_hash 的列。
有关视图中保留列名的详细信息,请参阅视图。
建议的操作
重命名存储数据任务中来自已注册数据任务的列。例如,将 hdr__key_hash 重命名为 my__key_hash。
基于 数据移动网关 的数据任务故障排除
您可以通过检查日志文件来基于 数据移动网关 获取有关数据任务登陆操作的信息。您还可以设置日志记录的级别。当数据任务完成首次运行时,日志可用。
要查看日志文件,您需要对数据任务所在的空间具有以下权限之一:
-
所有者
-
可操作
在数据网关所在的空间中,您还需要以下权限之一:
- 可使用
- 可编辑
- 可管理
查看日志文件
通过基于 数据移动网关 单击登陆数据任务中的查看日志,打开日志查看器。您可以在 Replication 引擎日志下选择要查看的日志文件。您可以使用 和 滚动到文件的顶部和底部。
设置日志记录选项
您可以在日志记录选项下为复制的不同操作设置日志记录级别。
在内存中存储跟踪和详细日志记录
当日志记录级别设置为“跟踪”或“详细”时,您可以指示 Qlik Talend Data Integration 将日志记录信息存储在内存中,直到发生错误。检测到错误后,Qlik Talend Data Integration 将开始写入物理日志,并在错误首次发生后继续写入几分钟。
如果在分配的内存用完之前没有发生错误,Qlik Talend Data Integration 将清空内存缓冲区并重新开始。
此选项对于无法预测且无明显原因的失败任务非常有用。持续向日志中写入大量信息的问题有两个:
- 在“跟踪”或“详细”日志记录模式下运行将很快耗尽可用磁盘空间(除非已配置日志记录设置以防止这种情况)。
- 持续向日志中写入大量数据会影响性能。
使用该选项
设置日志记录级别
您可以设置以下级别:
-
1. 错误
显示错误消息。
-
2. 警告
显示警告。
-
3. 信息
显示信息性消息。
-
4. 调试
显示用于故障排除的其他信息。
-
5. 详细调试
显示用于故障排除的详细信息。
较高级别始终包括来自较低级别的消息。因此,如果选择错误,则只会将错误消息写入日志。但是,如果选择信息,则会包含信息消息、警告和错误消息。通常,使用调试和详细调试级别可能会生成大量日志数据。
您可以使用全局为所有操作设置相同的级别,也可以为每个操作单独设置级别。
-
源 - 满负载
记录与数据源中的满负载操作相关的活动。这包括在完全加载之前对源表执行的 SELECT 语句。
-
源 - CDC
记录与数据源中的 CDC 操作相关的活动。
警告注释将此设置为详细调试级别将在日志中生成大量数据。 -
源数据
详细记录与满负载和 CDC 操作相关的数据源活动。
-
目标 - 满负载
记录与目标上的满负载操作相关的活动。
-
目标 - CDC
记录与目标上的 CDC 操作相关的活动。
-
目标 – 上传
记录文件传输到目标时的活动。
-
扩展的 CDC
详细记录 CDC 活动,如事交易的同步和存储。
-
性能
记录源和目标的延迟值。
-
元数据
记录与读取元数据相关的活动以及元数据更改。还将记录复制任务的状态。
-
基础设施
记录基础结构信息、文件系统操作和任务管理。
-
转换
记录与执行的转换相关的信息。
下载诊断文件
您可以下载诊断包、任务日志和内存报表,以帮助您对与登录任务关联的复制任务进行故障排除。一次只能下载一个项目。
-
在日志查看器中,单击下载以展开。
-
选择要下载的项目。
-
单击下载。
该文件将被下载到您的计算机上,或者系统会提示您保存该文件,具体取决于您的浏览器设置。
对未使用 数据移动网关 的数据任务进行故障排除
您可以通过检查日志文件来获取不使用 数据移动网关 的数据任务的登陆操作信息。您还可以设置日志记录的级别。当数据任务完成首次运行时,日志可用。您可查看任务日志和服务器日志。
查看任务日志
要查看任务日志文件,您需要对数据任务所在的空间具有以下权限之一:
-
所有者
-
可操作
在数据网关所在的空间中,您还需要以下权限之一:
- 可使用
- 可编辑
- 可管理
在未使用 数据移动网关 的登陆数据任务中,单击查看任务日志打开日志查看器。您可以在 Replication 引擎日志下选择要查看的日志文件。您可以使用 和 滚动到文件的顶部和底部。
您可以在日志记录选项下为复制的不同操作设置日志记录级别。有关更多信息,请参阅设置日志记录选项。
查看数据移动日志
要查看数据移动日志,您需要数据管理员或租户管理员角色。
在未使用 数据移动网关 的登陆数据任务中,单击查看数据移动日志打开日志查看器。有关日志的更多信息,请参阅查看和下载日志文件。