INFORMATICA 변환 튜토리얼 및 필터 변환

⚡ 스마트 요약

Informatica에서의 변환은 지도와 같습니다.ping 대상을 향해 데이터를 생성, 수정 또는 전달하는 객체와, 단일 필터 조건을 충족하지 못하는 모든 행을 삭제하는 활성 객체가 필터 변환입니다.

  • 🔗 연결성 : 연결된 변환은 파이프라인에 위치하는 반면, 연결되지 않은 변환은 다른 변환 내부에서 호출됩니다.
  • 🔁 행 수: 능동 변환은 행의 개수를 변경하고, 수동 변환은 행 내부의 값만 변경합니다.
  • 🎯 필터 기본 사항: 하나의 조건에 따라 어떤 행이 계속 진행될지 결정되며, 나머지 행은 모두 파이프라인에서 제외됩니다.
  • 🧪 실제 예제: 조건 deptno=10은 10번 부서의 레코드만 EMP_TARGET에 로드합니다.
  • 📄 세션 로그: FALSE로 평가된 행은 폐기되고 세션 로그에 기록됩니다.
  • 배치 : 키ping 원본에 가까운 필터는 버려진 행이 이후 변환에 포함되지 않도록 합니다.

Informatica 변환 및 필터 변환

변환이란 무엇입니까?

Informatica에서 변환(Transformation)은 정의된 대상 구조(테이블, 파일 또는 기타 대상)에 데이터를 생성, 수정 또는 전달하는 객체입니다.

Informatica에서 변환의 목적은 소스 데이터를 대상 시스템의 요구 사항에 맞게 수정하는 것입니다. 또한 대상 시스템에 로드되는 데이터의 품질을 보장합니다.

Informatica는 특정 기능을 수행하기 위한 다양한 변환을 제공합니다.

예를 들어, 원본 데이터를 기반으로 세금 계산을 수행하거나 데이터 정제 작업을 하는 것 등이 있습니다. 변환 과정에서 포트를 연결하여 데이터를 전달하고, 변환 결과는 출력 포트를 통해 반환됩니다.

변환의 분류

변환은 연결성을 기준으로 하는 변환과 행 수의 변화를 기준으로 하는 변환, 이렇게 두 가지 범주로 분류됩니다. 먼저 연결성을 기준으로 하는 변환에 대해 살펴보겠습니다.

연결성에 따른 변환 유형

  • 연결된 변환
  • 연결되지 않은 변환

Informatica에서 맵을 생성하는 동안ping다른 변환과 연결된 변환을 연결 변환이라고 합니다.

예를 들어, 소스 한정자 변환 원본 테이블 EMP는 필터 변환에 연결되어 특정 부서의 직원을 필터링합니다.

다른 변환과 연결되지 않은 변환을 연결되지 않은 변환이라고 합니다.

이러한 기능은 표현식 변환과 같은 다른 변환 내에서 호출하여 사용됩니다. 이러한 변환 자체는 파이프라인의 일부가 아닙니다.

연결된 변환은 모든 입력 행에 대해 변환이 호출되거나 값을 반환할 것으로 예상되는 경우에 선호됩니다. 예를 들어, 모든 행의 우편번호에 대해 변환이 도시 이름을 반환하는 경우입니다.

독립적인 변환은 해당 기능이 주기적으로 또는 특정 조건에 따라서만 필요할 때 유용합니다. 예를 들어, 세금 값을 알 수 없는 경우 세금 세부 정보를 계산하는 경우가 그렇습니다.

아래 그림은 두 쌍의 범주를 나란히 보여줍니다.

연결성 및 행 개수 변화에 따른 Informatica 변환 분류

행 수 변화에 따른 변환 유형

  • 활성 변환
  • 수동적 변환

활성 변환이란 입력 데이터 행과 입력 행의 개수를 변경하는 변환을 말합니다. 예를 들어, 변환이 10개의 행을 입력으로 받아 15개의 행을 출력으로 반환한다면, 이는 활성 변환입니다. 활성 변환에서는 행의 데이터 내용도 변경됩니다.

수동 변환은 입력 행의 수를 변경하지 않는 변환입니다. 수동 변환에서는 입력 행과 출력 행의 수가 동일하게 유지되며, 행 수준에서 데이터만 수정됩니다.

수동 변환에서는 새 행이 생성되지 않고 기존 행이 삭제되지 않습니다.

다음은 Informatica의 변환 목록입니다.

필터 변환이란 무엇입니까?

필터 변환은 레코드 수를 변경하는 활성 변환입니다.

필터 변환을 사용하면 필터 조건에 따라 레코드를 필터링할 수 있습니다.

예를 들어, 부서 번호(deptno)가 10인 직원 기록만 불러오려면 맵에 필터 변환을 추가할 수 있습니다.ping 필터 조건으로 deptno=10을 적용하면 deptno=10인 레코드만 필터 변환을 통과하고 나머지 레코드는 삭제됩니다.

기본 필터 조건은 TRUE이므로 새로 생성된 필터 변환은 조건이 입력될 때까지 모든 행을 통과합니다. FALSE를 반환하는 각 행은 삭제되고 세션 로그에 메시지가 기록됩니다.

필터 변환 사용 방법

단계 1) 만들기 지도ping 소스가 "EMP"이고 대상이 "EMP_TARGET"인 경우.

지도ping EMP 소스와 EMP_TARGET 대상이 Map에서 열린 상태ping 디자이너

단계 2) 그럼 지도에서ping:

  1. 변환 메뉴를 선택하세요
  2. 생성 옵션을 선택하세요

지도의 변환 메뉴에서 선택한 생성 옵션ping 디자이너

단계 3) 그런 다음 변환 생성 창에서:

  1. 목록에서 필터 변환을 선택합니다.
  2. 변환 이름 "fltr_deptno_10"을 입력하세요.
  3. 생성 옵션을 선택하세요

필터 변환을 선택하고 이름을 fltr_deptno_10으로 지정하여 변환 창을 생성합니다.

단계 4) 필터 변환이 생성됩니다. 변환 생성 창에서 "완료" 버튼을 선택하십시오.

새로운 fltr_deptno_10 변환이 지도에 배치되었습니다.ping 캔버스

단계 5) 지도에서ping:

  1. 소스 한정자 열을 모두 필터 변환으로 드래그 앤 드롭하세요.
  2. 필터 변환의 열을 대상 테이블에 연결합니다.

소스 한정자 포트는 필터 변환을 거쳐 EMP_TARGET으로 연결됩니다.

단계 6) Double- 필터 변환을 클릭하여 속성을 연 다음:

  1. 속성 탭을 선택하세요
  2. 필터 조건 편집기를 클릭하세요.

필터 변환의 속성 탭에서 필터 조건 행을 보여줍니다.

단계 7) 그런 다음 필터 조건식 편집기에서 다음과 같이 합니다.

  1. 필터 조건을 입력하세요 - deptno=10
  2. 확인 버튼을 선택하세요

필터 조건 deptno=10을 입력하고 유효성을 검사한 표현식 편집기

단계 8) 이제 다시 변환 편집 창의 속성 탭에서 필터 조건을 확인할 수 있습니다. 확인 버튼을 선택하세요.

필터 조건 속성 옆에 deptno=10이라는 필터 조건이 표시됩니다.

이제 지도를 저장하세요ping 생성 후 실행합니다. 세션 워크플로우대상 테이블에는 deptno=10인 레코드만 로드됩니다.

이와 같이 필터 변환을 사용하여 원본 레코드를 필터링할 수 있습니다.

필터 vs 라우터 vs 소스 한정자 필터

Informatica에서는 원치 않는 행을 제거할 수 있는 세 가지 객체가 있으며, 잘못된 객체를 선택하면 성능 저하 또는 거부된 데이터의 가시성 문제가 발생할 수 있습니다.

목적 행이 제거되는 방법 그것을 선택할 때
필터 변환 변환당 하나의 조건만 적용됩니다. FALSE를 반환하는 행은 삭제되고 세션 로그에 기록됩니다. 지도 내부에 적용되는 단 하나의 간단한 규칙ping.
라우터 변환 한 번에 여러 그룹 조건을 적용합니다. 어떤 그룹에도 속하지 않는 행은 기본 그룹으로 이동합니다. 행을 여러 스트림으로 분할하거나, 거부된 행을 캡처해야 합니다.
소스 한정자 필터링 해당 조건은 관계형 데이터베이스에서 읽어온 SQL 쿼리의 WHERE 절의 일부가 됩니다. 원본 데이터는 관계형 데이터베이스이며, 원치 않는 행은 절대 데이터베이스 밖으로 반출되어서는 안 됩니다.

라우터 하나는 들어오는 데이터를 한 번만 읽지만, 동일한 입력을 테스트하는 여러 필터 변환이 있는 경우 통합 서비스는 각 변환마다 해당 데이터를 다시 처리합니다. 소스 한정자 필터는 제외되는 항목을 제한합니다.trac소스에서 가져온 내용을 필터링하는 반면, 필터 변환은 대상으로 전송되는 내용을 제한합니다.

필터 변환 성능 향상을 위한 팁

필터 조건은 변환에 도달하는 모든 행에 대해 평가되므로 객체가 맵에서 어디에 위치하는지 알 수 있습니다.ping 세션 시간에 직접적인 영향을 미칩니다.

  • 원치 않는 행이 이후 변환을 거치지 않도록 필터 변환을 소스에 최대한 가깝게 배치하십시오.
  • 소스가 관계형 데이터베이스인 경우, 데이터베이스가 통합 서비스보다 행을 더 빠르게 필터링하므로 소스 한정자에 조건을 추가하십시오.
  • 조건을 단순하게 유지하세요. 복잡한 표현식은 표현식 변환으로 옮겨 필터가 테스트하는 단일 플래그 포트로 간소화할 수 있습니다.
  • 동일한 입력을 테스트하는 여러 필터 변환 대신 하나의 라우터를 사용하면 들어오는 데이터를 한 번만 읽게 됩니다.
  • 기본 조건은 TRUE이므로 필터를 구성하지 않으면 모든 항목이 통과되어 오류가 숨겨진다는 점을 기억하세요.

삭제된 모든 행은 세션 로그에 메시지로 기록되므로, 예상치 못하게 비어 있는 대상은 맵을 다시 실행하는 것보다 해당 로그를 읽는 것으로 원인을 파악하는 경우가 많습니다.ping.

자주 묻는 질문

단 하나뿐입니다. 표현식은 AND 및 OR을 사용하여 여러 테스트를 결합할 수 있지만, 변환은 들어오는 각 행에 대해 TRUE 또는 FALSE를 반환하는 단일 표현식을 평가합니다.

null 결과는 FALSE로 처리되므로 해당 행은 삭제됩니다.ping ISNULL 또는 IIF에서 포트를 사용하면 의도가 명확해지고 명확한 이유 없이 행이 사라지는 것을 방지할 수 있습니다.

네. 문자열 비교는 대소문자를 구분하므로 'SALES'와 같은 값은 'Sales'와 일치하지 않습니다. 소스 데이터가 일관되지 않은 경우에도 포트에 UPPER 또는 LOWER 연산자를 적용하면 테스트의 신뢰성을 유지할 수 있습니다.

활동적인 것들. 노멀 라이저 중복되는 열이 있는 단일 레코드를 여러 행으로 변환하고, Union은 파이프라인을 병합합니다. 수동 객체는 항상 동일한 행 수를 반환합니다.

파이프라인에 링크가 없기 때문에 어떤 것도 해당 객체에 행을 공급하지 않습니다. 다른 변환이 인자와 함께 해당 객체를 호출하고 하나의 반환 값을 받으며, 해당 객체는 이러한 호출에 대해서만 실행됩니다.

예. 재사용 가능한 객체는 변환 개발자 도구에서 생성되어 저장소에 저장되므로 하나의 정의를 여러 곳에 붙여넣을 수 있습니다. 지도pings 한 곳에서 편집되었습니다.

최신 통합 도구의 머신 러닝은 소스 데이터를 분석하고, 데이터 정제 및 일치 규칙을 제안하며, 값이 변동하는 열을 표시하므로 설계자는 백지 상태에서 시작하는 것이 아니라 제안된 파이프라인을 기반으로 작업을 시작할 수 있습니다.

Copilot은 일반 설명에서 IIF, ISNULL, DECODE와 같은 표현식 구문을 생성하여 조건 작성 속도를 높입니다. 생성된 각 표현식은 디자이너 내의 실제 행을 대상으로 테스트해야 합니다.

이 게시물을 요약하면 다음과 같습니다.