예제가 포함된 Informatica의 집계 변환
⚡ 스마트 요약
Informatica의 애그리게이터 변환은 여러 행에 걸쳐 합계, 평균, 개수 등의 계산을 수행하는 핵심 객체이며, 각 그룹의 계산이 완료될 때까지 해당 행들을 애그리게이션 캐시에 저장합니다.

집계 변환이란 무엇입니까?
집계 변환은 합계, 평균 및 개수와 같은 집계 계산을 수행하는 활성 변환입니다.
예를 들어, 모든 직원의 부서별 급여 합계를 계산하려면 애그리게이터 변환을 사용할 수 있습니다.
집계 연산은 행 그룹에 대해 수행되므로, 이러한 모든 레코드를 저장하고 계산을 수행하려면 임시 자리 표시자가 필요합니다.
이를 위해 애그리게이터 캐시가 사용됩니다. 애그리게이터 캐시는 이러한 작업을 수행하기 위해 애그리게이터 변환에 할당된 임시 메인 메모리이며, 인덱스 캐시와 데이터 캐시의 두 부분으로 구성됩니다. 인덱스 캐시에는 그룹 값이 저장되고, 데이터 캐시에는 집계 대상 행 데이터가 저장됩니다.
이 변환은 파이프라인의 행 수를 변경하기 때문에 활성 상태입니다. 수천 건의 직원 기록이 입력될 수 있으며, 부서당 하나의 행만 출력됩니다.
Informatica에서 애그리게이터 변환을 사용하는 방법
이 예에서 우리는 부서별 급여 합계를 계산할 것입니다. 이를 위해 우리는 이 합계를 저장할 새 열이 필요합니다. 따라서 우선 새 열을 준비합니다.
단계 1) 아래 스크립트를 사용하여 "sum_sal_deptwise"와 같은 새 데이터베이스 대상 테이블을 생성합니다. 새 데이터베이스 대상 테이블이 생성된 것을 확인할 수 있습니다. Target다음 단계에서 s 폴더를 사용하세요.
위의 Create_table_sal_deptwise.txt 파일을 다운로드하세요
단계 2) 새 항목 만들기 지도ping “m_sum_sal_deptwise”.
새로운 지도를 만들기 위해pingMap에서 소스 테이블(EMP)과 대상 테이블(sum_sal_deptwise)이 필요합니다.ping 디자이너라서 필요해요.
- 맵에 대상 테이블 "sum_sal_deptwise"를 가져옵니다.ping.
- 소스 테이블 "emp"를 가져옵니다.
이제 아래 그림과 같이 두 가지 정의가 캔버스에 나타납니다.
단계 3) 지도에서ping,
- 에서 소스 한정자empno, ename, job, mgr, hiredate 및 comm 열을 삭제하고 deptno와 sal 열만 남겨둡니다.
- 스크린샷에 표시된 것처럼 도구 상자 메뉴를 사용하여 새 애그리게이터 변환을 생성합니다. 애그리게이터 아이콘을 클릭하면 새 애그리게이터 변환이 생성됩니다.
새로운 AGGTRANS 객체가 다듬어진 Source Qualifier 옆에 나타납니다.
단계 4) 소스 한정자(SQ_EMP)에서 SAL 및 DEPTNO 열을 집계 변환으로 드래그 앤 드롭하세요. 이제 두 포트가 AGGTRANS에 연결됩니다.
단계 5) Double- 애그리게이터 변환을 클릭하여 속성을 연 다음
- 변환에 새 포트 추가
- 포트 이름을 SUM_SAL로 변경하세요
- 이 새로운 포트의 데이터 유형을 double로 변경하세요.
- 출력 포트 확인란을 선택하여 이 포트를 출력 포트로 만드십시오.
- 표현 옵션을 클릭하세요
이제 포트 탭에 SAL, DEPTNO 및 새로운 SUM_SAL 출력 포트가 표시됩니다.
단계 6) 표현식 편집기 창에서
- sum(SAL)이라는 표현식을 추가하세요. 이 표현식은 직접 작성해야 합니다.
- 확인 버튼을 선택하면 변형 편집 창이 다시 나타납니다.
표현식 편집기에는 SUM_SAL에 할당된 집계 표현식이 표시됩니다.
단계 7) 변환 편집 창에서 deptno 열 옆의 확인란을 선택하여 "GroupBy" 옵션을 선택하고 확인을 클릭합니다. deptno 열에 대해 "GroupBy"를 선택하면 Informatica에서 급여를 deptno별로 그룹화하도록 지시하는 것입니다.
단계 8) 애그리게이터 변환의 deptno 및 sum_sal 열을 대상 테이블에 연결합니다.ping 그러면 소스에서 대상으로의 전달이 완료됩니다.
이제 지도를 저장하세요ping 새로운 것을 생성한 후 실행합니다. 세션 이 지도의 경우ping대상 테이블에는 부서별 급여 합계가 포함됩니다. 이와 같이 집계 변환을 사용하여 집계 결과를 계산할 수 있습니다.
집계 플랫폼 전환에서 포트별 그룹화
위 단계에서는 특정 포트를 '그룹화 기준'으로 지정했는데, 이렇게 하면 회사 전체 합계가 부서별 합계로 분리됩니다. 모든 입력, 입력/출력, 출력 또는 가변 포트도 같은 방식으로 지정할 수 있습니다.
결과 집합을 결정하는 세 가지 규칙이 있습니다.
- 그룹당 한 줄씩. 값이 그룹화될 때 통합 서비스는 포트별 그룹화의 각 고유한 조합에 대해 하나의 행을 생성합니다.
- 그룹화 없이 한 줄로만 표시됩니다. 포트가 표시되지 않으면 전체 입력이 단일 그룹으로 처리되어 모든 입력 행에 대해 하나의 행이 반환됩니다.
- 맨 뒷줄이 이긴다. 통합 서비스는 일반적으로 집계 결과와 함께 그룹에서 수신된 마지막 행을 전달합니다. 단, FIRST와 같은 함수에서 다른 행을 지정하는 경우는 예외입니다.
여러 항구가 표시된 경우, 항구 순서에 따라 그룹이 결정됩니다.ping 순서가 중요하며, 순서에 따라 결과가 달라질 수 있습니다. 그룹ping DEPTNO에 따라 JOB은 그룹과 동일하지 않습니다.ping JOB을 기준으로 먼저 정렬한 다음 DEPTNO를 기준으로 정렬합니다. 두 번째 열의 값이 반드시 고유한 것은 아니기 때문입니다.
애그리게이터 변환 속성
변환 편집 창의 속성 탭에는 캐시 위치와 사용량을 결정하는 설정이 있습니다. 아래 표에 해당 설정이 나와 있습니다.
| 환경 | 그것이 제어하는 것 |
|---|---|
| 캐시 디렉터리 | 통합 서비스가 인덱스 및 데이터 캐시 파일을 생성하는 로컬 디렉터리입니다. 기본값은 워크플로 관리자에서 설정된 $PMCacheDir 프로세스 변수입니다. |
| Tracing 레벨 | 이 변환에 대해 세션 로그에 기록되는 세부 정보의 양입니다. |
| 정렬된 입력 | 수신 데이터가 이미 포트별로 그룹화되어 정렬되어 있음을 나타냅니다. 지도가 표시될 때만 선택하십시오.ping 정말 정렬된 데이터를 제공합니다. |
| 애그리게이터 데이터 캐시 크기 | 데이터 캐시 크기입니다. 기본값은 2,000,000바이트이며, '자동'을 선택하면 통합 서비스에서 크기를 자동으로 지정합니다. |
| 애그리게이터 인덱스 캐시 크기 | 인덱스 캐시 크기입니다. 기본값은 1,000,000바이트이며, '자동'을 선택하면 통합 서비스에서 크기를 자동으로 지정합니다. |
| 변환 범위 | 각 거래에 논리를 적용하거나 모든 입력 데이터에 적용합니다. 모든 입력의 경우 입력 거래 경계를 제거합니다. |
증분 집계가 활성화되면 통합 서비스는 실행될 때마다 캐시 파일의 백업을 기록하므로 캐시 디렉터리에는 하나의 파일 세트가 아닌 두 개의 파일 세트가 있어야 합니다.
집계 표현식 규칙 및 성능 향상 팁
집계 표현식은 집계 함수와 조건절 및 비집계 함수를 결합할 수 있으므로 하나의 포트 내에서 조건부 합계 및 개수 계산이 가능합니다. 작성 가능한 내용에는 두 가지 규칙이 적용됩니다.
- 한 단계의 중첩 구조. 집계 함수는 하나의 집계 함수 안에만 중첩될 수 있으며, 내부의 표현식이 먼저 평가됩니다.
- No mixing. 변환에는 단일 레벨 함수 또는 중첩 함수가 포함될 수 있으며, 둘 다 포함될 수는 없습니다. 둘 다 포함된 경우 디자이너는 맵에 표시를 합니다.ping 유효하지 않으므로 로직을 두 개의 애그리게이터 변환으로 분리합니다.
튜닝 측면에서는 세 가지 설정이 대부분의 역할을 합니다.
- 정렬된 입력입니다. 포트별 그룹으로 정렬된 행이 도착하면 각 그룹은 마지막 행이 도착하는 즉시 해제될 수 있으므로 캐시되는 데이터 양이 줄어들고 세션 속도가 빨라집니다. 정렬된 입력은 증분 집계와 함께 사용할 수 없습니다.
- 증분 집계. 새로운 소스 행이 맵을 통해 전달됩니다.ping 또한 기록을 다시 계산하는 대신 과거 캐시와 결합하여 매일 밤 누적 합계에 데이터를 불러오는 데 적합합니다.
- 초기에 걸러내세요. 합계에 전혀 영향을 미치지 않는 행은 소스 한정자 쿼리 또는 집계기에서 삭제해야 합니다. 필터 변환집계기에 도달하는 모든 행이 캐시 메모리를 소모하기 때문입니다. 이는 집계 과정에서 수행되는 표준 검사 중 하나입니다. 성능 조정.







