반응형

텍스트 파일을 테이블로 로딩하는 단순한 기능부터 여러 기능들을 단계적으로 추가하는 방식으로 간단한 실습 강의를 준비하였습니다. 시간 날 때 그냥 구상하고, 데이터나 테이블, 기능들 또한 어줍잖게 생각한 것들이라 견고함이 조금 떨어질 지 모르겠지만, 패키지 하나를 처음부터 끝까지 살펴본다는 점으로 생각해 주시면 감사하겠습니다.

 

계획한 강좌는 다음과 같이 총 10강이며, 예제로 쓸 데이터는 샘플 웹 로그 데이터이고, 필요에 따라 중간 중간에 조건들을 추가하여 구성하도록 할 예정입니다.

 

[강좌 목록 및 요약]

1.         텍스트 데이터 파일을 테이블로 로딩하기

- 단순히 텍스트 파일을 테이블로 적재하는 패키지를 구현합니다. 앞으로 전개할 예제 강의 내용의 가장 기본이 되는 작업이라 할 수 있습니다.

 

2.         테이블 생성 작업 추가

- 1강에서는 대상 테이블이 존재한다라는 가정으로 시작하였는데, 대상 테이블이 있는지 확인하고 없는 경우에는 생성시켜주는 작업을 추가합니다.

 

3.         파일 존재 확인 작업 추가

- 2강과 마찬가지로 데이터 처리 작업의 선행 단계 작업입니다. 읽어올 파일이 존재하는지 여부를 확인하고, 읽어올 파일이 있는 경우에만 데이터 처리를 시작하는 기능을 구현합니다.

 

4.         데이터 로딩 시 필터링 구현 : 조건부 변환, 정렬, 파생 열 변환

- 텍스트 파일에서 데이터를 읽어온 후, 테이블에 적재하기 전에 몇 가지 변환 작업을 구현합니다. 예를 들어 읽어온 텍스트의 특정 열의 값을 판단하여 입력 여부를 결정하거나, 열 데이터를 정해진 규칙에 맞게 변경하는 작업 등을 구현합니다.

 

5.         멀티캐스트를 이용하여 복수 대상으로 적재

- 텍스트 파일에서 읽어온 데이터를 여러 대상으로 동일하게 또는 조건에 따라 다르게 여러 대상으로 적재하는 기능을 구현합니다.

 

6.         여러 파일에 대한 처리

- 읽어올 파일이 하나가 아니라 여러 개인 경우에 대한 처리 방법을 구현합니다. 이 방법은 잘 알려진 Foreach 루프 컨테이너를 이용하는 방법 외에 조금 덜 알려진 방법인 다중 플랫 파일 연결을 이용하는 방법으로 설명합니다.

A.       Foreach 루프 컨테이너를 이용한 처리

B.       다중 플랫 파일 연결을 이용한 처리

 

7.         대상 테이블 동적 설정 : 날짜 별 대상 테이블 생성 및 적재

- 이제 조금 현실적인 패키지로 발전합니다. 단순히 일회성 작업이 아니라 매일 매일 수행되는 작업인 경우에 대한 처리 작업을 구현합니다. 예를 들어, 2007년 3월 10 경우, 읽어올 텍스트 파일은 weblog_20070310.txt로 설정되고, 대상 테이블도 LogDataTable_070310 형태로 설정되는 기능입니다.

 

8.         커스터마이징 작업 로그 설정 : 패키지, 작업 개체 별 시작 및 종료 및 처리 행 수 관리

- 만들어 놓은 패키지가 잘 돌아가는지 모니터링 하고 관리하는 작업 역시 개발만큼이나 중요한 작업 형태입니다. 기본적으로 SSIS에서는 다양한 로깅 기능이 제공되지만 이벤트 처리기를 이용해서 필요한 로깅 정보를 생성하는 기능을 구현합니다.

 

9.         작업 종료 및 실패 시 메일 통보 설정 : 이벤트 처리기 및 SMTP 메일 발송을 이용

- 매일 수행되는 작업이 정상적으로 종료되거나 실패로 처리가 될 경우, 관리자에게 메일로 통보하도록 설정하는 기능이나 자동 처리 프로세스를 이용하여 처리하도록 하는 기능을 구현합니다.

 

10.     SQL Agent 등록 및 모니터링

- 만들어진 패키지를 자동으로 수행하도록 SQL Agent에 등록하고 관리하는 방법에 대해 설명합니다.

 

 

반응형

+ Recent posts