【问题标题】:how to compare column names and order of columns in two files in informatica cloud如何在 informatica 云中比较两个文件中的列名和列顺序
【发布时间】:2021-09-11 11:32:58
【问题描述】:

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

【问题讨论】:

    标签: etl informatica informatica-powercenter informatica-cloud informatica-data-integration-hub


    【解决方案1】:

    您可以通过两种方式进行操作。
    选项 1 - 使用 UNIX head -1 dailyfile > file1head -1 modelfile > file2。然后比较file1和file2。如果两者相同,那么它是一个很好的文件,否则将 dailyfile 替换为 0 字节文件并通知支持团队(或做任何你想做的事情)。

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

    【讨论】:

    • 感谢您的回复。只能通过 informatica 进行。请您帮助我了解我们在第一个加入者之后的比较方式(我有大约 50 个列名要比较)
    • 抱歉耽搁了。我认为您需要加入第一个加入者中的所有 50 列。如果您不想这样做,您可以将所有 50 列连接成一个长字符串,然后在 joiner1 中进行比较。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多