데이터베이스에서 특정 조건에 맞는 데이터를 조회해서 Json 형식으로 변환하고, 변환된 데이터에값을 추가하거나 변환하는 작업을 거친 후에, RestAPI로 전달하고 응답 결과를 파일로 저장하는 예제를만들어 보았습니다.Jolt Transform을 처음 사용해 보았는데, 아래 사이트가 많은 도움이 되었습니다.아래 예제는 Json에 디폴트 값을 추가하고, Json 데이터의 Key Name을 대문자에서 카멜 형식으로 변환하는 작업을 2개의 프로세서로 했는데, Jolt 문법으로 한번에 할 수도 있습니다.https://jolt-demo.appspot.com/#inception
import groovy.json.JsonOutputimport org.apache.commons.text.StringEscapeUtilsdef data = [message: '안녕하세요']def json = JsonOutput.toJson(data)// 유니코드 이스케이프 시퀀스를 UTF-8로 직접 변환def decodedJson = StringEscapeUtils.unescapeJson(json)println "Decoded JSON: $decodedJson"// 파일에 UTF-8로 저장new File('output.json').write(decodedJson, 'UTF-8')
특정 테이블 (tc_ymd)를 조회한 결과를 json으로 BATCH_SIZE (100건) 씩 Flow File로 만들어서 다음 프로세서로전달하는 예제입니다.지난번에 포스팅 했던 Json 데이터를 Oracle Merge문으로 변환하는 프로세서로 전달하기 위해서 만들어 봤습니다.Groovy Script로 작성한 이유는 조회한 데이터 일부를 특정 처리 (ex. 암호화)를 한 후에 다음 프로세서에 전달하기위해서 입니다. * tc_ymd.groovyimport org.apache.nifi.dbcp.DBCPServiceimport org.apache.nifi.processor.io.StreamCallbackimport org.apache.nifi.processor.io.OutputStreamCallbackimp..
import org.apache.nifi.controller.ControllerService def lookup = context.controllerServiceLookup def dbcpServiceId = lookup.getControllerServiceIdentifiers(ControllerService).find { cs -> lookup.getControllerServiceName(cs) == "HF_TSTDB" } def dbcpService = lookup.getControllerService(dbcpServiceId) //def dbcpService = context.controllerServiceLookup.getControllerService("43c54e78-0191-1000-9a98..
ConvertJSONToSQLWithMerge.java최근에 Oracle 데이터베이스를 목적지로 데이터를 이관하기 위해서 Nifi를 검토하던 중에, Nifi에는 Oracle Merge을 지원하는프로세서가 없다는 걸 알게되었습니다.Upsert 형식을 지원하는 프로세서가 있지만, 대상 데이터베이스에는 Oracle이 없습니다.그래서 구글링 해보니 Github에 커스텀 프로세서 코드가 있어서 사용해 보았습니다.출처: https://github.com/dawsongzhao1104/nifi출처: https://mdnice.com/writing/1e7798958878469cbd54e1dfe85126a7 그런데 실제로 테스트를 해보니, 커스컴 프로세서을 인식해서 사용할 수는 있는데, Merge문이 온전하게생성이 되지 ..
- Total
- Today
- Yesterday
- 배당급
- 코라나 19
- 오미크론
- JMW 헤어드라이기기
- 파나소닉 비데 DL-EH10KWS
- 화분벌레
- VARIDESK
- 고체 향수
- yugabyteDB
- 남설 팔찌
- Pixel Pals
- 홈 오피스
- GKRS
- Sybase IQ
- 매직 트랙패드2
- 르세라핌
- 별이 빚나는 밤
- 카카오 에드
- 루미큐브 종류
- 증권정보포털
- weka
- node.js
- 별잉 빛나는 밤
- 유가바이트디비
- 톡토기
- Life Chair
- 브리다 정수기
- 솔리드 쿨론
- 빈센트 반 고흐
- 로니카 BCS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |