2017-01-10 3 views
1

Я хочу реализовать один известный сценарий Informatica. У меня есть исходный файл, как это: -Сегрегация строк на основе группового счета-TALEND

EMPNO,EMPNAME,DEPTNO 
10,A,1 
11,B,2 
12,C,3 
13,D,4 
14,E,1 
15,F,1 
16,G,2 
17,H,3 
18,I,4 
19,J,2 
20,K,3 
21,L,1 
22,M,2 

Теперь я хочу, чтобы отделить от возникновения DEPTNO Column.eg:

  • If Количество возникновения любого DEPTNO> 3 будет идти к цели. для этого случая DEPTNO 1 & 2 происходит 4 раза.so они перейдут в 2 целевые таблицы.

Какое-либо использование компонента tMemorizerow здесь?

Я пробовал использовать компонент tmap, но не смог найти место DEPT NO. Возможно ли использование компонента tjavaflex, написавшего java-код? Я могу отделить входной поток до 4 частей внутри первого tmap после tfileinputdelimited. Затем я беру 4 taggregaterow.

ответ

1

Вы можете использовать taggregaterow С помощью этого компонента вы можете сделать эквивалент GROUP BY в SQL. Более того, вы можете выполнить операцию с группой. Вы можете использовать функцию подсчета внутри

Для того, чтобы фильтровать DEPTNO вам нужен фильтр в TMAP

Пример: enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Кроме того, существует некоторая информация о компоненте taggregaterow: Here

+0

Привет, Тео, это полезно. Но можете ли вы сделать с моим исходным файлом? – Abhijit

+0

Theo, еще одна вещь. Почему вы используете tfixedflowinput здесь? Я очень много нового в Talend.can это можно сделать через tfileinputdelimited? – Abhijit

+0

Я использую фиксированный ввод, чтобы создать набор данных для тестирования, который вам нужно заменить их вашими данными. Так что да, вам нужно поставить вас inputdelemited –

0

Вы можете использовать tAggregateRow и tFilterRow для того, чтобы объединить исходный файл по DEPTNO, а затем фильтрует, чтобы получить поток только с DEPNTO с пью вхождений> 3. Тогда вы снова читать исходный файл, и присоединиться потоки с tMap (внутреннее соединение).

Проект компонентов для использования:

A draft of components to use

вы могли бы также упростить работу с Тхач компонентами, чтобы прочитать источник только один раз.

+0

Корантен Как вы найти количество вхождений? – Abhijit

+1

Извините, не видел ответа от @ Théo Capdet, у него более подробный ответ, оба ответа идут одинаково. – Corentin

Смежные вопросы