데이터 흐름 경로
데이터 흐름 경로는 데이터 흐름 영역 내에서 변환과 변환, 또는 원본과 변환, 변환과 대상간의 연결을 시켜주는 경로입니다. 앞의 강좌에서 다룬 제어 흐름 영역의 선행 제약 조건에서는 여러 가지 옵션을 설정할 수 있었던 것에 비해 데이터 흐름 경로에서는 특별한 설정은 없습니다. 단지 데이터가 변환되어 처리되는 과정에서의 열 유형과 같은 메타 데이터를 확인할 수 있으며, 데이터 뷰어 라는 기능을 이용하여 개발 또는 디버깅 단계에서 처리되는 데이터를 쉽게 확인할 수 있는 기능만을 제공합니다.
데이터 흐름 경로에는 정상적인 변환 결과를 출력하는 경로(녹색)와 오류 정보를 출력하는 경로(붉은색)가 있습니다. 오류 출력을 추가한 경우에는 원본 또는 변환의 오류 구성 설정에서 오류가 발생할 열에 대해 행 리디렉션을 설정해 줘야 합니다.
데이터 흐름 경로는 다음과 같이 세 가지의 탭으로 구성되어 있습니다.
일반 탭에서는 특별한 설정 사항은 없으며, PathAnnotation을 이용해서 경로의 설명을 표시할 방법을 설정합니다.
메타데이터 탭에서는 현재의 데이터 흐름 경로를 지나는 데이터의 유형이나 자릿수 등과 같은 메타 데이터를 확인할 수 있습니다.
데이터 뷰어 탭에서는 데이터 흐름 경로를 지나는 데이터를 확인할 수 있는 데이터 뷰어를 설정할 수 있습니다. 데이터 뷰어는 패키지를 개발하거나 디버깅 하는 단계에서 사용되며, 개발 단계에 추가되었더라도 실제 운영 환경에서 수행될 때에는 작동하지 않습니다.
하나의 데이터 흐름 경로에는 여러 개의 데이터 뷰어를 설정할 수 있습니다.
데이터 뷰어는 표, 히스토그램, 산점도(x,y), 세로 막대형 차트와 같이 4가지 형태로 사용할 수 있습니다.
단순히 처리되는 데이터의 형태를 표 형태로 보고자 할 때에는 표 유형을 사용하며, 데이터의 분포도 등을 확인하고자 할 때에는 산점도(x,y) 또는 세로 막대형 차트 유형을 사용할 수 있습니다.
다음은 각 유형별 출력 예 입니다.
Ÿ 표 – 전체 열을 출력하도록 설정한 예입니다. 확인이 필요한 열만 출력하도록 설정할 수도 있습니다.
Ÿ 히스토그램 – XVal 열에 대한 히스토그램을 설정한 예 입니다.
Ÿ 산점도(x,y) – XVal, YVal열에 대해 산점도를 설정한 예 입니다.
Ÿ 세로 막대형 차트 - YVal열에 대해 차트를 설정한 예 입니다.
데이터 뷰어를 통해 한 번에 출력되는 데이터의 양은 데이터 흐름 작업 영역의 속성 중 DefaultBufferMaxRows 및 DefaultBufferSize의 값에 따라 달라집니다. 예를 들어, 전체 처리되는 데이터가 1,000,000건이더라도 DefaultBufferMaxRows의 값이 10,000으로 설정되어 있다면 데이터 뷰어에서 조회되는 데이터는 10,000개씩 나눠서 확인됩니다. 또한, DefaultBufferMaxRows의 값이 10,000이더라도 데이터 한 행의 크기가 커서 10,000개의 행이 처리되기 이전에 전체 데이터의 크기가 DefaultBufferSize를 넘어서는 경우, 해당 크기만큼의 데이터만 출력됩니다. 데이터 뷰어 창의 왼쪽 상단에 있는 ▶ 버튼을 클릭하면 다음 처리 버퍼의 내용이 출력되며, 어느 정도 데이터 검증이 끝난 경우, 분리(D) 버튼을 클릭하면 데이터 확인 작업을 종료하고 데이터 처리를 계속 진행하게 됩니다. 데이터 복사(C)를 클릭하면 현재 데이터 뷰어 창에 나타난 데이터 또는 그래프에서 이용되는 데이터를 클립보드로 복사하게 됩니다.
기존 버전에 비해 SSIS는 변환 작업 간의 데이터 유형을 엄격히 일치시키도록 관리합니다. 이는 개발자의 실수로 인해 원하지 않는 데이터 변형이 발생되어 데이터가 잘못되는 현상을 막기 위한 것일 수도 있습니다. 따라서, 변환과 변환 간의 메타 정보를 확인해야 할 때, 데이터 흐름 경로를 이용하여 쉽게 확인할 수 있습니다. 또한, 설정한 변환 작업이 정상적으로 작동하는지를 바로 확인할 수 있기 때문에 개발 및 디버깅의 시간을 많이 단축할 수도 있습니다.
'연구개발 > DTS & SSIS' 카테고리의 다른 글
기본 강좌 46 - 트랜잭션 처리 (0) | 2009.06.20 |
---|---|
기본 강좌 45 - 이벤트 및 이벤트 처리기 (0) | 2009.06.20 |
기본 강좌 43 - 선행 제약 조건 (0) | 2009.06.20 |
따라하기 - 검사점 사용하기 (0) | 2009.06.20 |
기본 강좌 42 - 검사점 (0) | 2009.06.20 |