빅데이터 분석기사[python]/데이터 분석

[데이터 분석] 1-1. 데이터 수집

sunning 2024. 12. 22. 21:33
728x90
데이터 원천(Data source); 데이터를 생성하는 근원지 - 센서( IoT 기기, 자동차, 스마트폰에서 발생하는 데이터 ), 시스템 및 플랫폼( ERP 시스템, CRM 소프트웨어, 로그 파일 등 ) 등
데이터 수집;
조직 내/외부에 분산된 다양한 데이터 원천으로부터 필요 데이터를 검색하여 수동/자동으로 데이터를 수집하는 단계
데이터 수집의 목표; 분석, 모델링 등의 목표에 맞는 데이터를 효율적으로 모으는 것을 목표로 함

 

빅데이터 수집 기법

기법 특징 대상
Log Aggregator 웹 서버 로그, 웹로그, 트랜잭션 로그, DB 로그 등 각종 서비스 로그 수집 오픈 소스 기술 로그 데이터 수집
크롤링 SNS, 웹, 뉴스 정보 등 인터넷 상에서 제공되는 웹 문서에 대한 정보 수집 웹 문서 수집
스크래핑 인터넷 웹 사이트에 노출되는 내용 중 특정 정보만을 추출하고, 추출과 관련된 모든 동작을 자동으로 수행하는 기술 웹 데이터 수집
FTP TCP/IP 프로토콜을 이용하여 인터넷 서버로부터 각종 파일들을 송수신 파일 수집
Open API 서비스, 정보, 데이터 등 오픈된 정보로부터 API를 통해 데이터를 수집하는 기술 실시간 데이터 수집
RSS 웹 상의 최신 정보를 공유하기 위한 XML 기반의 콘텐츠 배급 프로토콜 Contents 수집
Streaming 인터넷에서 음성, 오디오, 비디오 등 멀티미디어 데이터실시간으로 송/수신할 수 있는 기술 실시간 데이터 수집
RDB Aggregator 관계형 데이터베이스에서 정형 데이터를 수집하여 HDFS나 NoSQL에 저장하는 오픈 소스 기술 RDB 기반 데이터 수집
  • 정형 데이터 수집 기법
종류 주요 특징
ETL(Extract Transform Load) - 다양한 데이터 원천으로부터 수집한 데이터를 데이터 웨어하우스와 데이터 마트로 원 데이터를 이동시키기 위해 사용하는 추출, 변환, 적재 프로세스 및 기술
FTP(File Transfer Protocol) - TCP/IP 프로토콜을 통해 원거리의 서버와 클라이언트 사이 파일 전송을 위한 프로토콜
- 클라이언트가 데이터를 수신 받을 포트를 먼저 알려주는 Active FTP 방식과 서버가 임의로 알려준 포트에 클라이언트가 접근하는 Passive FTP 방식이 있음
API(Application Programming Interface) - 응용 프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
- 시스템 간 연동을 통해 실시간으로 데이터를 수신할 수 있는 기능 제공
Sqoop(스쿱) - 구조화된 관계형 데이터베이스와 아파치 아둡 간의 대용량 데이터들을 효율적으로 변환하여 주는 명령 줄 인터페이스 애플리케이션
- 오라클/MySQL과 같은 RDBMS에서 하둡 분산 파일 시스템으로 데이터들을 가져와서 그 데이터들을 하둡 맵리듀스로 변환하고 변환된 데이터들을 다시 RDBMS로 내보낼 수 있게 하는 기능 제공
- 장애 허용 능력 및 병렬 처리 가능
  • 반정형 데이터 수집 기법 - Scribe/ Flume/ Chukwa
  • 비정형 데이터 수집 기법 - 스크래피/ 아파치카프카/ 웹 로봇/ 웹 크롤러

데이터 소스에 따른 수집 방법

- 데이터 소스의 위치에 따라 내부 데이터와 외부 데이터로 구분 가능

데이터 원천 개념 대표적 수집 방법
내부 데이터 자체적으로 보유한 내부 파일 시스템, RDBMS, 센서 등에 접근하여 수집 ETL 방식
- Extraction(추출): 데이터 원천에서 필요 데이터 추출
- Transform(변환): 분석에 적절한 구조로 데이터를 저장하기 위해 데이터 변환
- Loading(적재): 목표 시스템(ex. 데이터 웨어하우스)로 데이터 전송 및 적재
외부 데이터 인터넷으로 연결된 외부 데이터 수집 크롤링
- 웹 페이지 내용 전체를 수집(scrapping)하여 저장하고자 하는 대상을 추출하여 데이터화 하는 것

빅데이터 수집 시스템의 요건

- 빅데이터 수집 시스템; 다양한 데이터 원천으로부터 데이터 수집을 위해 확장성/ 안정성/ 유연성/ 실시간성의 요건을 확보해야 함

  • 확장성; 데이터 수집의 대상이 되는 서버는 충분한 확장이 가능
  • 안전성; 수집된 데이터는 유실, 변경, 삭제되지 않고 안정적으로 저장
  • 유연성; 다양한 데이터 원천의 여러 포맷에 적용할 수 있도록 변경이 용이
  • 실시간성; 수집된 데이터는 실시간으로 반영

빅데이터 수집 절차

절차 수집 대상 선정 수집 계획 수립 수집 실행
내용 - 수집 도메인 도출
- 수집 데이터셋 도출
- 수집 리스트 작성
- 수집 대상 부서 파악
- 데이터 제공 여부 협의
- 데이터 유형 및 속성 확인
- 수집 환경 및 표준 파악
- 수집 주기 및 용량 파악
- 수집 연동 및 포맷 파악
- 수집 기술 선정
- 수집 정의서 및 계획서 작성
- 단위 테스트 진행
- 연동 테스트 진행
- 데이터 수집 실행
- 데이터 적재 처리

 

728x90