그럼 이거 짜볼수 있냥 ?
1. 입력은 다양한 뎁쓰와 비정형화된 키를 가지는 json
2. 출력은 각 조건에 맞는 컬럼으로 파싱 ( 해당 컬럼 은 외부 ini 파일 같은 형태로 관리 )
3. 입력 및 출력 조건은 항상 바뀔 수 있음
Ex)
1. 입력 샘플 예 ( 키 다양성 2만개 )
{"pk1":"001", "d1k1" : "v1", "d1k2" : "v2", "d1k3": { "d2k1":"vv1", "req":{"avs":"1111"}}}
{"pk1":"002", "d1k1" : "v1", "d1k4": { "d2k1":"vv1"}}
{"pk1":"003", "d1k4" : "v1", "d1k5": { "d00":"vv1"}}
......
2. 가공 기준 ( 예시, 계속 변경됨, 최대 컬럼 2500개 )
. pk1 ----> PK1
. d1k1 ----> PK1D1K1
. d1k3.req.avs or d1k5.res.act.ret 둘 중 null이 아닌것 기준 ----> D1K35_RET
.....
3. 출력
{ "PK1": "001", "PK1D1K1":"v1", "D1K35_RET":"1111" }
{ "PK1": "002", "PK1D1K1":"v1" }
{ "PK1": "003" }
.....
이런식으로 출력되는거
언어 상관없이 짜봥
ㅇㅅㅇ
물론 저기 항목 및 조건은 졸라 자주 바뀌니깐 쉽게 쉽게 대응할수 있는 구조로
ㅇㅅㅇ
1. 입력은 다양한 뎁쓰와 비정형화된 키를 가지는 json
2. 출력은 각 조건에 맞는 컬럼으로 파싱 ( 해당 컬럼 은 외부 ini 파일 같은 형태로 관리 )
3. 입력 및 출력 조건은 항상 바뀔 수 있음
Ex)
1. 입력 샘플 예 ( 키 다양성 2만개 )
{"pk1":"001", "d1k1" : "v1", "d1k2" : "v2", "d1k3": { "d2k1":"vv1", "req":{"avs":"1111"}}}
{"pk1":"002", "d1k1" : "v1", "d1k4": { "d2k1":"vv1"}}
{"pk1":"003", "d1k4" : "v1", "d1k5": { "d00":"vv1"}}
......
2. 가공 기준 ( 예시, 계속 변경됨, 최대 컬럼 2500개 )
. pk1 ----> PK1
. d1k1 ----> PK1D1K1
. d1k3.req.avs or d1k5.res.act.ret 둘 중 null이 아닌것 기준 ----> D1K35_RET
.....
3. 출력
{ "PK1": "001", "PK1D1K1":"v1", "D1K35_RET":"1111" }
{ "PK1": "002", "PK1D1K1":"v1" }
{ "PK1": "003" }
.....
이런식으로 출력되는거
언어 상관없이 짜봥
ㅇㅅㅇ
물론 저기 항목 및 조건은 졸라 자주 바뀌니깐 쉽게 쉽게 대응할수 있는 구조로
ㅇㅅㅇ
https://github.com/json-path/JsonPath
이거 쓸만해보인당
https://stackoverflow.com/questions/19600684/java-enum-with-multiple-value-types
이것도 쓸만해 보인당
헉 사우나 슨생님 엄청 오랜만이네
물론 전 못짜요
ㅇㅅㅇ
^~~^
변환 로직이 데이터 포맷이 지멋대로면 코드가 지저분해질텐데 변환 명세가 크고 졸라 자주 변하기까지 하면 코드에 로직을 박기보다는 변환코드를 생성해내야 운영이 가능하다는 이야기네요 저라면 일단 gcp의 dataprep이나 data fusion 같은 툴을 쓰는걸 생각해보곘는데 쟤들 어차피 오픈소스 매니지드 서비스라서 오픈소스 참고해 보시 - dc App
는 것도 조을듯요 운영할 사람이 안 익숙한 툴 도입하는것보다 코드 생성코드 만드시고 인수인계하시는게 더 나을거 같기도하지만요 - dc App
ㅇㅅㅇ 그래서 어느 정도 가변성 가진 틀부터 만든 뒤에 소스 제네레이터를 만들 생각
일단 일정 짧고 원래 내가 만들어야할 부분은 아닌데 으~ 한국 si특징 답게 기술이 뚝딱 되는 줄 알고 있어서 ㅇㅅㅇ
ㅎㅎ 고생많으십니다 - dc App