TOP
class="layout-aside-left paging-number">
본문 바로가기
자격증/빅데이터분석기사

[빅데이터 분석기사] 1과목 빅데이터 분석 기획 (3-1-1)

by 기록자_Recordian 2024. 3. 11.
728x90
반응형

[목차]

[빅데이터 분석기사] 시험 과목 및 주요 내용 (필기)

빅데이터 분석기사 (필기) 시험 과목 및 주요 내용 출처: 데이터자격검정 (dataq.or.kr) 필기과목명 주요항목 세부항목 세세항목 빅데이터 분석 기획 빅데이터의 이해 빅데이터 개요 및 활용 빅데이

puppy-foot-it.tistory.com


빅데이터 분석 기획 - 데이터 수집 및 저장 계획

< 데이터 수집 및 전환>

1. 데이터 수집

(1) 수집 데이터 대상

유형설명분야
내부
데이터
-조직 (인프라) 내부에 데이터가 위치하며, 데이터 담당자와 수집 주기 및 방법 등을 협의하여 데이터를 수집
- 내부 조직 간 협의를 통한 데이터 수집
- 주로 수집이 용이한 정형 데이터
- 서비스의 수명 주기 관리가 용이
서비스 (SCM, ERP, CRM, 포털 등)
네트워크 (백본, 방화벽, 스위치, IPS 등)
마케팅 (VOC 접수 데이터, 고객 포털 시스템 등)
외부
데이터
- 조직(인프라) 외부에 데이터가 위치하며, 특정 기관의 담당자 협의 또는 데이터 전문 업체를 통해 데이터 수집
- 공공 데이터의 경우에는 공공 데이터 포털을 통해 Open API 또는 파일을 통해 수집
- 외부 조직과 협의, 데이터 구매, 웹상의 오픈 데이터를 통한 데이터 수집
- 주로 수집이 어려운 비정형 데이터
소셜 (SNS, 커뮤니티, 게시판)
네트워크 (센서 데이터, 장비 간 발생 로그)
공공 (정부 공개 경제, 의료, 지역정보, 공공 정책, 과학, 교육, 기술 등의 공공데이터)

 
(2) 데이터 수집 방식 및 기술
 
1) ETL(Extract Transform Load)
데이터 분석을 위한 데이터를 데이터 저장소인 DW(Data Warehouse) 및 DM (Data Mart)으로 이동시키기 위해 다양한 소스 시스템으로부터 필요한 원본 데이터를 추출하고 변환하여 적재하는 작업 및 기술

  • 추출(Extract): 동일 기종 또는 이기종 소스 데이터베이스로부터 데이터를 추출
  • 변환(Transform): 조회 또는 분석을 목적으로 적절한 포맷이나 구조로 데이터를 저장하기 위해 데이터 변환
  • 적재(Load): 추출 및 변환된 데이터를 최종 대상(DW 또는 DM) 에 저장

2) FTP(File Transfer Protocol)
TCP/IP를 기반으로 서버, 클라이언트 사이에서 파일 송수신을 하기 위한 프로토콜 (TCP프로토콜 / 20, 21번 포트 번호 사용)
 
3) 스쿱(Sqoop)
커넥터를 사용하여 관계형 데이터베이스 시스템 (RDBMS) 에서 하둡파일 시스템(HDFS)으로 데이터를 수집하거나, 하둡 파일 시스템에서 관계형 데이터베이스 시스템으로 데이터를 보내는 기술
 
[특징]

  • 벌크임포트 지원: 전체 데이터베이스 또는 테이블을 HDFS로 한 번에 전송 가능
  • 데이터 전송 병렬화: 시스템 사용률과 성능을 고려한 병렬 데이터 전송
  • 직접 입력 제공: RDB에 매핑해서 HBase와 Hive에 직접 임포트 제공
  • 프로그래밍 방식의 데이터 인터랙션: 자바 클래스 생성을 통한 데이터 상호작용

[구성요소]

  • 스쿱 클라이언트: 스쿱 1에서 지원하며, 클라이언트 기반으로 import와 export 제공
  • 스쿱 서버: 스쿱 2에서 지원하며, 클라이언트의 요청을 받아 작업을 수행
  • 커넥터: FTP, JDBC, HDFS, 카프카 등과 연결하여 데이터의 이동을 수행하는 기술
  • Import: 다른 저장소 (RDBMS)의 데이터를 지정된 저장소(HDFS, Hive, HBase)로 가져오기 기능
  • Export: 저장소의 데이터를 다른 저장소(RDBMS)로 내보내기 기능

4) 스크래파이 (Scrapy)
파이썬 언어 기반의 비정형 데이터 수집 기술
 
[특징]

  • 파이썬 기반
  • 단순한 스크랩 과정
  • 다양한 부가 요소

[주요 기능]

  • Spider: 크롤링 대상 웹 사이트 및 웹 페이지의 어떤 부분을 스크래핑 할 것인지를 명시하는 기능
  • Selector: 웹 페이지의 특정 HTML 요소를 선택하는 기능 (LXML 기반으로 제작 가능)
  • Items: 웹 페이지를 스크랩하여 저장할 때 사용되는 사용자 정의 자료 구조
  • Piplelines: 스크래핑 결과물을 아이템 형태로 구성할 때 가공하거나 파일 형태로 저장 제공 가능
  • Settings: Spider와 Pipeline을 동작시키기 위한 세부 설정

5) 아파치 카프카(Apache Kafka)
대용량 실시간 로그 처리를 위한 분산 스트리밍 플랫폼
 
[특징]

  • 신뢰성 제공: 메모리 및 파일 큐(Queue) 기반의 채널 지원
  • 확장성 제공: Multi Agent 와 Consolidation, Fan Out Flow 방식으로 구성되어 수평 확장이 가능하며, 수집 분산 처리가 가능

[주요 기능]

  • 소스: 외부 이벤트 생성, 수집 영역, 1개로 구성되며 복수개의 채널 지정 가능
  • 채널: 소스와 싱크간 버퍼 구간, 채널별로 1개 싱크 지정
  • 싱크: 채널로부터 수집된 로그 또는 이벤트를 목적지에 전달 및 저장
  • 인터프리터: 수집된 로그 또는 이벤트를 가공

6) 플럼(Flume)
많은 양의 로그 데이터를 효율적으로 수집, 집계, 이동하기 위해 이벤트와 에이전트를 활용하는 기술
 
[특징]

  • 발행/구독 모델: 메시키 큐와 유사한 형태의 데이터 큐를 사용 / 풀방식으로 동작하여 부하 감소 및 고성능의 기능 제공
  • 고가용성 제공: 클러스터 구성을 통해 내결함성이 있는 고가용성 서비스 제공 가능 / 분산처리 통한 바른 실시간 데이터 처리
  • 파일 기반 저장 방식: 데이터를 디스크에 순차적으로 저장

[주요 기능]

세부항목설명
소스- 이벤트를 전달하는 컨테이너
- 소스, 채널, 싱크로 흐름 제어
- 에이전트 간 데이터 이동이 가능하며, 1개의 에이전트가 다수의 에이전트와 연결 가능
채널이벤트를 소스와 싱크로 전달하는 통로
싱크- 채널로부터 받은 이벤트를 저장, 전달
- 싱크 대상을 다중 선택하거나, 여러 개의 싱크를 그룹으로 관리

 
7) 스크라이브(Scribe)

  • 다수의 서버로부터 실시간으로 스트리밍 되는 로그 데이터를 수집하여 분산 시스템에 데이터를 저장하는 대용량 실시간 로그 수집 기술
  • 단일 중앙 스크라이브 서버와 다수의 로컬 스크라이브 서버로 구성되어 안정성과 확장성 제공

[특징]

  • 실시간 스트리밍 수집: 다수의 서버로부터 실시간으로 스트리밍되는 로그 수집 가능
  • 확장: 아파치 Thrift 기반 스크라이브 API를 활용하여 확장 가능
  • 데이터 수집 다양성: 클라이언트 서버 타입에 상관없이 로그 수집 가능
  • 고가용성: 단일 중앙 스크라이브 서버와 다중 로컬 스크라이브 서버로 구성 (중앙 스크라이브 서버 장애 시, 로컬 스크라이브 서버에 데이터를 저장한 후, 중앙 스크라이브 서버 복구 시 메시지를 전송)

8) 척와 (Chukwa)
분산된 각 서버에서 에이전트를 실행하고, 컬렉터가 에이전트로부터 데이터를 수집하여 하둡 파일 시스템에 저장, 실시간 분석 기능을 제공하는 기술
 
[특징]

  • HDFS 연동: 수집된 로그 파일을 HDFS에 저장하는 기능 지원
  • 실시간 분석 제공: 하둡 HDFS를 통한 실시간 분석 지원
  • 청크 단위 처리: 어댑터가 데이터를 메타데이터가 포함된 청크 단위로 전송

[구성]

에이전트 (Agent)- 어댑터를 포함한 에이전트를 통해 데이터 수집
- 컬렉터 페일오버 기능과 체크 포인트를 통해 데이터 유실 방지 기능 제공
컬렉터 (Collector)- 에이전트로부터 수집된 데이터를 주기적으로 HDFS에 저장
- 여러 에이전트로부터 수신된 데이터를 단일 싱크 파일에 저장

 
[데이터 처리]

아카이빙 (Achiving)- 컬렉터가 저장한 로그 파일에 대해 시간 순서로 동일한 그룹으로 묶는 작업 수행
- 데이터 중복 제거 및 정렬 작업을 수행하고 HDFS Sequence File 포맷으로 저장
디먹스 (Demux)- 로그 데이터를 파싱해서 Key-Value 쌍으로 구성되는 척와 레코드 (Chukwa Record)를 만들고, 하둡 파일 시스템에 파일로 저장

 
9) CEP (Complex Event Processing)

  • 여러 이벤트 소스로부터 발생한 이벤트를 실시간으로 추출하여 대응되는 액션을 수행하는 처리 기술
  • 실시간 상황에서 의미 있는 이벤트를 파악하고 가능한 빨리 대응 가능

10) EAI (Enterprise Application Intergration)

  • 기업에서 운영되는 서로 다른 플랫폼 및 어플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 연계 기술
  • 각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여줄 수 있으며 각 시스템 간의 확장성 증대

11) CDC (Change Data Capture)

  • 데이터 백업이나 통합 작업을 할 경우 최근 변경된 데이터들을 대상으로 다른 시스템으로 이동하는 처리 기술
  • 실시간 백업과 데이터 통합이 가능하여 24시간 운영해야 하는 업무 시스템에 활용

12) ODS (Operational Data Store)

  • 데이터에 대한 추가 작업을 위해 다양한 데이터 원천들로부터 데이터를 추출 및 통합한 데이터베이스
  • ODS 내 데이터는 비즈니스 지원을 위해 타 시스템으로 이관되거나, 보고서 생성을 위해 데이터 웨어하우스로 이관

13) 크롤링 (Crawling)
인터넷상에서 제공되는 다양한 웹 사이트로부터 소셜 네트워크 정보, 뉴스, 게시판 등의 웹 문서 및 콘텐츠 수집 기술
 
14) RSS (Rich Site Summary)
블로그, 뉴스, 쇼핑몰 등의 웹 사이트에 게시된 새로운 글을 공유하기 위해 XML 기반으로 정보를 배포하는 프로토콜을 활용하여 데이터를 수집하는 기술
 
15) Open API

  • 응용 프로그램을 통해 실시간으로 데이터를 수신할 수 있도록 공개된 API를 이용하여 데이터를 수집하는 기술
  • 센서 데이터, 공공 데이터 등의 정보 수집 가능

16) 스트리밍
네트워크를 통해 오디오, 비디오 등의 미디어 데이터를 실시간으로 수집하는 기술
 
17) API 게이트웨이 (Gateway)
시스템의 전방(Front-End)에 위치하여 클라이언트로부터 다양한 서비스를 처리하고, 내부 시스템으로 전달하는 미들웨어
 


이전글

[빅데이터 분석기사] 1과목 빅데이터 분석 기획 (2-2)

 
다음글

[빅데이터 분석기사] 1과목 빅데이터 분석 기획 (3-1-2)

728x90
반응형