如何比较informatica cloud中两个文件中的列名和列顺序

how to compare column names and order of columns in two files in informatica cloud

源文件的列每次都在变化,因此目标 table 中的数据变得混乱。我想通过在 informatica 云中创建一些程序来避免这个问题,它将使用现有(正确的)源文件检查传入源文件的列顺序和列名称。 如果列匹配,则只有它应该继续将数据插入目标。否则它应该失败。 提前致谢

您有两种选择。
选项 1 - 使用 UNIX head -1 dailyfile > file1head -1 modelfile > file2。然后比较文件 1 和文件 2。如果两者相同,那么它是一个好文件,否则用 0 字节文件替换 dailyfile 并通知支持团队(或做任何你想做的事)。

选项 2 - 有点棘手。
创建两个管道 - 一个用于模型文件,一个用于日常文件。
附加一个 exp 转换并添加序列 gen(始终从 1 开始)。
然后放一个filter,取nextval =1.
然后使用连接器比较过滤结果(您可以连接所有列或将它们连接成一个长字符串并在该列上进行比较。)-如果它们相同,则生成标志 ='Pass' else 'NoPass'。连接 SQ_dailyfile 和这个输出 - 连接条件将在此标志上 柱子。如果 'Pass'='Pass',它将产生 0 行。您也可以在 flag = 'NoPass' 时调用 ABORT()
整个映射应该如下图所示。