如何在水壶转换更新步骤中忽略查找失败?我有转换,试图更新一些数据,但在此步骤中,当键查找与表数据不匹配时,我看到频繁的错误消息。
发布于 2016-08-11 22:17:44
默认情况下,Update step
根据Keys to look up the values
面板中定义的键(ID)查找记录(从数据库)。如果在目标表中没有找到记录,该步骤将失败,并向控制台抛出一个错误。它失败是因为它试图将目标表中查找的值与记录流中的值进行比较。如果从目标数据库中找不到任何要比较的行,则失败。
选中Ignore lookup failures?
时,该步骤不会失败。它忽略特定的失败,并继续处理来自记录流的另一个传入行。
无论查找是否失败,都可以使用Flag field
保存信息。您可以使用它来跟踪所有失败的it,并将它们写到控制台或文件中。
例如:当您的ETL每天从源数据库加载增量到目标数据库时,该步骤很有用。源数据库已包含每日增量IDs: 1,2,3,4,5,6
,而目标数据库仅包含在IDs: 1,2,3,4
之前加载的增量。现在,当您运行一个从源加载数据并更新目标(使用Update step
)的转换时,它在ID = 5
上失败了。它不能在目标数据库中查找这样的记录。
另一个重要的选择是Skip lookup
。当它被选中时,它直接执行update语句,而不是查找目标数据库中的行,并将表值与来自记录流的输入值进行比较。
https://stackoverflow.com/questions/37647792
复制相似问题