我正在处理一个场景,在将数据文件加载到临时表之前,我必须将来自文件的数据记录与来自表的数据进行比较,作为验证检查的一部分。我提出了几个可能的场景,其中涉及需要在负载映射中更改的内容,但我的团队建议我对易于注意到的内容进行更改,因为它是一种非标准方法。
是否有任何方法可以使用任何工作流任务或会话属性在工作流管理器中处理?
我正在处理一个场景,在将数据文件加载到临时表之前,我必须将来自文件的数据记录与来自表的数据进行比较,作为验证检查的一部分。我提出了几个可能的场景,其中涉及需要在负载映射中更改的内容,但我的团队建议我对易于注意到的内容进行更改,因为它是一种非标准方法。
是否有任何方法可以使用任何工作流任务或会话属性在工作流管理器中处理?
创建一个映射,该映射将读取文件、将数据与表连接、执行所需的验证并且不会写出任何内容(使用带有 FALSE 条件的过滤器)并将变量设置为 0/1 以指示是否应该开始加载。
接下来,如果验证通过,则运行加载会话。
如果您想将验证错误存储在某个审计表中,这可以稍微改进一下。那么你就不需要变量了——条件可以引用$PMTargetName@numAffectedRows
内置变量。如果它大于零 - 意味着有一些错误 - 不要开始加载。
使用命令行创建一个工作流,您需要在其中编写一个脚本,该脚本将使用 JDBC 连接从表中提取数据,并尝试与文件中存在的数据进行比较,然后标记是否加载。
根据此命令行输出,您是否需要继续进行暂存工作流程..
使用 awk 命令比较数据,您可以灵活地比较列中的日期部分。