firstStep
[ADsP - 데이터 분석] 외부 데이터 수집/정제, 데이터 마트 설계·ETL 본문
3-1 R 프로그래밍 기초 & 데이터 마트
외부 데이터 수집과 정제, 데이터 마트 설계 및 ETL 완전 정복
데이터 수집부터 정제, ETL까지, 도대체 어디서부터 어떻게 시작해야 할까요?
솔직히 말하면, 저도 처음엔 'ETL'이라는 단어를 들었을 때 머릿속이 새하얘졌습니다. 하지만 하나씩 개념을 쌓고 나니, 외부 데이터를 수집하고, 정제하고, 원하는 형태로 가공하는 이 전체 과정이 얼마나 논리적이고 강력한지 새삼 느끼게 되더라고요. 특히 ADsP 자격증을 준비하시는 분들이라면 외부 데이터 수집·정제, 데이터 마트 설계, ETL이 시험에서도 실무에서도 얼마나 중요한 파트인지 절실히 느끼실 거예요.
이번 글에서는 ADsP 출제 기준을 바탕으로 외부 데이터 수집 방법부터 데이터 정제 기법, 그리고 데이터 마트 설계와 ETL의 핵심 로직까지 초보자 눈높이에 맞춰 하나하나 친절히 설명드릴게요. 모의고사 문제도 포함되어 있으니, 실전 대비도 철저히 할 수 있답니다! 😎
이제, 여러분의 분석 여정을 한층 더 단단하게 만들어줄 진짜 핵심 내용을 함께 배워봐요!
목차
1. 외부 데이터 수집 방법 [모의고사 포함]
데이터 분석의 출발점은 무엇보다도 양질의 데이터를 확보하는 것이에요. 내부 시스템에서 자동 수집되는 로그도 중요하지만, 분석의 깊이를 더하려면 외부에서 데이터를 수집하는 과정이 필수입니다. 그럼, 어떤 방식으로 외부 데이터를 수집할 수 있을까요?
① 공공 데이터 포털 이용하기
공공데이터포털(data.go.kr)이나 서울열린데이터광장(open.seoul.go.kr) 같은 사이트는 데이터 분석 입문자에게 보물창고 같은 곳이에요. 예를 들어 대기오염 정보, 인구 통계, 교통량 같은 자료는 모두 무료로 제공되고 다운로드도 쉽습니다. CSV, Excel, JSON, API 형태로 제공되기 때문에 R에서도 바로 활용 가능하죠.
② 웹 스크래핑(Web Scraping)
웹사이트에 있는 정보를 코드로 수집하는 방식이에요. 예를 들어 뉴스 기사, 쇼핑몰 상품 가격, 날씨 정보 등을 자동으로 수집할 수 있죠. R에서는 rvest
패키지를 이용해 HTML 구조를 분석하고 원하는 요소를 추출할 수 있어요. 물론 과도한 요청은 크롤링 제한이 있을 수 있으니 robots.txt 확인도 필수랍니다.
③ 오픈 API 활용
Open API는 특정 사이트의 데이터를 정형화된 방식으로 제공하는 인터페이스에요. 예를 들어 기상청, 카카오, 네이버에서 제공하는 API를 통해 실시간 날씨, 키워드 트렌드, 지역 기반 정보 등을 받아올 수 있죠. R에서는 httr
, jsonlite
패키지를 이용해 GET/POST 요청을 보내고 JSON을 파싱하는 방식으로 데이터를 가져올 수 있어요.
④ 기타 방식: 설문조사, 설문 플랫폼, 수기 파일 등
Google Forms, 네이버폼 등으로 데이터를 직접 수집할 수도 있고, 설문 결과나 엑셀 자료를 이메일로 받는 방식도 있어요. 이처럼 다양한 채널을 통해 확보한 데이터는 분석의 깊이와 신뢰도를 확장시켜 줍니다.
💡 모의고사 문제 (외부 데이터 수집)
- 공공 데이터 포털에서 제공하는 파일 형식이 아닌 것은?
① CSV ② XML ③ HTML ④ JSON
정답: ③ HTML
→ HTML은 웹페이지 형태로 제공되며 직접 스크래핑해야 함. - 웹 크롤링 시 웹사이트 접근 허용 여부를 확인할 수 있는 파일은?
① sitemap.xml ② robots.txt ③ index.html ④ .htaccess
정답: ② robots.txt
→ 크롤링 가능한 영역과 제한된 영역을 명시해둔 설정 파일이에요. - Open API 호출 시 사용하는 HTTP 메서드가 아닌 것은?
① GET ② POST ③ PUT ④ SHOW
정답: ④ SHOW
→ SHOW는 HTTP 표준 메서드가 아닙니다. - R에서 JSON 파일을 데이터프레임으로 불러올 때 사용하는 함수는?
① read.csv ② read_excel ③ fromJSON ④ jsonToCSV
정답: ③ fromJSON
→jsonlite
패키지의 함수로 JSON 데이터를 파싱할 수 있어요. - 웹에서 HTML 구조를 파싱할 수 있는 R 패키지는?
① rvest ② ggplot2 ③ dplyr ④ lubridate
정답: ① rvest
→ 웹페이지에서 원하는 텍스트나 속성을 추출할 때 사용합니다.
외부 데이터를 잘 수집하는 것이 결국 분석의 시작점이에요. 데이터 수집 방법을 확실히 익혀두면, 이후 정제와 가공 단계에서도 훨씬 수월하게 접근할 수 있답니다.
다음 단계에서는 데이터 정제(Data Cleaning)의 중요성과 주요 기법을 집중적으로 살펴볼게요.
2. 데이터 정제의 핵심 개념 [모의고사 포함]
수집한 데이터는 항상 ‘깨끗’하지 않아요. 중복된 행, 빠진 값, 잘못된 형식... 여러분도 한번쯤 엑셀 데이터를 열어보고 한숨 쉰 적 있으시죠? 😩 그런 문제들을 해결하는 게 바로 데이터 정제(Data Cleaning)입니다. 분석의 정확도는 결국 데이터의 품질에 달려 있고, 이 품질을 끌어올리는 작업이 바로 정제예요.
① 결측치(Missing Values) 처리
결측치는 흔히 NA
로 표시되며, 분석 시 에러를 유발할 수 있어요. R에서는 is.na()
, na.omit()
, tidyr::replace_na()
등을 활용해 처리할 수 있어요.
보완 전략은 다음과 같아요:
- 삭제(na.omit)
- 평균/중앙값/최빈값으로 대체
- 전/후 관측값으로 채우기 (LOCF 등)
② 이상치(Outliers) 탐지와 처리
이상치는 분석 결과에 큰 영향을 주는 극단값이에요. 예를 들어 평균 소득을 분석할 때 억대 연봉이 섞이면 평균이 왜곡되겠죠? 대표적인 탐지 방법은 IQR (사분위수 범위)
, Z-score
분석 등이 있어요. 이상치 여부를 판단한 뒤 제거하거나 변환(로그 스케일 등)할 수 있습니다.
③ 중복값 제거
중복된 행이 존재하면 분석 결과가 왜곡될 수 있어요. dplyr
의 distinct()
함수를 통해 중복을 제거하거나, 특정 컬럼 기준으로 유일값을 유지할 수 있어요.
④ 데이터 타입과 형식 정리
숫자가 문자형으로 되어 있거나, 날짜 형식이 제각각이면 분석이 어려워져요. as.numeric()
, as.Date()
같은 형 변환 함수를 통해 일관성 있는 형식으로 맞추는 게 필요합니다.
🧠 모의고사 문제 (데이터 정제)
- 다음 중 결측치 처리를 위한 R 함수로 적절하지 않은 것은?
① na.omit ② is.na ③ na.fill ④ replace_na
정답: ③ na.fill
→ na.fill은 base R 함수가 아니며 주로 zoo 패키지에서 사용됨. - 이상치 탐지에 사용되는 대표적인 통계 기법은?
① K-means ② IQR ③ PCA ④ t-SNE
정답: ② IQR
→ IQR은 사분위수 기반의 이상치 판단 기준입니다. - 다음 중 중복 제거에 가장 적절한 함수는?
① select ② filter ③ distinct ④ arrange
정답: ③ distinct
→ 중복을 제거하고 유일한 행만 남길 수 있어요. - 문자형 숫자 데이터를 실제 숫자형으로 바꾸려면 어떤 함수를 사용할까?
① as.character ② as.numeric ③ as.factor ④ is.numeric
정답: ② as.numeric
→ 문자형 숫자("123")를 숫자형(123)으로 변환할 때 사용해요. - 결측치를 평균으로 대체할 때 적절하지 않은 방식은?
① mean(x, na.rm=TRUE) ② x[is.na(x)] <- mean(x) ③ replace_na(x, mean(x)) ④ median(x)
정답: ④ median(x)
→ 평균이 아니라 중앙값으로 대체하는 방식이므로 조건과 맞지 않아요.
데이터 정제는 마치 ‘청소’처럼 느껴지지만, 이 단계를 건너뛰면 분석 결과의 신뢰도는 무너집니다. 이제 깔끔하게 정돈된 데이터를 가지고 데이터 마트를 설계해보는 단계로 넘어가 볼까요?
3. 데이터 마트란? 설계 원칙 알아보기 [모의고사 포함]
데이터 마트(Data Mart)란, 분석 목적에 맞게 필요한 데이터를 모아둔 소규모 데이터 저장소를 의미합니다. 전체 데이터를 담고 있는 데이터 웨어하우스(DW)와 달리, 특정 부서나 기능 중심으로 구성되기 때문에 훨씬 더 실무에 밀접한 형태라고 할 수 있어요.
예를 들어, 마케팅 부서에서는 고객 행동 데이터를 중심으로 한 마트를 만들고, 재무팀은 수익과 비용 중심의 마트를 설계하겠죠. 즉, 목적이 분명한 만큼, 그에 맞는 설계가 중요합니다.
① 데이터 마트와 데이터 웨어하우스의 차이점
항목 | 데이터 마트 (Data Mart) | 데이터 웨어하우스 (DW) |
---|---|---|
목적 | 부서 또는 주제별 분석 | 전사적 통합 데이터 관리 |
범위 | 제한적, 특정 도메인 중심 | 광범위, 전사 데이터 포함 |
사용자 | 비즈니스 유닛 사용자 | 전체 조직 |
② 데이터 마트 설계 시 고려사항
- 분석 목적 명확화 (KPI 중심)
- 적절한 주제 영역(Sales, Marketing 등) 설정
- 데이터 출처와 주기 고려 (배치 or 실시간)
📝 모의고사 문제 (데이터 마트 설계)
- 다음 중 데이터 마트의 특징으로 가장 적절한 것은?
① 전사적 통합 중심 ② 실시간 센서 데이터 중심 ③ 부서별 목적 중심 ④ 대용량 백업 저장소
정답: ③ 부서별 목적 중심
→ 데이터 마트는 특정 분석 목적에 맞춘 소규모 저장소입니다. - 데이터 마트 설계 시 가장 먼저 고려해야 할 것은?
① 분석에 쓸 시각화 툴 ② 분석 목적과 KPI ③ 저장 용량 ④ 실시간 처리 여부
정답: ② 분석 목적과 KPI
→ 목표가 명확해야 설계도 방향이 잡힙니다. - 데이터 마트와 웨어하우스의 차이에 대한 설명으로 옳은 것은?
① DW는 부서 전용, 마트는 전사 전용
② DW는 소규모, 마트는 대규모
③ 마트는 분석 부서 중심, DW는 통합 저장소
④ 둘은 동일 개념이다
정답: ③ 마트는 분석 부서 중심, DW는 통합 저장소 - 데이터 마트를 활용하는 주요 이유는?
① 대규모 보안 저장용
② 사용자의 빠른 분석 지원
③ 전사 데이터 백업
④ 하드웨어 비용 절감
정답: ② 사용자의 빠른 분석 지원 - 데이터 마트를 구축할 때 가장 적절한 방식은?
① 무작위 샘플링
② 목적 중심 설계
③ 전체 DB 복사
④ 클라우드 임의 배치
정답: ② 목적 중심 설계
데이터 마트는 분석의 효율성과 정확성을 극대화할 수 있는 구조예요. 다음 파트에서는, 수집하고 정제한 데이터를 마트에 넣기 위해 꼭 필요한 프로세스, ETL을 본격적으로 살펴볼 차례입니다.
4. ETL 개요와 프로세스 흐름 [모의고사 포함]
데이터 마트를 만들었다고 끝이 아니에요! 그 안에 분석 가능한 데이터를 ‘넣는’ 과정이 바로 ETL입니다.
ETL은 Extract(추출) → Transform(변환) → Load(적재)라는 3단계 과정을 의미해요. 이 과정을 통해 원시 데이터를 정제·가공해서 마트에 실어 나르는 ‘데이터 이동의 고속도로’ 같은 역할을 합니다. 🚚
① Extract – 데이터 추출
가장 먼저 해야 할 일은 데이터가 있는 곳에서 필요한 데이터만 ‘추출’하는 거예요. 이 데이터는 데이터베이스일 수도 있고, 외부 API, 텍스트 파일, 로그 등일 수도 있죠.
- SQL 쿼리를 이용해 DB에서 추출
- API 호출로 실시간 데이터 확보
② Transform – 데이터 변환
추출한 데이터를 그대로 넣으면 안 돼요. 분석 목적에 맞게 구조를 바꾸고, 필요 없는 값을 제거하고, 포맷을 정리하는 작업이 필요하죠. 이 과정에서 dplyr
과 tidyr
패키지가 큰 힘을 발휘합니다.
③ Load – 데이터 적재
정제된 데이터를 데이터 마트, 데이터베이스, 분석 플랫폼 등에 적재(Load)하는 단계예요. 이때 스케줄링(예: 하루 1회 적재), 오류 검증, 백업 등의 작업도 함께 수행돼요.
🔍 모의고사 문제 (ETL 개요)
- ETL의 세 단계가 아닌 것은?
① Extract ② Transpose ③ Transform ④ Load
정답: ② Transpose
→ Transpose는 행/열 전환 기능이며 ETL의 구성 요소가 아닙니다. - Transform 단계에서 주로 수행하는 작업이 아닌 것은?
① 포맷 변환 ② 결측치 처리 ③ 데이터 요약 ④ 데이터 백업
정답: ④ 데이터 백업 - Load 단계에서 수행하는 작업으로 가장 적절한 것은?
① 웹 크롤링 ② 시각화 ③ DB 적재 ④ 이상치 탐지
정답: ③ DB 적재 - ETL의 주요 목적 중 하나로 옳은 것은?
① 데이터를 랜덤하게 샘플링
② 분석 가능한 구조로 변환
③ 대용량 저장을 위한 압축
④ 네트워크 속도 향상
정답: ② 분석 가능한 구조로 변환 - ETL 과정에서 가장 먼저 수행하는 단계는?
① Transform ② Load ③ Extract ④ Validate
정답: ③ Extract
이제 ETL 프로세스의 큰 그림이 보이시죠? 다음 파트에서는 실제 현업에서 많이 사용하는 ETL 도구들을 비교해보고, 어떤 상황에서 어떤 도구를 쓰는 게 좋은지도 함께 살펴볼 거예요.
5. ETL 도구 비교 및 선택 팁 [모의고사 포함]
ETL을 직접 구현할 수도 있지만, 현실에선 대부분 전용 ETL 도구를 사용해요. 특히 대용량 데이터를 다룰 땐 자동화된 툴이 진짜 제맛이죠. ✨
ETL 도구는 종류도 많고 기능도 다양해서 처음엔 어떤 걸 선택해야 할지 막막할 수 있어요. 여기선 실무에서 자주 쓰이는 대표적인 도구들과 각자의 특징을 비교해볼게요.
① 대표적인 ETL 도구 비교
도구명 | 특징 | 활용 예 |
---|---|---|
Talend | 오픈소스, GUI 기반, 다양한 커넥터 | 중소기업, 정기 리포트 자동화 |
Apache NiFi | 실시간 스트리밍 처리에 강함 | IoT, 로그 수집 파이프라인 |
Airflow | Python 기반 워크플로우 자동화 | 데이터 엔지니어링 파이프라인 |
Keboola | 클라우드 SaaS, 빠른 구축 | 스타트업 분석 자동화 |
② ETL 도구 선택 팁
- GUI 기반이 필요한 경우 Talend 추천
- 실시간 처리라면 Apache NiFi 고려
- 파이썬 친화적이라면 Airflow가 적합
- 빠른 MVP가 필요하다면 Keboola 사용
🧠 모의고사 문제 (ETL 도구)
- ETL 도구 중 실시간 스트리밍 처리에 강점을 가진 것은?
① Talend ② Apache NiFi ③ Airflow ④ Excel
정답: ② Apache NiFi
→ 데이터 흐름 관리와 실시간 처리에 특화된 오픈소스입니다. - Python 코드 기반 워크플로우 관리에 적합한 도구는?
① Airflow ② Talend ③ Hadoop ④ Power BI
정답: ① Airflow - Keboola는 어떤 형태로 제공되는가?
① 데스크탑 앱 ② 오프라인 설치 ③ SaaS 기반 ④ 하드웨어 장비
정답: ③ SaaS 기반 - 다음 중 ETL 도구로 분류되지 않는 것은?
① Apache NiFi ② Talend ③ Excel ④ Airflow
정답: ③ Excel
→ Excel은 분석 도구로는 쓰이지만, 전통적 ETL 도구는 아니에요. - GUI 중심 도구로 초보자도 사용하기 쉬운 도구는?
① Talend ② NiFi ③ Airflow ④ Spark
정답: ① Talend
이제 ETL 도구의 종류와 사용 시 고려할 점까지 한눈에 파악하셨죠? 마지막으로, 지금까지 학습한 내용을 정리하고 종합 문제로 마무리해볼게요! 🎯
6. 종합 실전 모의고사 문제 풀이 [정답·해설 포함]
이제까지 학습한 내용을 한 번에 복습할 수 있는 실전 모의고사 문제입니다. 데이터 수집부터 정제, 마트 설계, ETL 개념과 도구까지 전 범위를 아우르기 때문에, ADsP 시험 준비에도 큰 도움이 될 거예요. 각 문항마다 정답과 해설을 함께 제공하니 틀린 문제도 바로바로 복습할 수 있습니다. ✏️
- 다음 중 외부 데이터 수집 방식으로 적절하지 않은 것은?
① Open API 활용
② Web scraping
③ 로컬 저장소에서 복사
④ 공공데이터포털 이용
정답: ③ 로컬 저장소에서 복사
→ 외부 수집이라기보단 내부 접근 방식입니다. - 결측치를 평균으로 대체하려고 할 때 사용하는 R 함수는?
① mean(x, na.rm=TRUE) ② na.omit(x) ③ is.na(x) ④ median(x)
정답: ① mean(x, na.rm=TRUE)
→ 결측치를 제거한 후 평균을 계산할 수 있습니다. - 다음 중 데이터 마트의 설명으로 옳지 않은 것은?
① 전사적 분석을 위한 데이터 통합 저장소
② 부서 중심으로 설계
③ 분석 속도와 효율성을 높임
④ 특정 주제에 특화
정답: ① 전사적 분석을 위한 데이터 통합 저장소
→ 이는 데이터 웨어하우스(DW)에 해당하는 설명입니다. - ETL에서 Transform 단계에 해당하는 작업은?
① DB 적재 ② 원시 데이터 수집
③ 이상치 제거 ④ 실시간 모니터링
정답: ③ 이상치 제거
→ 변환 단계에서 데이터 정제와 가공 작업이 수행됩니다. - ETL 도구 중 워크플로우 기반 파이썬 자동화에 적합한 것은?
① Airflow ② Talend ③ Power BI ④ Hadoop
정답: ① Airflow
→ Python 기반의 작업 흐름을 자동화하는 데 특화된 도구입니다.
이제 외부 데이터 수집부터 정제, 마트 설계, ETL 프로세스와 도구까지 전 영역을 학습하며 기초를 탄탄히 다졌습니다. 모의고사 문제를 반복 학습하면, 실전에서도 흔들림 없이 대응할 수 있을 거예요. 다음 Step에서는 학습을 마무리하면서 장단기 전략과 실무 연결 팁까지 함께 정리해드릴게요.
마무리하며: 데이터 흐름을 꿰뚫는 힘, ETL 전략으로 완성하세요
데이터 분석이란 결국 '좋은 질문을 던지고, 그에 답할 수 있는 데이터를 잘 준비하고, 제대로 다루는 것'입니다. 오늘 배운 외부 데이터 수집부터 정제, 데이터 마트 설계와 ETL 프로세스까지의 흐름은 ADsP 시험뿐 아니라 실제 현업에서도 똑같이 요구되는 실질적인 역량이기도 해요. 이제 여러분은 단순히 데이터를 ‘받는’ 입장이 아니라, 필요한 데이터를 어디서 어떻게 구해와야 하는지 알고, 그걸 깨끗하게 정리하고 구조화해서 분석 가능한 형태로 마트에 구성할 수 있는 흐름을 이해하게 되었어요. 이 능력이야말로 분석가의 진짜 무기입니다.
📌 학습 전략 인사이트
- 단기 전략: 각 개념별 모의고사 반복 풀이 → 핵심 키워드 정리 → 유형별 문제 접근법 익히기
- 장기 전략: 실제 오픈 데이터 활용 실습 → R 코드로 ETL 프로세스 구성 → 마트 구축 경험 쌓기
- 실무 연결 팁: 분석할 데이터가 없을 때, 공공 API, 웹 크롤링, 설문 수집을 적극 활용하세요.
오늘도 끝까지 읽어주셔서 감사합니다. 여러분의 데이터 분석 여정이 더 뾰족하고, 더 정교해지길 진심으로 응원할게요! 🙌
'ADsP' 카테고리의 다른 글
[ADsP - 데이터 분석] 확률·확률분포·추정·가설검정 (0) | 2025.05.19 |
---|---|
[ADsP - 데이터 분석] 결측치·이상치 탐지 & 처리, 스케일링, 피처엔지니어링 (0) | 2025.05.18 |
[ADsP - 데이터 분석] Tidyverse의 핵심 dplyr과 tidyr 완전 정복 (0) | 2025.05.16 |
[ADsP - 데이터 분석] RStudio 완전 정복! 벡터·팩터·데이터프레임으로 시작하는 R 프로그래밍 기초 (1) | 2025.05.15 |
[ADsP - 데이터 분석 기획] 데이터·분석 거버넌스 완전 정복 (1) | 2025.05.14 |