이것저것/공공데이터 일경험 수련생(2021년)

2021년 10월 12일_파일 육안진단 업무

Iam_im2 2021. 10. 12. 19:24
728x90

<배정업무>
개방데이터 품질 진단 및 개선(파일)

<배정파일>
국가별 ○○물 수출입 현황 - 201○년 12월
대검찰청_○○범죄자의 직업_20○○1231
교육부 ○○○○위원회_한국○○자료 메타데이터 정보_문서_20○○04
○○○○부_청소년 수련시설 현황_20○○○○11

등등




지난 주에 오픈API업무를 하는 동안, 파일진단도구가 업데이트 됐다.

<변경전>
1)진단기관이 '뉴딜 사업단_일경험 수련생'으로 자동입력
2)진단 규칙 수동 설정

<변경후>
1)파일마다 파일에 따른 진단기관 수기 입력
2)진단 규칙 자동 설정




오늘부터 새로운 업무인 개방데이터 파일 육안진단을 한다. 
기존 개방데이터 품질진단 도구(GDQ Flie)로 개방데이터 파일을 한 번 점검하고, 진단 결과 오류가 없더라도 육안으로 한 번 더 파일을 검수한 뒤 수기로 보고서를 작성해서 제출해야한다.

웬만한 건, GDQ Flie 진단도구가 걸러내지만 데이터의 형식만을 검수하기 때문에 육안진단으로 데이터의 유효성도 검수해야한다. 예를 들면, 아래와 같은 상황 때문에 육안진단을 해야한다.

<GDQ Flie 진단도구 진단결과와 육안진단 결과 차이 예시>
데이터 : 21년 09월
GDQ File 진단도구: [날짜>YYYY-MM] 오류 검출

데이터 : 3011년 09월
GDQ File 진단도구: [날짜>YYYY-MM] 정상진단
육안진단 : 년도 표기가 유효하지 않은 데이터임.

데이터 : 한국ㅈㅣ능정ㅂㅗ사회진흥원
GDQ File 진단도구: 문자열 정상진단
육안진단 : 문자열 데이터 글자 깨짐.



GDQ File 진단도구 진단규칙을 문자열로 설정하면 절대 오류값이 나오지 않는다. 때문에 육안진단은 문자열로 설정한 데이터값들을 더욱 신경써야한다. 진단규칙이 문자열인 데이터값 중 컬럼명이 '00코드'형태인 것은 육안진단보고서 작성시 검증 유형을 '코드'로 작성해야한다. GDQ File 진단도구 보고서에서는 나오지 않는 값이므로 육안 진단 후 수기로 작성해야만 한다.

육안진단보고서 파일명은 [F000000000_육안진단결과보고서]로 업로드하면 된다.

<육안진단보고서 2번째 시트 작성 예시1>
개방데이터ID: F000000000
컬럼순번: 0
컬럼명: 국가코드
검증유형: 코드
검증유형 상세: NN, NNN형태
검증유형 설명: 구분 2가지 코드 유형

<육안진단보고서 2번째 시트 작성 예시2>
개방데이터ID: F000000000
컬럼순번: 13
컬럼명: 범죄분류
검증유형: 완결성
검증유형 상세: 글자깨짐, 공백, 필수값, 중복데이터


즉, <육안진단보고서 2번째 시트 작성 예시1>처럼 문자열 데이터 중 코드값이 있는 경우에는 검증유형에 [코드]를 입력한다. 코드값이 없는 문자열 데이터는 <육안진단보고서 2번째 시트 작성 예시2>처럼 검증유형에 완결성을 입력하고, 검증유형 상세에는 글자깨짐, 공백, 필수값, 중복데이터를 입력해 검수하면 된다. 더불어, 문자열 데이터값의 공백은 오류로 처리하지 않아도 된다.



[교육부 ○○○○위원회_한국○○자료 메타데이터 정보_문서_20○○04]
데이터건수 : 19,450,981건
컬럼 수 : 31개

<오류내역>_정비불가
보통 csv파일 용량이 5MB안쪽인데, 이 파일은 용량이 무려 426MB다.
엑셀로 csv파일을 여는 데만 한 시간 가량 소요됐다. 한참을 걸려 파일을 여는데 성공했는데, 글자가 모두 깨져있었다. csv파일의 글자가 깨졌을 경우, 메모장으로 파일을 열고 UTF8(BOM)로 저장해서 다시 열라고 안내되어있다. 그러나 메모장에서는 파일이 아예 안 열렸다. 데이터의 글자값이 모두 깨졌으나 엑셀 행열번호를 통해 컬럼 수와 데이터건수는 확인할 수 있었다. 마지막 행까지 스크롤을 내리는 데도 중간중간 엑셀이 멈춰서 10분가량이 걸렸다. 확인해보니 627451행에 31열이다. 거의 대부분의 셀이 값이 입력되어있으니 데이터건 수가 약 19,000,000건인 셈이다.

기술 매니저님에게 오류내용과 마지막 행까지 글자가 깨진 모습을 캡쳐해서 보냈다. 육안진단보고서에 보고서 용량이 너무 커서 정비불가라고 작성해 업로드하라고 답변이 왔다. 

 

728x90