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

数据任务故障排除

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

环境错误故障排除

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

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

    以 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

转换不会应用于现有数据

您在任务中使用现有数据添加或更改了转换,但再次准备和运行任务时,新的或更改的转换只会应用于新数据。

建议的操作  

如果要对所有现有数据应用新的或已更改的转换,请重新加载所有受影响数据表。

本页面有帮助吗?

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