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
'빅데이터 분석기사[python] > 데이터 분석' 카테고리의 다른 글
[데이터 분석] 1-5. 데이터 품질 검증 (0) | 2024.12.23 |
---|---|
[데이터 분석] 1-3. 데이터 변환 (0) | 2024.12.23 |
기본적 데이터 분석을 위한 기초 SQL문 (0) | 2024.12.22 |
[데이터 분석] 1-2. 데이터 유형 및 속성 파악 (0) | 2024.12.22 |