Talend 시작 (4)~tmap~
14174 단어 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 프로젝트 데이터)
이번 목적
tmap 습득
샘플 프로그램 개요
부서 통제를 직원 통제로 유도할 수 있는 프로그램을 만들어 보자.
tmap을 사용하여 변환, 가공(Transform)
두 개의 입력원(직원 제어와 부서 제어)이 어떻게 결합되는지 확인하다.
입력 소스 정의
그럼 샘플 작업이나 해.
창고에서 [작업]을 마우스 오른쪽 버튼으로 클릭하고 [작업 만들기]를 선택합니다.
[이름]에 "trans"를 입력하고 [Finish] 버튼을 클릭합니다.

첫 번째 입력 소스 설정은 직원 위주의 [tFixedFlowInput] 구성 요소입니다.

[tFixedFlowInput]의 [기본 설정]의 [모드 편집] 버튼을 눌러 열 정의 화면을 엽니다.
열 이름과 유형은 다음과 같습니다.
열수
열수
타입
첫줄
id
int
제2행
name
String
제3행
department_code
String

[tFixedFlowInput]의 [기본 설정] 모드 설정에서 [내부 내용 사용]을 선택하고 설정합니다.
프로젝트 이름
컨텐트 설정
설명
필드 구분자
,
입력 데이터 정의 csv
컨텐트
다음 emp.csv를 붙이다
csv 파일의 대체품을 정의할 수 있습니다
emp.csv
1,kouda,02
2,mori,01
3,kubo,01
4,kimura,99
5,kinosita,99

두 번째 입력원으로서 부서 메인 시스템의 [tFixedFlowInput] 구성 요소를 설정합니다.

[tFixedFlowInput]의 [기본 설정]의 [모드 편집] 버튼을 눌러 열 정의 화면을 엽니다.
열 이름과 유형은 다음과 같습니다.
열수
열수
타입
첫줄
department_code
String
제2행
department_name
String

[tFixedFlowInput]의 [기본 설정] 모드 설정에서 [내부 내용 사용]을 선택하고 설정합니다.
프로젝트 이름
컨텐트 설정
설명
필드 구분자
,
입력 데이터 정의 csv
컨텐트
다음 departmentcsv를 붙이다
csv 파일의 대체품을 정의할 수 있습니다
department.csv
01,sales
02,develop
03,planning
04,purchasing
05,general
06,accounting

외부 연결
[tMap] 구성 요소를 설정하고 촛불로 직원 제어로 정의된 [tFixedFlow Input]에 연결합니다.
※ 처음 연결하면 주 향초로 간주됩니다.

다음은 부서 제어로 정의된 [tFixedFlowInput]를 촛불로 [tmap]에 연결합니다.
※ 두 번째 이후 연결된 촛불은 모두 찾기 모드입니다.

결합 설정
[tMap] 구성 요소를 두 번 클릭하면 편집 화면이 열립니다.

row1의 department코드를row2의 department로 삼기코드 표현식 키로 드래그합니다.
이렇게 하면 SQL에서 말하는 LEFT JOIN 상태가 됩니다.

[출력표 추가] 버튼(화면의 + 버튼)을 클릭합니다.

output 추가 대화상자에서 out1의 이름으로 새 output을 만듭니다.


row1과 row2의 Column을 각각 out1의 공식에 끌어다 놓으십시오.완료되면 OK 대화 상자를 닫습니다.

출력 확인을 위한 [tLogRow] 구성
[tLog Row]의 [기본 설정] 중의 [모드]도 책상 위에 올려주세요.

[tMap]과 [tLog Row]를 연결하려면 [tmap]에서 오른쪽 단추를 누르고 방금 만든 out1을 선택한 다음 연결하십시오.


설정이 완료되었으니 실행해 보십시오.
department_코드를 조합 키로 사용하기name의 할인이 있습니다.

내부 결합
방금 결과는 department였습니다.name에서null 데이터를 완성했습니다.
다음에 내부 결합으로 설정해 보세요.
결합 설정
[tMap] 구성 요소를 두 번 클릭하여 편집 화면을 엽니다.
row2의 빨간색 상자로 둘러싸인 [tMap settings]를 클릭합니다.

프로젝트 설정의 [Join Model]을 [Inner Join]으로 변경합니다.

이것이 SQL에서 말하는 내부 결합(INNER JOIN) 상태입니다.

설정이 완료되었으니 실행해 보십시오.
department_name 미리 단추를 채울 수 있는 데이터만 출력합니다.

일치하지 않는 데이터 처리
예측할 수 없는 데이터를 처리하는 방법을 설명해 드리겠습니다.
[tMap] 구성 요소를 두 번 클릭하여 편집 화면을 엽니다.
[출력표 추가] 버튼(화면의 + 버튼)을 클릭합니다.

output 추가 대화상자에서 out2의 이름으로 새 output을 만듭니다.


row1의 Column을 각각 out2의 방정식으로 드래그합니다.
※ row2의 departmentname을 설정할 수 없기 때문에 설정하지 않습니다.

out2의 빨간색 상자로 둘러싸인 [tMap settings]를 클릭합니다.

[Catch lookup inner join reject]를 진짜로 설정합니다.
완료되면 OK 대화 상자를 닫습니다.

출력 확인을 위한 [tLogRow] 구성
[tLog Row]의 [기본 설정] 중의 [모드]도 책상 위에 올려주세요.

[tmap]에서 오른쪽 단추를 누르면 방금 만든 out2를 [tLog Row]에 연결합니다.


그럼 실행해 보세요.
내부적으로 결합할 수 없는 데이터를 처리했다.
.--+-----+---------------+---------------.
| tLogRow_1 |
|=-+-----+---------------+--------------=|
|id|name |department_code|department_name|
|=-+-----+---------------+--------------=|
|1 |mori |01 |sales |
|2 |kubo |01 |sales |
|3 |kouda|02 |develop |
'--+-----+---------------+---------------'
.--+--------+---------------.
| tLogRow_2 |
|=-+--------+--------------=|
|id|name |department_code|
|=-+--------+--------------=|
|4 |kimura |99 |
|5 |kinosita|99 |
'--+--------+---------------'
변수 매핑
마지막으로 매핑 변수의 사용 방법을 살펴보자.
맵 변수는 tmap 처리에서 변수 정의 처리로 사용할 수 있습니다.
[tMap] 구성 요소를 두 번 클릭하여 편집 화면을 엽니다.
가운데 Var에서 [변수 추가] 버튼(화면의 + 버튼)을 클릭합니다.

이번에 우리는 종사자들의 명칭이 대문자로 변환된 값을 유지하는 변수를 정의해 보려고 한다.
식에 다음 코드를 입력하십시오.
공식.
StringHandling.UPCASE(row1.name)

out1과 out2에 정의된 변수 var1을 드래그해서 출력 열로 추가합니다.완료되면 OK 대화 상자를 닫습니다.

변경 내용 반영 여부 대화 상자가 표시되면 예가 표시됩니다.

그럼 실행해 보세요.
직원 이름을 대문자로 바꾸는 열을 추가할 수 있습니다.
.--+-----+---------------+---------------+-----.
| tLogRow_1 |
|=-+-----+---------------+---------------+----=|
|id|name |department_code|department_name|var1 |
|=-+-----+---------------+---------------+----=|
|1 |mori |01 |sales |MORI |
|2 |kubo |01 |sales |KUBO |
|3 |kouda|02 |develop |KOUDA|
'--+-----+---------------+---------------+-----'
.--+--------+---------------+--------.
| tLogRow_2 |
|=-+--------+---------------+-------=|
|id|name |department_code|var1 |
|=-+--------+---------------+-------=|
|4 |kimura |99 |KIMURA |
|5 |kinosita|99 |KINOSITA|
'--+--------+---------------+--------'
총결산
이번에 tmap 사용법을 확인했습니다.
ETL 처리에서 말하는 Transform(전환·가공)의 기본 설정 방법은 이미 알려졌잖아요.
새로 사용한 구성 요소와 용도를 미리 복습하다.
지도 편집기
다음
다음에 전화할게요.
Reference
이 문제에 관하여(Talend 시작 (4)~tmap~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/airkoda/items/fa4a9c022b5d688698e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)