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 모두 글로벌 변수로 사용할 수 있지만 다음과 같이 구분해서 사용하는 것이 좋다고 생각합니다.
총결산
이번에 글로벌 맵 사용법을 확인했다.
이것은 Key-Value형의 해시투라는 것을 이미 알고 계신 것 같습니다.
새로 사용한 구성 요소와 용도를 미리 복습하다.
수고하셨습니다.
다음
다음에는 tHash Input/Output이 수행됩니다.
Reference
이 문제에 관하여(Talend 입문(8)~Global Map~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/airkoda/items/1aba0d36905c755deeae텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)