Informatica의 라우터 변환: 여러 조건 예
⚡ 스마트 요약
Informatica의 라우터 변환은 들어오는 행을 여러 그룹 필터 조건에 대해 동시에 테스트하고 각 행을 일치하는 출력 그룹 또는 기본 그룹으로 보내는 활성 연결 객체입니다.

라우터 변환이란 무엇입니까?
라우터 변환은 소스 데이터를 필터링하는 데 사용되는 필터 변환과 유사한 능동적이고 연결된 변환입니다.
필터링 기능 외에 추가로 제공되는 기능은 필터링되어 제외된 데이터도 지도에 표시할 수 있다는 점입니다.ping또한 여러 필터 조건을 적용하여 여러 데이터 세트를 얻을 수 있습니다.
예를 들어, deptno가 10인 데이터를 필터링할 때 deptno가 10이 아닌 레코드도 얻을 수 있습니다. 따라서 라우터 변환은 여러 출력 그룹을 생성하며, 각 출력 그룹은 고유한 필터 조건을 가질 수 있습니다.
또한 기본 그룹도 있습니다. 이 기본 그룹에는 그룹 조건을 만족하지 않는 레코드 집합이 포함됩니다. 예를 들어, deptno=10과 deptno=20이라는 두 개의 필터 조건에 대한 그룹을 각각 생성한 경우, deptno가 10 또는 20이 아닌 레코드는 모두 이 기본 그룹으로 전달됩니다.
요약하자면, 필터 그룹에서 거부된 데이터는 이 기본 그룹에 수집되며, 경우에 따라 거부된 데이터를 저장해야 할 필요가 있을 수 있습니다. 이러한 상황에서 기본 출력 그룹이 유용할 수 있습니다.
여러 필터 조건을 허용하기 위해 라우터 변환은 그룹 옵션을 제공합니다.
- 기본 입력 그룹이 있으며, 이 그룹은 입력 데이터를 받습니다.
- 또한 필터 조건을 통과하지 않은 모든 데이터를 제공하는 기본 출력 그룹도 있습니다.
- 라우터 변환에서는 각 필터 조건에 대해 출력 그룹이 생성됩니다. 이러한 그룹에 서로 다른 대상을 연결할 수 있습니다.
라우터 변환의 구성 요소
지도를 만들기 전에ping디자이너가 생성하는 네 가지 구성 요소를 아는 것이 도움이 됩니다. 라우터 변환은 하나의 입력 그룹, 여러 개의 출력 그룹, 그 안에 있는 포트, 그리고 각 행이 어디로 이동할지를 결정하는 조건으로 구성됩니다.
| 구성 요소 | 그것이하는 일 |
|---|---|
| 입력 그룹 | 변환을 위한 단일 진입점입니다. 출력 그룹의 수와 관계없이 모든 입력 행은 여기에 한 번만 도달합니다. |
| 사용자 정의 출력 그룹 | 사용자가 직접 생성하고 이름을 지정하는 그룹(예: deptno_20). 각 그룹은 고유한 그룹 필터 조건을 가집니다. |
| 기본 출력 그룹 | 첫 번째 사용자 정의 그룹이 생성되는 즉시 자동으로 생성됩니다. 필터 조건이 없으며 편집하거나 삭제할 수 없습니다. |
| 그룹 필터 조건 | 표현식 편집기에서 작성된 부울 표현식입니다. 이 표현식이 TRUE로 평가되는 행은 해당 그룹을 통과합니다. |
설계자는 입력 그룹의 포트 정의를 모든 출력 그룹으로 복사하므로 포트를 그룹별로 다시 생성할 필요가 없습니다. 이 설계에서 두 가지 규칙이 도출됩니다.
- 행은 중복될 수 있습니다. 행이 둘 이상의 그룹 필터 조건을 만족하는 경우, 해당 행은 조건을 만족하는 각 그룹에 한 번씩 전달됩니다. 이것이 대상 테이블에 소스 테이블보다 더 많은 행이 포함되는 일반적인 이유입니다.
- 행을 삭제할 수 있습니다. 기본 그룹을 연결하지 않은 상태로 두면 해당 그룹에 도달하는 행은 파이프라인에서 사라지게 되는데, 이는 원치 않는 데이터를 제거하는 가장 빠른 방법입니다.
라우터 변환과 필터 변환 비교
두 객체 모두 조건을 기준으로 데이터를 테스트하고 둘 다 활성 변환이므로 둘 중 하나를 선택하는 것은 관련된 조건의 수와 거부된 행이 중요한지 여부에 달려 있습니다.
| 비교의 지점 | 필터 변환 | 라우터 변환 |
|---|---|---|
| 객체별 조건 | 한 | 하나 또는 여러 개, 각각 자체 그룹에 속함 |
| 거부된 행 | 삭제되어 더 이상 이용할 수 없습니다. | 기본 그룹에 수집됨 |
| 출력 그룹 | 단일 출력 파이프라인 | 그룹당 하나의 파이프라인과 기본 그룹이 추가됩니다. |
| 출처는 다음과 같습니다. | 조건이 연결될 경우 필터당 한 번씩 읽기 작업을 수행합니다. | 모든 상황에 적용 가능한 단 한 번의 판독 |
| 일반적인 사용 | 더 이상 필요하지 않은 행을 제거합니다. | 하나의 소스를 여러 대상으로 분할 |
필터 변환을 사용하여 세 가지 조건을 테스트하려면 세 개의 객체가 필요하며, 연결된 설계에서는 동일한 소스 행이 반복적으로 평가됩니다. 라우터는 한 번의 패스로 동일한 작업을 수행하므로 두 번째 조건이 나타날 경우 일반적으로 더 효율적인 옵션입니다. 일회성 조건 하나만 사용하는 경우에는 더 간단한 방법이 적합합니다. 필터 변환 여전히 더 적합한 선택입니다.
Informatica에서 라우터 변환을 생성하는 방법
아래 단계별 설명은 20번 부서 직원을 특정 테이블로 보내는 라우터를 구축하는 방법을 보여줍니다. 지도에 표시된 9단계를 순서대로 따라가세요.ping 디자이너.
단계 1) 만들기 지도ping 소스가 "EMP"이고 대상이 "EMP_TARGET"인 맵입니다.ping 디자이너 캔버스에는 아래 그림과 같이 소스 정의, 소스 한정자 및 대상 정의가 저장됩니다.
단계 2) 그럼 지도에서ping
- 변환 메뉴 선택
- 생성 옵션 선택
마법사를 시작하는 데 사용되는 메뉴 경로는 다음 스크린샷에 강조 표시되어 있습니다.
단계 3) 변환 생성 창에서
- 라우터 변환 선택
- 변환 "rtr_deptno_10"의 이름을 입력하세요.
- 만들기 옵션을 선택하세요.
단계 4) 라우터 변환이 지도에 생성됩니다.ping창에서 완료 옵션을 선택합니다. 두 단계 모두에서 사용되는 변환 생성 창은 아래와 같습니다.
단계 5) 모든 열을 끌어서 놓습니다. 소스 한정자 라우터 변환이 완료되었습니다. 스크린샷에서 볼 수 있듯이 이제 모든 포트가 새 객체에 연결되었습니다.
단계 6) Double 라우터 변환을 클릭한 다음 해당 변환 속성에서
- 그룹 탭 선택
- 그룹 이름 “deptno_20”을 입력하세요.
- 그룹 필터 조건을 클릭하세요.
다음으로 새 그룹이 추가된 그룹 탭이 표시됩니다.
단계 7) 표현식 편집기에서 필터 조건 deptno=20을 입력하고 확인 버튼을 선택합니다. 이 조건을 포함하는 편집기는 아래와 같습니다.
단계 8) 그룹 창에서 확인 버튼을 선택합니다. 이제 다음 스크린샷과 같이 해당 조건이 그룹에 적용됩니다.
단계 9) 라우터 변환의 deptno_20 그룹의 포트를 대상 테이블 포트에 연결합니다. 완성된 맵은 다음과 같습니다.ping 소스에서 그룹을 거쳐 EMP_TARGET까지 실행됩니다.
이제 이 맵을 실행하면ping, 필터링된 레코드가 대상 테이블에 로드됩니다.
라우터 변환 모범 사례 및 일반적인 오류
지도ping 위 예시에서는 하나의 그룹만 사용했는데, 이로 인해 나중에 지원 티켓이 발생하는 대부분의 동작이 숨겨졌습니다. 아래에서는 두 번째 그룹이 나타났을 때 변경되는 사항들을 다룹니다.
- 중복된 행이 있는지 확인하세요. 그룹 조건은 상호 배타적이지 않습니다. 한 그룹에 sal>1000을 입력하고 다른 그룹에 deptno=20을 입력하면 두 조건을 모두 만족하는 직원이 두 번 기록됩니다. 조건을 상호 배타적으로 만들거나, 의도적으로 중복을 허용하십시오.
- 거부 사항이 중요한 경우 기본 그룹을 연결합니다. 기본 그룹이 대상 파일이나 거부 파일에 연결되어 있지 않으면 조건을 만족하지 않는 행은 손실됩니다. 감사 가능한 로드의 경우 일반적으로 이러한 행도 유지됩니다.
- 그룹 이름은 대상이 아닌 규칙 이름을 따라 지정하세요. 예시 그룹인 deptno_20은 명확하게 읽히지만, group1이라는 그룹은 그렇지 않습니다. 이 예시에서는 변환 자체의 이름이 rtr_deptno_10으로 되어 있지만, 해당 그룹은 부서 번호 20을 기준으로 필터링하는데, 이는 명명 표준에서 방지해야 하는 바로 그런 불일치입니다.
- 가능하면 경로 안내 전에 필터링하세요. 어떤 그룹도 원하지 않는 행은 라우터로 전달하는 것보다 소스 한정자 쿼리에서 제거하는 것이 비용이 적게 듭니다.
- 라우터를 조인으로 취급하지 마십시오. 하나의 파이프라인을 여러 개로 분할합니다. 분기들을 다시 합치려면 Union 변환이 필요하고, 서로 다른 두 소스를 결합하려면 또 다른 변환이 필요합니다. 조이너 변환.
조건식이 TRUE 또는 FALSE가 아닌 NULL을 반환하는 그룹은 일치하지 않는 것으로 처리되므로, 테스트 열에 NULL 값이 있는 행은 기본 그룹으로 넘어갑니다. 조건식에서 NULL 값을 명시적으로 처리하면 이러한 문제를 방지할 수 있습니다. 성능 조정 그리고 테스트.








