1과목 · 빅데이터 분석 기획·5장
데이터 수집과 전환
데이터 수집 절차와 유형별 수집 기술(ETL·FTP·Open API·Sqoop·Flume·Kafka·CEP·크롤링), 데이터 변환 기법, 개인정보 비식별화 5기법과 프라이버시 보호 모델, 데이터 품질 검증을 다룹니다.
데이터 수집 절차
| 순서 | 단계 |
|---|---|
| 1 | 수집 데이터 도출 — 분석 목적에 필요한 데이터 식별 |
| 2 | 목록 작성 — 데이터 항목, 출처, 형식 정리 |
| 3 | 데이터 소유기관 파악 및 협의 — 소유권·비용·제약 확인 |
| 4 | 데이터 유형 분류 및 확인 — 정형·반정형·비정형 |
| 5 | 수집 기술 선정 |
| 6 | 수집 계획서 작성 |
| 7 | 수집 주기 결정 — 실시간 / 배치 |
| 8 | 데이터 수집 실행 |
유형별 수집 기술
| 유형 | 대표 기술 |
|---|---|
| 정형 | ETL, FTP, Sqoop, DBToDB, Rsync, Open API |
| 반정형 | Flume, Scribe, Chukwa, Kafka, Fluentd, Streaming, 센서 로그 |
| 비정형 | 크롤링(Crawling), Scrapy, RSS, Open API, Chukwa |
수집 기술의 정의
| 기술 | 하는 일 |
|---|---|
| ETL | 추출(Extract) → 변환(Transform) → 적재(Load). DW 구축의 표준 절차 |
| ELT | 추출 → 적재 → 변환. 대상 저장소의 연산력으로 변환, 대용량·클라우드에 유리 |
| FTP | TCP/IP 기반 파일 전송 (FTP, sFTP, tFTP) |
| Open API | 실시간 데이터 공개 인터페이스로 데이터를 받아옴 |
| Sqoop | 커넥터로 관계형 DB ↔ HDFS 대량 전송, 벌크 임포트 지원 |
| Flume | Source → Channel → Sink 구조의 스트리밍 로그 수집기 |
| Scribe | 페이스북이 만든 분산 로그 수집기. 중앙 집중 서버로 실시간 전송 |
| Chukwa | 하둡 기반 분산 로그 수집. 에이전트 + 컬렉터, HDFS에 저장 |
| Kafka | 발행-구독 모델의 분산 메시징. 대용량 실시간 파이프라인, 로그를 디스크에 보관해 재처리 가능 |
| CEP | 여러 이벤트 스트림을 실시간으로 결합·패턴 탐지해 즉시 대응(복합 이벤트 처리) |
| EAI | 기업 내 이종 시스템·애플리케이션 통합. 허브 앤 스포크 / 메시지 버스 방식 |
| ESB | 서비스 간 표준 인터페이스를 통한 느슨한 결합 연계 |
| 크롤링 | 웹 문서·SNS를 자동 탐색해 수집 |
단골 함정 정리
- ETL vs ELT: 변환을 적재 전에 하는가(ETL), 적재 후에 하는가(ELT)
- EAI vs CEP: EAI는 시스템 간 연계·통합, CEP는 이벤트 스트림의 실시간 패턴 탐지
- Sqoop vs Flume: Sqoop은 정형(RDB), Flume은 로그(반정형)
- Kafka vs Flume: Kafka는 범용 메시지 큐(다수 소비자·재처리), Flume은 하둡 적재에 특화된 로그 수집기
데이터 변환 기술
| 기법 | 내용 |
|---|---|
| 평활화(Smoothing) | 잡음을 제거해 데이터 추세에서 벗어난 값을 다듬음 |
| 집계(Aggregation) | 요약·합계 등 다양한 차원으로 데이터를 모음 |
| 일반화(Generalization) | 특정 구간을 상위 개념으로 대체 (나이 → 연령대) |
| 정규화(Normalization) | 정해진 범위로 값을 변환 (최소-최대, z-score) |
| 속성 생성(Attribute Construction) | 기존 속성을 조합해 새 속성을 만듦 |
개인정보 비식별화 5기법
| 기법 | 세부 기술 | 예 |
|---|---|---|
| 가명처리 | 휴리스틱 가명화, 암호화, 교환 방법 | 홍길동 → 임의의 값 |
| 총계처리 | 총계처리, 부분 총계, 라운딩, 재배열 | 개인별 급여 → 부서 평균 |
| 데이터 삭제 | 속성값 삭제, 부분 삭제, 데이터 행 삭제, 준식별자 제거 | 주민번호 뒷자리 삭제 |
| 데이터 범주화 | 감추기, 랜덤 라운딩, 범위 방법, 세부 정보 분해 | 나이 32세 → 30대 |
| 데이터 마스킹 | 임의 잡음 추가, 공백과 대체 | 홍○○, 010-****-1234 |
총계처리는 여러 사람의 값을 묶어 통계값으로 바꾸는 것, 범주화는 한 사람의 값을 구간으로 뭉개는 것, 마스킹은 일부 문자를 가리는 것입니다. 라운딩은 총계처리 안에 있고, 랜덤 라운딩은 범주화 안에 있다는 점까지 구분해서 묻습니다.
비식별 조치 절차
사전 검토 → 비식별 조치 → 적정성 평가 → 사후 관리 4단계입니다. 사후 관리 단계에서 재식별 가능성 모니터링과 안전 조치를 계속합니다.
프라이버시 보호 모델 (적정성 평가 기준)
| 모델 | 조건 |
|---|---|
| k-익명성 | 동일한 값을 가진 레코드가 k개 이상 존재해 특정 개인을 구별할 수 없게 함 |
| l-다양성 | 각 동질 집합 안의 민감 정보가 최소 l개 이상 다양하게 존재 |
| t-근접성 | 동질 집합 내 민감 정보 분포가 전체 분포와 차이가 t 이하 |
| m-유일성 | 원본의 민감 정보에 대해 최소 m개 이상의 동일 정보가 존재 |
순서대로 k-익명성의 약점(동질성·배경지식 공격)을 l-다양성이, l-다양성의 약점(쏠림·유사성 공격)을 t-근접성이 보완합니다. 이 보완 관계의 방향을 뒤집은 선택지가 함정입니다. 적정성 평가의 기본 지표는 k-익명성입니다.
데이터 품질 검증
정형 데이터의 품질 진단 기준:
| 기준 | 확인 내용 |
|---|---|
| 완전성 | 필수 항목에 누락이 없는가 |
| 유일성 | 중복 없이 단일하게 존재하는가 |
| 유효성 | 정해진 형식·범위·도메인을 지키는가 |
| 일관성 | 같은 의미의 값이 여러 곳에서 어긋나지 않는가 |
| 정확성 | 실제 값과 일치하는가 |
비정형 데이터는 기능성 · 신뢰성 · 사용성 · 효율성 · 이식성 같은 소프트웨어 품질 기준을 준용해 콘텐츠의 활용 가능성을 평가합니다.
데이터 프로파일링으로 품질을 진단합니다: 칼럼 분석, 날짜 분석, 패턴 분석, 코드(도메인) 분석, 참조 무결성 분석.
품질 기준으로 "정확성·완전성·적시성·일관성"을 묻는 문제와, 정형 데이터 진단 5지표를 묻는 문제가 따로 나옵니다. 유일성·유효성은 정형 데이터 진단 지표 쪽에 속합니다.