Talend 입문(8)~Global Map~

11978 단어 Talend

전체 목적


Talend는 ETL 작업 개발에 필요한 기술을 배우기 위해 초간단한 샘플 작업을 제작한다.

대상


ETL/EAI 기술자

컨디션


사용 환경
릴리즈
OS
Windows10
Talend
7.1.1

견본 일람표


다음 순서대로 공부하다
#
컨텐트
1
처음의 Talend
2
파일 입출력
3
데이터베이스 입출력
4
tMap
5
이퀄라이저
6
메타데이터
7
Context 변수
8
Global Map (이번에)
9
tHashInput/tHashOutput
10
오류 처리
11
Logging
12
하위 작업(작업 중첩)
13-1
프로필 원본 불러오기
13-2
구성 파일 읽기 사본
14
tJava
샘플 코드(Talend 프로젝트 데이터)

이번 목적


글로벌 맵 이해하기.

글로벌 맵이란


이것은 작업에서 처리할 수 있는 해시투다.임시 글로벌 변수로 사용할 수 있습니다.

샘플 프로그램 개요


일괄 처리 시작 시간과 종료 시간을 파일 이름으로 출력하는 일괄 처리 작업을 만듭니다.

글로벌 맵을 이용한 미션.


그럼 샘플 작업이나 해.
창고에서 [작업]을 마우스 오른쪽 버튼으로 클릭하고 [작업 만들기]를 선택합니다.
[이름]에 globlmap을 입력하고 [Finish] 버튼을 클릭합니다.

벌크 마스터 프로세싱 작성


[tRowGenerater] 및 [tFileOut Delimited]를 구성합니다.

[tRowGeneratr]의 설정


[tRowGenerater] 모드를 편집할 때 1열만 준비합니다.

RowGenerator 편집기를 사용하여 함수를 설정합니다.
열수
함수.
newColumn
TalendDataGenerator.getFirstName()

[tFile OutputDelimited] 설정


프로젝트 이름
컨텐트 설정
설명
파일 이름
"C:/work/globalmap/tmp.csv"
덧붙이다
선택하다
뺏는 것을 잊어버렸다.

실행 테스트


두 개의 구성 요소를 왁스로 연결하여 실행을 확인합니다.

tmp.csv로 만들면 돼요.

시작 시간 가져오기


[tJava] 2개와 [tSleep] 1개를 구성합니다.

[tJava 1]의 설정


시작 시간 가져오는 중
코드
String start_datetime = TalendDate.getDate("CCYYMMDDhhmmss");

// プリントデバッグ
System.out.println(start_datetime);

// startというキーのグローバルマップに値を格納
globalMap.put("start", start_datetime);
주안점
globalMap.put(key, val)에서 글로벌 맵에 객체를 저장할 수 있습니다.

[tSleep]의 설정


프로젝트 이름
컨텐트 설정
설명
일시 중지(초)
3
주처리가 3초 걸린 상태입니다.

[tJava 2] 설정


종료 시간을 가져오고 파일 이름을 만드는 중
코드
String end_datetime = TalendDate.getDate("CCYYMMDDhhmmss");

// プリントデバッグ
System.out.println(end_datetime);

// startというキーのグローバルマップを取得
String start = (String)globalMap.get("start");

// outfileというキーのグローバルマップに値を格納
// CCYYMMDDhhmmss-CCYYMMDDhhmmss.csv というファイル名を準備する
globalMap.put("outfile", start + "-" + end_datetime + ".csv");
주안점
globalMap.get(key)을 통해 Global Map에서 키 설정 객체를 가져올 수 있습니다.

프로세스 설정 작업


연결 구성 요소
컨텐트 설정
설명
[tJava 1] 및 [tSleep 1]
OnComponentOk
[tSleep 1]와 [tRowGener 1]
OnComponentOk
[tRowGener 1] 및 [tJava 2]
OnSubjobOk
파일 출력이 끝날 때까지 기다렸다가 처리합니다

실행 테스트


오류가 없음을 확인하십시오. 표준 출력의 시작과 끝 시간입니다.

완료(파일 이름바꾸기)


tmp.csv의 이름을 [tJava 2]에서 준비된 파일 이름으로 변경합니다.
[tFileCopy]를 구성하고 매개변수를 설정합니다.

[tFileCopy 1] 설정


프로젝트 이름
컨텐트 설정
설명
파일 이름
"C:/work/globalmap/tmp.csv"
[tFile OutputDelimited]에서 지정한
대상 디렉토리 복사
"C:/work/globalmap"
이름 바꾸기
선택하다
대상 파일 이름
(String)globalMap.get("outfile")
[tJava 2]에 Global Map에 저장된 값 가져오기
복사된 원본 파일 삭제
선택하다
연결 구성 요소
컨텐트 설정
설명
[tJava 2] 및 [tFileCopy 1]
OnComponentOk
구성 요소가 하나뿐이므로 OnSubjobOk도 가능합니다.

실행


그럼 실행해.
파일 이름은 시작 시간과 종료 시간을 가진 파일을 만듭니다.

tips(저장된 Global Map)


실제로 미리 활용할 수 있는 글로벌 맵이 있다.
Outline에 표시된 값은 Global Map에 저장됩니다.
확인해봐.

[tJava 3] 설정


우선 오늘 세 번째 [tJava]를 구성합니다.
코드 설정을 연 후 Outline에서 [tFileCopy 1]의 [의도 파일 경로]를 마우스로 드래그합니다.
글로벌 맵입니다.get("tFileCopy 1 DESTINATION FILEPATH")이 말한 것처럼 배우를 포함해 글로벌 맵의 취득 코드를 준비한다.

표준 출력 파일 경로


코드 설정과 구성 요소를 연결하여 설정을 완성합니다.
System.out.println( ((String)globalMap.get("tFileCopy_1_DESTINATION_FILEPATH")) );
연결 구성 요소
컨텐트 설정
설명
[tFileCopy 1] 및 [tJava 3]
OnComponentOk
구성 요소가 하나뿐이므로 OnSubjobOk도 가능합니다.

실행


파일 경로가 성공적으로 출력되었습니다.

Context 변수와의 차이점 사용


Context 변수와 Global Map 모두 글로벌 변수로 사용할 수 있지만 다음과 같이 구분해서 사용하는 것이 좋다고 생각합니다.
  • Context 변수
  • 구성 값과 같이 실행 시 결정되는 값
  • 실행 시 매개 변수
  • Global Map
  • 임시 변수
  • 동적 목록 대상 등에 사용되는 값
  • 총결산


    이번에 글로벌 맵 사용법을 확인했다.
    이것은 Key-Value형의 해시투라는 것을 이미 알고 계신 것 같습니다.
    새로 사용한 구성 요소와 용도를 미리 복습하다.
  • tJava
  • Java 코드를 직접 기록할 수 있습니다.자세한 내용은 14번째 tJava에서 확인하십시오.
  • tSleep
  • 작업 휴면
  • tFileCopy
  • 이번 명칭 변경(복사&삭제)
  • 매번 하는 일이지만 접촉하는 부분만 조금씩 설명했으니 반드시 여기서 조금 파헤쳐주세요.
    수고하셨습니다.

    다음


    다음에는 tHash Input/Output이 수행됩니다.

    좋은 웹페이지 즐겨찾기