일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 백준
- java
- 데이터베이스
- 파이썬
- mysql on docker
- streamsets 강의
- 스트림셋이란?
- C언어
- c
- mysql docker
- ansible install
- 푸시푸시
- 자바
- 도커 elk
- python
- 클라우드
- 알고리즘
- 정보처리기사
- 앤서블 설치
- c++
- docker
- 데이트
- 도커 mysql
- MySQL
- 코딩
- elk stack
- 도커
- 도커 시작하기
- nvidia docker
- 스트림셋
- Today
- Total
리그캣의 개발놀이터
[빅데이터 인프라] StreamSets Basic tutorial 시작하기(Jython) - 5 본문
이번 포스팅에서는 Jython을 사용하여
origin에서 받은 data를 변경해 보도록 하겠습니다.
Jython이라면 streamsets datacollector 자체가 java로 만들어지다 보니
python언어로 변환한 거라고 생각하시면되어요.
일단, jython관련 모듈을설치해야 하는데
canvas에 추가하기 위해서는 다음과 같은 과정을 거쳐야 합니다.
우측 상단에보면 선물포장 같은 화면이 있어요
이화면은 새로운 모듈을 설치할수있는 기능이라고 생각하면되어요
다음과 같은 화면이 나오는데 jy라고 쓰면 jython 모듈을 설치가능한 화면이 나옵니다.
install을 한 후
datacollector를 재실행하면 된다.
나는 docker로 설치했기에 맨아래를 선택했지만 본인 환경에 맞게 재실행가능하다.
그렇게 되면 위의 사진과 같이 jython evaluator를 추가할 수 있다.
jython -> batch by batch
기존 script를 삭제하고 다음을 붙여넣어준다.
실행이 안되면 들여쓰기 문제일 수 있다.
try:
for record in records:
cc =
record.value['credit_card']
if cc == '':
error.write(record, "Payment
type was CRD, but credit card was null")
continue
cc_type =
''
if cc.startswith('4'):
cc_type = 'Visa'
elif
cc.startswith(('51','52','53','54','55')):
cc_type = 'MasterCard'
elif
cc.startswith(('34','37')):
cc_type = 'AMEX'
elif
cc.startswith(('300','301','302','303','304','305','36','38')):
cc_type = 'Diners Club'
elif
cc.startswith(('6011','65')):
cc_type = 'Discover'
elif
cc.startswith(('2131','1800','35')):
cc_type = 'JCB'
else:
cc_type = 'Other'
record.value['credit_card_type'] = cc_type
output.write(record)
except Exception as e:
error.write(record, e.message)
소스코드에 대해 간략히 설명하자면 credic_card 번호에 맞게 visa 카드인지 카드종류를 새로운 열? 스키마를 만드는 작업이다.
위와같이 추가하고 'preview'를 실행하면 새로운 열이보일것이다.
'프로그래밍 기본 > 서버 구축 및 관리' 카테고리의 다른 글
동영상으로 배우는 Virtualbox 로 윈도우에서 리눅스 다루기(설치) (0) | 2019.03.28 |
---|---|
[streamsets] ETL Opensource data collector에 대해 배워보자 (0) | 2019.03.25 |
[빅데이터 인프라] StreamSets Basic tutorial 시작하기(Stream Selector) - 4 (0) | 2019.02.26 |
[빅데이터 인프라] StreamSets Basic tutorial 시작하기(preview) - 3 (0) | 2019.02.25 |
[빅데이터 인프라] StreamSets Basic tutorial 시작하기(origin) - 2 (0) | 2019.02.22 |