본문 바로가기

ETL Tools

[DataStage] IBM 교육 정리

개인이 주관적인 판단으로 정리한 내용이며, 사실과 다를 수 있음을 밝힘니다.

또한, 저작권과 관계없이 작업을 진행하였으며, 문제가 있는 경우, 바로 삭제 하도록 하겠습니다.

 

결론

  file 처리가 주 목적으로 느껴짐

 

질문사항 
 - Repository 관리 방법 (파일? DB?)
    -> 앞으로 Database로 관리될 예정임, 지금 현재 버전 8.7 은 이관 진행 중으로 보임.

 - 소스 시스템과 타겟 시스템이 같은 경우, 복잡한 로직을 구현할 때, 어떤 방식의 개발 방법을 선호하는지..

    -> 프로시저 호출 방식이 아닌 Datastage 서버를 사용하는 방법을 기본으로 보고 있다고는 하는데 작업이 몰리거나, 성능상에서 우위에 있다고 보기는 힘든 것으로 보임.
 - 다량의 데이터 ETL 작업을 수행할 경우, 리소스 부하에 대한 가이드가 있는지?

    -> 가이드 라인으로는 서버증설은 아니고 그 때쯤 되면 새로 고도화 할 시점이 될꺼라고 본다.

 -Table Definitions

    -> 모델은 테이블 메타정보만을 저장하는데 사용하며 작업 구성시 각각의 테이블 레이아웃과 실 물리적 정보와 연결해 주는 단계가 필요함.

 - data flow 데이터 흐름.

    -> 현재 버전에서는 하나의 오브젝트에 대한 연관성있는 1차적인 작업 및 테이블 정보 까지만 확인이 가능한 상태다. Metadata 정보를 별도로 관리하는 Repository가 존재하므로 확인할 수 있는 것으로 보이나, 별도의 Meta 관리 솔루션을 통해서 판매하고 있는 것으로 보인다.

 

2012.12.18


2012.12.18 오전

6.
Sequential Data Access(파일처리)
  Null Check
  Error handling

읽을 때는 import, 쓸 때는 Export
  읽으면서 DS 자체 포맷으로 변환(DS Metadata 포함)

Data Set Stage(DS 자체 포맷 형태)
 Binary 형태
 데이터를 링크형태로 저장하고 있음
 Partition 정보 포함
 병렬 작업시 임시 파일이 필요할 때 성능상 유리
 데이터는 DSMU(Data Set Management Utility)를 통해 확인 가능

File Set Stage
 파티션 가능
 읽을 수 있음
 성능은 ds 보다 딸림

Null Check 기능 테스트

실습

2012.12.18 오후

8.
Combining Data
 Horizontally(lookup, join, merge)
 Vertically(집계)
 Funneling(union)

Lookup Features
  Lookup failure 시 제어(continue, drop, fail, reject)
  Join이랑 비슷하게 수행
  다량의 컬럼에 대한 룩업이 필요한 경우에는? 전부조인?

Lookup Conditions
 Equality match
 Caseless match
 Range lookup
  between
 
Comparison of Join, Lookup and Merge Stage
 차이점: 259 page

실습
 Multi File 인식하기

techfarm.net

온라인 메뉴얼 URL
   info center로 검색 하면 곰방 검색할 수 있음

file 처리가 주 목적으로 느껴짐

 

2012.12.17 오전
etl 개념 설명
실습 환경 구성
- user
  리눅스 계정 별도 필요
  연결 구조 존재

- 권한 관리 가능
  실습에 포함되어 있음
  엔지니어가 최초 설정시 수행
  권한 종류: Admin
             Developer
             Operator
             ...

- DataStage와 OS 간의 매핑을 수행함
  이래야 DataStage를 이용할 수 있다?

- 메타데이터 관리는 File로 이루어짐
  마이그레이션시 해당 파일을 넘기는 방식으로 진행

Server Manager 기능
  메타데이터 이관
             확인

- 시스템 리소스 확인 콘솔 화면 존재
  8.7 이후 버전 부터 그래피칼해짐

- 사용 포트: 31538

2012.12.17 오후
실습

1. 작업 생성
2. export & import
3. debugging (break point)

Repository Window
 Jobs 작업 생성 폴더
 Table Definitions 모델 정보

개발 디자인
 Drag & Drop 방식
 왼쪽 시프트 키를 누르고 진행하면 복제를 쉽게 할 수 있음.

Create New Parallel Job
 Parallel Job - 병렬 수행 작업
   한 작업을 여러 프로세스를 통해서 병렬 수행 진행 가능
   각 스테이지 마다 병렬적인 프로세스가 수행되서 작업을 진행한다.
   * 사용되는 리소스 부하는? 가능한 적정 데이터 처리 량은?
 Server Job - 직렬 수행 작업
   병렬 방식으로 수행 하기 위해서는 작업 여러개로 그려서 수행
 Sequence Job - 작업 들의 선후행 괸계 설정

Drag Stages and Links From Palette
 Job properties - 변수 설정할 경우, 많이 사용
 DBMS 커넥션.
 파일 처리를 하는 경우,
 * link 명을 정확하게 하여 Error Tracking 시에 빠른 처리 가능.
 
Job Parameters
 변수: #, $

Debugging Stages in DataStage
 Peek Stage: 수행 건수를 작업 진행하지 않고 테스트해보는 것\
 Head, Tail or Sample: 일부만 가지고 테스트해 볼수 있는 기능
 Row Generator: 뻥카 데이터 만들어 사용하는 경우(실습에서만 사용, 실제로는 많이 사용되지 않는 기능)
 Parallel Job Debugger: Breakpoint 기능 ( 특정 스텝에서 특정 조건에

Repository 분석
 사용 이유:
   1. 특정 작업 검색시
   2. 작업 영향도 분석

Quick Find
 데이터 흐름 확인
 
Performing an impact Analysis
 * 특정 테이블을 사용한 작업들의 리스트를 출력하라.

Displaying the Dependency Graphically
 * 어떻게 돌아다니는지

Displaying the Dependency Path
Viewing column-Level Data Flow at Design Time

5장

Parallel 아키텍처
 어떤식으로 병렬처리 작업을 수행하는지.
Three Types of Parallelism
  Pipeline, Partition, Three-Node Partitioning

실습

작업 차이점 찾아내는 기능: Compared against
Data flow는 바로 앞, 뒤단만 진행 가능 (전체적인 작업 및 데이터 흐름 파악은 불가능하다.)
병렬 작업 테스트: Input에서의 파티셔닝 방법을 설정할 수 있다.