데이터 수집
IT 위키
더 많은 작업
- Data Collection; 데이터 수집
- 분석에 필요한 데이터를 내·외부 원천에서 찾아 가져오는 활동과 그 기술
수집은 분석 기획 다음 단계이자 데이터 전처리의 앞단이다. 무엇을 어디서 어떤 주기로 가져올지 정하지 않고 수집부터 하면 쓸 수 없는 데이터가 쌓인다.
- 수집 데이터 대상 선정 : 분석 목적에 맞는 데이터를 도출하고, 내부·외부 원천 목록을 만든 뒤 수집 가능성, 보안(개인정보 포함 여부), 정확성, 비용을 따져 우선순위를 정한다
- 수집 세부 계획 수립 : 데이터 소유자, 데이터 유형, 수집 기술, 수집 주기, 저장 방식을 정하고 수집 계획서를 작성한다
- 데이터 수집 실행 : 계획대로 수집하고, 사전 테스트를 거쳐 수집 결과의 품질을 점검한다
- 내부 데이터 : 조직 안의 시스템(ERP, CRM, 로그 등)에서 나온다. 관리 주체가 명확하고 수집이 쉽다
- 외부 데이터 : 공공데이터, SNS, 웹 페이지, 제휴사 데이터 등. 수집 비용과 저작권·약관·개인정보 문제를 따로 검토해야 한다
수치로 얻기 어려운 요구사항·의견·아이디어는 사람에게서 직접 모은다. 방법마다 대상과 형식이 다르다.
| 방법 | 방식 |
|---|---|
| 브레인스토밍 | 여러 사람이 비판 없이 자유롭게 아이디어를 많이 내게 한 뒤 정리한다. 두 후보를 비교하는 방법이 아니다 |
| 인터뷰 | 이해관계자·담당자와 직접 이야기하며 질의응답으로 요구사항과 업무 내용을 듣는다 |
| 설문조사 | 다수의 사람에게 질문지를 배포해 응답을 모은다. 인터뷰와 달리 대량·정형 응답을 얻는다 |
| FGI(Focus Group Interview) | 주제에 맞게 선정한 소수 전문가·대상자 집단을 모아 진행자가 깊이 있게 면담·토론한다. 사전 설문으로 대상을 고르고 온·오프라인으로 면담을 진행하기도 한다 |
| SCAMPER | 대체(Substitute)·결합(Combine)·적용(Adapt)·수정(Modify)·다른 용도(Put to other uses)·제거(Eliminate)·뒤집기(Reverse) 일곱 질문으로 기존 것을 바꿔 보며 아이디어를 발상하는 기법이다. 이해관계자와 이야기하는 방법이 아니다 |
| 구분 | 검토할 것 |
|---|---|
| 내부 데이터 | 필요한 데이터의 관리 권한이 다른 부서에 있으면 협의를 거쳐 공유 가능 여부를 확인한다. 개인정보가 들어 있으면 비식별 조치 방안을 함께 마련한다 |
| 외부 데이터 | 수집해도 되는지 법률·제도상 제약(개인정보, 저작권, 이용약관)을 먼저 확인한다. 외부 원천과 연결되는 만큼 보안 위험도 검토해야 하고, 구매·연동 비용을 따진다 |
- 외부 데이터라고 해서 보안을 신경 쓰지 않고 자유롭게 써도 되는 것은 아니다. 오히려 내부 데이터보다 법적 제약과 보안 검토가 더 필요하다.
| 기술 | 대상 | 설명 |
|---|---|---|
| 크롤링(Crawling) | 웹 페이지 | 링크를 따라가며 여러 웹 페이지를 자동으로 방문해 수집한다 |
| 스크래핑(Scraping) | 웹 페이지 | 특정 페이지에서 필요한 정보만 추출한다 |
| Open API | 공공·민간 서비스 | 제공자가 공개한 인터페이스로 JSON·XML 형태의 데이터를 받는다 |
| FTP | 파일 | TCP/IP 기반 파일 전송 프로토콜로 원격 서버의 파일을 가져온다 |
| RSS | 블로그·뉴스 | XML 기반 형식으로 갱신된 콘텐츠를 구독해 받는다 |
| ETL | 정형 데이터 | 원천 DB에서 추출(Extract)·변환(Transform)·적재(Load)해 데이터 웨어하우스 등에 넣는다 |
| Sqoop | RDBMS ↔ 하둡 | 관계형 DB와 HDFS 사이에 대량 데이터를 전송한다 |
| 로그 수집기 | 로그·이벤트 | Flume, Scribe, Fluentd, Chukwa 등이 여러 서버의 로그를 모아 저장소로 보낸다 |
| Kafka | 스트리밍 | 발행/구독(Pub/Sub) 방식의 분산 메시징 플랫폼으로 대용량 실시간 데이터를 중계한다 |
| 센서·IoT | 기기 | 센서 데이터를 MQTT 같은 경량 프로토콜 등으로 받아 수집한다 |
| 스트리밍 | 실시간 데이터 | 네트워크로 끊임없이 들어오는 데이터를 실시간으로 수집·처리한다 |
- 수집 기술과 대상의 짝(Sqoop = RDBMS↔HDFS, Flume = 로그, Open API = 서비스 데이터, 크롤링 vs 스크래핑)
- 정형·반정형·비정형 구분, 특히 XML·JSON·HTML이 반정형이라는 점
- 척도 4종의 구분. 섭씨 온도는 등간 척도, 절대 0점이 있으면 비율 척도