티스토리 뷰
두번째로 JDBC의 ResultSet 결과를 JsonArray로 변환하는 함수를 구현해 보겠습니다.
DataConverter 클래스에 추가됩니다.
효율적인 데이터 처리를 위해서 Oracle에서 데이터를 Fetch하는 Count와 JsonArray에 담길
데이터를 일치 시켰습니다.
그래서 아래 함수의 두번째 인자인 maxSize가 그 값입니다. 저는 보통 1000을 사용합니다.
오라클 11g 는 기본값이 20 입니다. 즉 20 rows 씩 클라이언트로 운반이 됩니다.
그리고 데이터 형은 일단 정수형과 문자열만 사용한다는 가정하에 함수를 만들어 보았습니다.
DataConverter.java
-------------------------------
public static JsonArray sqlToJson(ResultSet rset, int maxSize) throws Exception {
JsonArray jsonData = new JsonArray();
ResultSetMetaData = rmeta;
JsonObject jo;
int nRows = 0;
while(rset.next()) {
nRows++;
jo = new JsonObject();
for(int i=1; i<= rmeta.getColumnCount(); i++) {
if(rmeta.getColumnTypeName(i).equals("NUMBER") {
jo.addProperty(rmeta.getColumnName(i).toLowerCase(), rset.getInt(i));
} else {
jo.addProperty(rmeta.getColumnName(i).toLowerCase(), rset.getString(i));
}
}
jsonData.add(jo);
if(maxSize == nRows)
break;
}
return jsonData;
}
이렇게 해서 ETL프로그램에서 가장 중요한 DataConver 클래스에 2개의 함수를 구핸해 보았습니다.
3편에서는 SQL로 오라클에서 데이터를 fetch한 후 몽고디비에 효과적으로 적재하는 부분을 만들어 볼 생각입니다.
- Total
- Today
- Yesterday
- 별이 빚나는 밤
- 솔리드 쿨론
- 오미크론
- JMW 헤어드라이기기
- 톡토기
- 남설 팔찌
- 카카오 에드
- Life Chair
- 홈 오피스
- 증권정보포털
- 별잉 빛나는 밤
- 루미큐브 종류
- 화분벌레
- weka
- 코라나 19
- 르세라핌
- 배당급
- yugabyteDB
- 파나소닉 비데 DL-EH10KWS
- Sybase IQ
- node.js
- VARIDESK
- 로니카 BCS
- 고체 향수
- Pixel Pals
- 브리다 정수기
- 유가바이트디비
- 빈센트 반 고흐
- 매직 트랙패드2
- GKRS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |