Как исключить совпадающие строки в двух плоских файлах с помощью Informatica? - PullRequest
2 голосов
/ 08 марта 2011

Как исключить совпадающие строки в двух плоских файлах с помощью Informatica?

У меня есть плоский файл (источник) с данными, которые выглядят так (как правило, намного больше данных):

1,2,3
4,5,6

И второй плоский файл (источник), который выглядит следующим образом:

1,2,3

Я хочу, чтобы результат (цель) был плоским файлом, который выглядит следующим образом:

4,5,6

Я знаю, что в SQL есть ИСКЛЮЧЕНИЕ (противоположное INTERSECT), которое сделало бы эту работу.Но я делаю все это с помощью простых файлов и Informatica.

Я довольно новичок в Informatica.Я делал это только около месяца.Так что это может быть довольно очевидно.Если бы вы могли сказать мне, какие трансформации вы бы использовали, это было бы здорово.

Ответы [ 2 ]

2 голосов
/ 09 марта 2011

Вы можете использовать преобразование объединения для объединения наборов результатов из обоих файлов. Это даст вам следующий набор результатов.

col1, col2, col3
-----------------
1,2,3
4,5,6
1,2,3

После этого я использую преобразователь агрегатора и выбираю эти порты (и те, которые вы хотите сгруппировать, чтобы они считались дублирующимися) и получал счет в преобразователе агрегатора.

After Aggregator (new column count => total_count)
----------------------------------------------------
col1, col2, col3,total_count
-----------------------------
1,2,3,2
4,5,6,1

Следующий шаг прост: пропустите их через преобразование фильтра и используйте следующее условие фильтра, чтобы игнорировать строки, имеющие дубликаты.

total_count = 1

1 голос
/ 04 апреля 2011

Включите первый файл в качестве источника и найдите второй файл, используя преобразование «Уточняющий запрос» на основе портов, которые могут совпадать. Затем вы можете использовать Фильтр для удаления записей, которые получили ответный удар из поискового кэша.

Этот метод не требует агрегирования, поэтому он может работать лучше.

...