跳到主要内容 跳到补充内容

数据任务故障排除

本节介绍在处理数据任务时可能会发生的问题以及如何解决问题。

环境错误故障排除

当数据任务遇到环境错误(例如超时、网络错误或连接错误)时,数据任务将自动重试该操作。如果重试后未解决错误,数据任务将停止运行,并显示状态错误和错误消息。

  • 具有只能通过 数据移动网关 访问的数据源的登陆任务:

    以 5 秒的间隔重试操作无数次。

    如果停机时间较长,则间隔加倍,直到达到 1800 秒的间隔。

  • 具有无需 数据移动网关 即可访问的数据源的登录任务、存储任务、转换任务和数据集市任务:

    该操作将重试 3 次,间隔 1 秒。

执行以下操作:

  1. 使用错误消息解决错误。

  2. 重新加载或恢复数据任务的操作。

使用特定表排除问题

如果数据任务在写入特定表时遇到错误,该数据任务将继续运行。出错表将显示状态错误和错误消息。

  1. 使用错误消息解决错误。

  2. 重新加载出错的表。

CDC 问题疑难解答

使用满负载并持续更新变动更新模式的登陆数据任务可能会遇到与 CDC 相关的问题,这些问题会影响整个任务,并且无法通过重新加载特定的表来解决。问题的示例包括丢失事件、源数据库重组引起的问题或读取源数据库事件时失败。

您可以将所有表重新加载到目标以解决此类问题。

  1. 停止数据任务和所有使用它的任务。
  2. 打开数据任务,然后选择监视器选项卡。

  3. 点击 ...,然后重新加载目标

这将使用 Drop-Create 将所有表重新加载到目标,并将从现在起重新启动所有更改数据捕获。

  • 消耗登陆数据任务的存储任务将通过比较重新加载,并在下次运行时应用以保持同步。现有历史将被保留。类型 2 历史记录将更新,以反映执行重新加载和比较进程后的变化。

    类型 2 历史记录中的起始日期的时间戳将反映重新加载日期,而不一定是源中发生更改的日期。

  • 在重新加载目标操作期间以及在存储同步之前,存储实时视图将不可靠。存储将在以下情况下完全同步:

    • 使用比较和应用重新加载所有表,

    • 每个表执行一个更改周期。

有关更多信息,请参阅将所有表重新加载到目标。

主键列中存在 NULL 值

执行数据任务时可能会收到错误消息:Unknown execution error - NULL result in a non-nullable column.

可能的原因  

用作主键的列不能包含 NULL 值,并且应不可为 NULL。

建议的操作  

在源数据任务中,添加一个将所有 NULL 值转换为值的表达式,例如 0。

还可以选择另一列用作主键。

使用 Redshift 作为数据平台时出现转换错误

使用 Redshift 作为数据平台时,您可能会遇到以下错误或类似错误:找不到从“未知”到变化字符的转换函数

可能的原因  

缺少常数表达式的转换。由于最终查询的复杂性更高,这种情况在数据集市中可能会更频繁地发生。

建议的操作  

将常数表达式转换为文本。

示例:

cast ('my constant string' as Text)

不明确的列名

当您基于在 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. 分配内存直至 (MB) 字段,指定要分配用于存储日志记录信息的内存量。

设置日志记录级别

您可以设置以下级别:

  • 1. 错误

    显示错误消息。

  • 2. 警告

    显示警告。

  • 3. 信息

    显示信息性消息。

  • 4. 调试

    显示用于故障排除的其他信息。

  • 5. 详细调试

    显示用于故障排除的详细信息。

较高级别始终包括来自较低级别的消息。因此,如果选择错误,则只会将错误消息写入日志。但是,如果选择信息,则会包含信息消息、警告和错误消息。通常,使用调试详细调试级别可能会生成大量日志数据。

您可以使用全局为所有操作设置相同的级别,也可以为每个操作单独设置级别。

  • 源 - 满负载

    记录与数据源中的满负载操作相关的活动。这包括在完全加载之前对源表执行的 SELECT 语句。

  • 源 - CDC

    记录与数据源中的 CDC 操作相关的活动。

    警告注释将此设置为详细调试级别将在日志中生成大量数据。
  • 源数据

    详细记录与满负载和 CDC 操作相关的数据源活动。

  • 目标 - 满负载

    记录与目标上的满负载操作相关的活动。

  • 目标 - CDC

    记录与目标上的 CDC 操作相关的活动。

  • 目标 – 上传

    记录文件传输到目标时的活动。

  • 扩展的 CDC

    详细记录 CDC 活动,如事交易的同步和存储。

  • 性能

    记录源和目标的延迟值。

  • 元数据

    记录与读取元数据相关的活动以及元数据更改。还将记录复制任务的状态。

  • 基础设施

    记录基础结构信息、文件系统操作和任务管理。

  • 转换

    记录与执行的转换相关的信息。

下载诊断文件

您可以下载诊断包、任务日志和内存报表,以帮助您对与登录任务关联的复制任务进行故障排除。一次只能下载一个项目。

  1. 在日志查看器中,单击下载以展开。

  2. 选择要下载的项目。

  3. 单击下载

    该文件将被下载到您的计算机上,或者系统会提示您保存该文件,具体取决于您的浏览器设置。

对未使用 数据移动网关 的数据任务进行故障排除

您可以通过检查日志文件来获取不使用 数据移动网关 的数据任务的登陆操作信息。您还可以设置日志记录的级别。当数据任务完成首次运行时,日志可用。您可查看任务日志和服务器日志。

查看任务日志

要查看任务日志文件,您需要对数据任务所在的空间具有以下权限之一:

  • 所有者

  • 可操作

在数据网关所在的空间中,您还需要以下权限之一:

  • 可使用
  • 可编辑
  • 可管理

在未使用 数据移动网关 的登陆数据任务中,单击查看任务日志打开日志查看器。您可以在 Replication 引擎日志下选择要查看的日志文件。您可以使用 滚动到文件的顶部和底部。

提示注释日志文件的视图不会自动更新为最新消息。要更新,请单击 以滚动到用最新消息刷新的日志文件的末尾。

您可以在日志记录选项下为复制的不同操作设置日志记录级别。有关更多信息,请参阅设置日志记录选项

查看数据移动日志

要查看数据移动日志,您需要数据管理员或租户管理员角色。

在未使用 数据移动网关 的登陆数据任务中,单击查看数据移动日志打开日志查看器。有关日志的更多信息,请参阅查看和下载日志文件

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!