EXAMPLE을 사용한 Informatica의 소스 한정자 변환
⚡ 스마트 요약
Informatica의 소스 한정자 변환은 통합 서비스가 관계형 소스 또는 플랫 파일에서 읽는 행을 나타내며, 개발자가 기본 쿼리를 재정의하고, 데이터를 필터링, 정렬 및 중복 제거할 수 있도록 합니다.
소스 한정자 변환이란 무엇입니까?
소스 한정자 변환은 통합 서비스가 세션 실행 시 읽는 행을 나타내는 활성 연결 변환입니다. 관계형 소스 또는 플랫 파일이 맵에 추가될 때마다 이 변환이 실행됩니다.ping소스 한정자 변환이 필요하며, 디자이너는 이를 자동으로 추가합니다. 소스 한정자를 사용하면 소스에서 데이터를 가져오는 방법을 정의하고 재정의할 수 있습니다.
이 변환은 소스의 기본 데이터 형식을 Informatica 변환 데이터 형식으로 변환하므로, 그 뒤에 배치되는 모든 변환은 플랫폼에 구애받지 않는 단일 형식 집합을 사용하여 작동합니다.
소스 한정자는 실제로 데이터베이스에 도달하는 쿼리를 생성하기 때문에 문제가 발생할 경우 가장 먼저 확인해야 할 곳입니다. 지도ping 필요 이상으로 많은 행이나 열을 읽습니다. 아래 예시는 쿼리를 네 개의 열로 줄입니다.
Informatica에서 소스 한정자를 수정하는 방법
다음 예제에서는 맵의 소스 한정자를 수정하겠습니다.ping "m_emp_emp_target"을 사용하면 모든 열을 반환하는 대신 선택된 열만 반환합니다.
단계 1) 지도를 엽니다ping 지도에서 "m_emp_emp_target"ping 디자이너. 지도ping 캔버스에 EMP 소스, SQ_EMP 소스 한정자 및 EMP_TARGET 대상이 표시된 상태로 열립니다.
단계 2) Double- 소스 한정자 변환 "SQ_EMP"를 클릭합니다. 그러면 해당 개체에 대한 변환 편집 창이 열립니다.
- 속성 탭을 클릭하세요
- 클릭 SQL 쿼리 수정 옵션을 선택하면 SQL 편집기 창이 열립니다.
속성 탭에는 아래와 같이 SQL 쿼리 행이 표시됩니다.
단계 3) SQL 편집기 창에서
- 다음 쿼리를 입력하세요
SELECT EMPNO, ENAME, JOB, MGR FROM EMP
주의 사항 – 원본 데이터에서 EMPNO, ENAME, JOB, MGR 열을 선택했으므로, 선택 쿼리에는 해당 열만 남겼습니다.
- 확인 버튼을 선택하세요
이제 SQL 편집기에는 생성된 쿼리 대신 사용자 지정 쿼리가 표시됩니다.
단계 4) 변형 편집 창에서,
- 메뉴에서 포트 탭을 선택하세요.
- 포트 탭에서 모든 포트를 확인할 수 있습니다. EMPNO, ENAME, JOB, MGR 포트만 남기고 나머지 포트는 삭제하세요.
포트 탭에는 삭제 전 변환 과정에서 사용된 모든 포트가 나열됩니다.
단계 5) 포트를 삭제한 후 확인 버튼을 선택하십시오. 이제 목록에는 남은 네 개의 포트만 있습니다.
이제 [변환 편집] 창에서 [속성] 탭을 다시 클릭하면 선택한 데이터만 표시됩니다.
"확인" 버튼을 클릭하면 SQL 편집기 창이 열립니다.
- 선택한 데이터가 올바르며 대상 테이블에 로드할 준비가 되었는지 확인해 줍니다.
- 계속 진행하려면 확인 버튼을 클릭하십시오.
확인 창에는 이제 읽게 될 네 개의 열이 다시 표시됩니다.
지도를 저장하세요ping (Ctrl+S 단축키를 사용하여) 실행하세요. 워크플로우실행 후에는 선택된 열만 대상에 로드됩니다.
이러한 방식으로 소스 한정자에서 소스에서 가져와야 하는 열을 재정의할 수 있으며, 이것이 맵에 포함될 특정 열을 제어하는 유일한 방법입니다.ping.
소스 한정자의 속성
소스 한정자의 다양한 속성을 사용하여 변환하여 대상 테이블로 전송해야 하는 소스 데이터 유형을 결정할 수 있습니다.
- 소스 필터 소스 필터 속성을 사용하면 소스 레코드 수를 줄일 수 있습니다. 예를 들어, 부서 번호가 10인 직원만 가져오려면 소스 필터 속성에 deptno=10 필터 조건을 입력하고 데이터를 실행하면 됩니다. 조건에 테이블 이름과 포트 이름을 포함하고, WHERE 절은 제외해야 합니다. WHERE 절이 포함된 필터를 사용하면 세션이 실패합니다.
- 정렬된 포트 수 소스 한정자 변환에서 입력 레코드를 포트 위치별로 정렬할 수도 있습니다. 통합 서비스는 기본 쿼리에 ORDER BY 절을 추가하여 변환의 맨 위에서부터 포트를 계산하므로, 데이터는 맵 내부의 변환에 도달할 때 이미 정렬된 상태입니다.ping.
데이터는 단일 포트 또는 여러 포트를 기준으로 정렬할 수 있으므로 정렬에 사용할 포트 수를 지정해야 합니다. 값을 1로 지정하면 empno 데이터만 정렬됩니다. 값을 2로 지정하면 empno와 ename 모두를 기준으로 데이터가 정렬됩니다.
- 구별 선택 이 속성을 사용하면 소스에서 고유한 레코드만 가져올 수 있습니다. '고유 레코드 선택' 옵션을 선택하면 통합 서비스에서 'SELECT DISTINCT' 문을 추가하여 소스 한정자가 소스 데이터의 고유한 조합만 가져오도록 합니다.
아래에 표시된 속성 탭에는 이러한 옵션들이 나머지 속성 목록과 함께 표시됩니다.
관계형 소스 한정자에서 사용할 수 있는 전체 속성 목록은 아래 표에 요약되어 있습니다.
| 부동산 | 그것이하는 일 |
|---|---|
| SQL 쿼리 | 통합 서비스에서 생성되는 기본 쿼리를 대체합니다. 사용자 지정 쿼리는 사용자 정의 조인 및 소스 필터를 재정의합니다. |
| 사용자 정의 조인 | 동일한 소스 한정자로 표현되는 여러 소스의 데이터를 결합하는 데 사용되는 조건을 제공합니다. |
| 소스 필터 | 통합 서비스가 행을 조회할 때 적용하는 필터 조건을 제공합니다. |
| 정렬된 포트 수 | 관계형 데이터베이스에서 읽어온 행을 정렬하는 데 사용되는 열의 개수이며, 쿼리에 ORDER BY 절로 추가됩니다. |
| Tracing 레벨 | 이 변환에 대해 세션 로그에 기록되는 세부 정보의 양입니다. |
| 구별 선택 | 쿼리에 SELECT DISTINCT를 추가하면 고유한 행만 반환합니다. |
| SQL 이전 단계 | 통합 서비스가 소스를 읽기 전에 소스 데이터베이스에 대해 명령이 실행됩니다. |
| SQL 이후 | 통합 서비스가 대상 데이터베이스에 기록한 후 소스 데이터베이스에 대해 명령이 실행됩니다. |
| 출력은 결정론적입니다. | 입력값이 일관적일 경우 소스가 실행 간에 동일한 데이터를 반환함을 선언합니다. |
| 출력 결과는 반복 가능합니다. | 소스가 실행 간에 동일한 순서로 행을 반환한다고 선언하여 통합 서비스가 복구를 위해 스테이징 단계를 건너뛸 수 있도록 합니다. |
소스 한정자 SQL 재정의에 대한 규칙 및 지침
SQL 재정의는 디자이너가 생성한 모든 것을 대체하기 때문에 강력하며, 바로 이 때문에 아래 규칙을 무시하면 조용히 오류가 발생합니다.
- 먼저 포트를 연결하세요. 쿼리를 입력하기 전에 사용하려는 모든 입력 및 출력 포트를 연결하십시오. 생성된 쿼리는 연결된 포트를 기반으로 구성되기 때문입니다.
- SELECT 목록을 포트 순서대로 유지하십시오. SELECT 문은 변환에 나타나는 순서대로 포트 이름을 나열해야 합니다. 순서가 일치하지 않으면 세션이 실패하거나 예기치 않은 결과가 반환될 수 있습니다.
- 모든 열에 조건을 부여하세요. 각 열 이름 앞에는 해당 열이 속한 테이블, 뷰 또는 동의어의 이름이 접두사로 붙어야 합니다. 예를 들어 ORDERS.ORDER_ID와 같습니다.
- 편집하기 전에 생성하세요. 'SQL 생성'을 클릭하면 소스 필터와 정렬 포트 절이 이미 포함된 기본 쿼리가 표시되므로, 작동하는 문을 기반으로 재정의 쿼리를 만들 수 있습니다.
- 해당 진술을 검증하십시오. SQL 편집기에는 세션이 시작되기 전에 쿼리를 실행하고 구문이 올바른지 여부를 보고하는 유효성 검사 버튼이 있습니다.
- 예약어를 인용하세요. 쿼리에 사용되는 모든 데이터베이스 예약어는 따옴표로 묶어야 합니다.
- 선례를 살펴보세요. 사용자 지정 쿼리는 소스 필터와 정렬된 포트 수를 재정의하며, 입력된 SQL 쿼리는 세션 속성은 맵에 정의된 필터 조건과 쿼리를 모두 재정의합니다.ping.
럭셔리 Microsoft SQL Server 소스에는 추가 규칙이 하나 있습니다. SELECT 문의 열 개수는 변환의 포트 개수와 일치해야 하며, 그렇지 않으면 행을 가져오는 동안 세션이 실패합니다.
하나의 소스 한정자를 사용하여 두 소스를 결합하는 방법
하나의 소스 한정자는 여러 테이블을 읽을 수 있습니다. 동일한 관계형 소스의 관련 테이블 두 개가 하나의 소스 한정자에 연결될 경우, 통합 서비스는 맵 내부가 아닌 소스 쿼리 내부에서 두 테이블을 조인합니다.ping즉, 데이터베이스가 작업을 처리하므로 세션으로 전송되는 행 수가 줄어듭니다.
기본 조인은 WHERE 절에 Source1.column_name = Source2.column_name 형식으로 작성된 내부 동등 조인입니다. 이 조인이 생성되려면 조인되는 열은 기본 키-외래 키 관계를 가지고 있어야 하며 데이터 형식이 일치해야 합니다. 가져온 메타데이터에 이러한 관계가 없는 경우, 직접 관계를 생성할 수 있습니다. 소스 분석기 두 소스 정의의 일치하는 열을 연결함으로써.
관계가 없거나 외부 조인이 필요한 경우 사용자 정의 조인 속성을 사용하십시오. 여기에 입력한 조건은 메타데이터에 저장된 조인 정보를 대체하며, 통합 서비스는 생성된 쿼리에 해당 조건을 추가합니다.
두 가지 제한 사항을 기억해 두는 것이 좋습니다. 두 테이블 모두 동일한 관계형 소스에서 가져와야 하며, 유형이 다른 소스(플랫 파일과 테이블 또는 두 개의 서로 다른 데이터베이스)는 조인되어야 합니다. 조이너 변환 대신.
소스 한정자 변환, 필터 변환, 조이너 변환
세 가지 객체 모두 행을 축소하거나 병합할 수 있으며, 잘못된 객체를 선택하면 세션 속도가 느려지는 경우가 흔합니다. 아래 표는 이러한 객체들을 나란히 보여줍니다.
| 아래 | 소스 한정자 | 필터 변환 | 조이너 변환 |
|---|---|---|---|
| 일이 진행되는 곳 | 원본 데이터베이스에서 생성된 쿼리 내부 | 통합 서비스에서 행별로 | 통합 서비스에서 캐시를 사용하는 방법 |
| 주목적 | 원본 행을 읽고, 쿼리를 재정의하고, 필터링하고, 정렬하고, 중복을 제거합니다. | 한 가지 조건이라도 충족하지 못하는 행을 삭제하세요. | 두 개의 파이프라인을 하나의 행 세트로 결합합니다. |
| 소스 유형 | 한 소스의 관계형 테이블과 플랫 파일 | 모든 파이프라인 데이터 | 이질적인 소스(플랫 파일 및 다양한 데이터베이스 포함) |
| 후원하기 | 하나의 관계형 소스 내에서 내부 동등 조인 또는 사용자 정의 조인 | 없음 | 일반 접합, 마스터 외부 접합, 상세 외부 접합 및 전체 외부 접합 |
| 네트워크를 가로지르는 행 | 쿼리가 반환하는 행만 | 모든 원본 행을 먼저 읽습니다. | 모든 원본 행을 먼저 읽습니다. |
실질적인 규칙은 간단합니다. 소스에서 허용하는 한 최대한 빨리 필터링하고 결합한 다음, 필터 또는 소스 데이터베이스에서 수행할 수 없는 작업에만 조이너를 사용할 수도 있습니다. 소스 한정자에 조건을 추가하는 것은 가장 저렴한 방식으로 문제를 해결할 수 있는 방법 중 하나입니다. 성능 조정.









