MLOps 개발자 양성과정/bigdata

[Day-81] 빅데이터 이해하기/파일럿 프로젝트

숲로 2023. 4. 18. 17:55

chap01. 빅데이터 이해하기

 

1-1. 빅데이터의 개념

 

1) 빅데이터의 정의: 6v

  • 크기(Volume): 방대한 양의 데이터(테라, 페타바이트 이상의 크기)
  • 다양성(Variety): 정형(DBMS. 전문 등) + 비정형(SNS. 동영상, 사진, 음성. 텍스트 등)
  • 속도(Wlocity): 실시간으로 생산되며, 빠른 속도로 데이터를 처리/분석
  • 진실성(Veracity): 주요 의사결정을 위해 데이터의 품질과 신뢰성 확보
  • 시각화(Visualzation): 복잡한 대규모 데이터를 시각적으로 표현
  • 가치(Value): 비즈니스 효익을 실현하기 위해 궁극적인 가치를 창출

 

2) 빅데이터의 목적

- 성공적인 빅데이터 시스템의 구축과 운영을 위해 반드시 갖춰야 할 세 가지 요소: 사람, 기술, 데이터

- 이후 인사이트를 발견하며 비용 절감, 수익 창출, 문제 해결이 라는 빅데이터의 최종 목적을 달성

 

 

1-2. 빅데이터 구현 기술

 

1) 수집 기술

 

- 빅데이터 수집 아키텍처 선형 확장 분산 처리가 가능한 형태로 구성

- 정형/비정형 데이터 대용량으로 수집

- 대용량 파일 수집과 실시간 스트림 수집으로 구분

- 수집된 원천 데이터는 정제, 변환 작업, 필터링 등 처리과정 필요

- 품질이 향상된 데이터를 빅데이터 저장소에 적재

 

* (실시간 수집 시) 수집된 데이터로부터 이벤트를 감지해서 빠른 후속 처리를 할 수 있는 기술

CEP(Complex Event Processing):
실시간으로 발생되는 많은 사건 중에서 의미가 있는 것만 추출할 수 있도록
사전에 발생 조건을 정의해서 수집하는 개념

ㆍESP(Event Stream Processing):
실시간으로 전송되는 대용량 데이터를 기반
① 서비스와 서비스간 교환 형태
② (플랫폼이 다른 경우) 이종간 데이터 전환-교환
③ 서비스 간에 대용량 데이터들을 주고받을 때 신뢰성 있게 주고받을 수 있도록 처리하는 기술

 

2) 적재 기술

- 수집한 데이터를 분산 스토리지에 영구 또는 임시로 적재하는 기술

* 크게 4가지 유형
- 대용량 파일 전체를 영구적으로 저장하기 위한 HDFS (→Hadoop) 
- 메시징 데이터 전체를 영구 저장하기 위한 NoSQL (→HBase)
- 메시징 데이터의 일부만 임시저장하기 위한 인메모리 캐시 (→Redis)
- 메시징 데이터 전체를 버퍼링 처리하기 위한 Message Oriented Middleware (→Kafka)

 

3) 처리/탐색 기술

- 적재된 데이터를 분석에 활용하기 위해 데이터를 정형화 및 정규화하는 기술

- 지속적으로 탐색적 분석과 탐색 결과를 정기적으로 구조화하는 작업 수행

- SQL on Hadoop 사용, 애드훅(Ad-Hoc) 쿼리로 작업 수행

- 새로운 데이터셋을 생성하는 중요한 작업 진행

 

4) 분석/응용 기술

- 대규모 데이터로부터 새로운 패턴을 찾고, 패턴을 해석해 통찰력을 확보하기 위한 기술

- 통계, 데이터 마이닝, 텍스트 마이닝, sns 분석, 머신러닝/딥러닝 등

- 분산환경 위에서 머신러닝 기술을 구현해 군집, 분류, 회귀, 추천 등의 고급 분석 영역까지 확장

 

 

1-3. 빅데이터와 보안

1) 데이터 보안

- 개인과 기업의 정보 보호를 위한 정책과 기술

개인정보 비식별화 기술: 가명처리, 총계처리, 데이터 값 삭제, 범주화, 마스킹

* 비식별화된 개인정보 처리 이슈

① 개인정보 재식별화 (주변 다른 데이터와 결합 시 특정 개인의 식별력이 높아지는 경우)

② 개인정보 보호로 인해 개인화된 서비스 또는 마케팅의 어려움

 

2) 접근제어 보안

- 금융권 및 민감한 개인정보를 다루는 빅데이터 시스템의 경우 엄격 한 접근제어 정책과 보안 준수를 요구

- 아파치 녹스(Apache Knox), 아파치 센트리(Apache Sentry), 아파치 레인저(Apache Ranger), 커베로스(Kerberos) 등

 

 


chap02. 빅데이터 파일럿 프로젝트

 

 

 

2-1 파일럿 프로젝트 도메인의 이해

 

- 구축할 시스템에 대한 도메인과 유스케이스를 이해하는 것 프로젝트 진행 시 가장 기본

- 무엇을 하는 시스템인지, 어떤 프로세스를 통해 사용자에게 가치를 만들어내는지 이해하는 것 중요

 

도메인:
자동차의 최첨단 전자장치와 무선통신을 결합한 스마트카 서비스

요구사항:
① 차량의 다양한 장치로부터 발생하는 로그 파일을 수집해서 기능별 상태를 점검
② 전자의 운행 정보가 담긴 로그를 실시간으로 수집해서 주행 패턴을 분석

 

 

데이터셋 살펴보기

스마트카에서 발생하는 기본 데이터셋은 총 4가지 유형을 사용

  1. 스마트카 상태 정보 데이터 : 스마트카의 각종 센서로부터 발생하는 차량의 상태 정보 데이터셋
  2. 스마트카 운전자 운행 데이터 : 스마트카 운전자의 운전 패턴/운행 정보가 담긴 데이터셋
  3. 스마트카 운전자 운행 데이터 : 스마트카 운전자의 프로파일 정보가 담긴 데이터셋
  4. 스마트카 물품 구매 이력 데이터 : 스마트카 운전자가 차량 내의 스마트 스크린을 통해 쇼핑몰에서 구입한 차량 물품 구매 목록 데이터셋

 

2-2 파일럿 아키텍처 이해

 

 

 

 

2.3 빅데이터 파일럿 프로젝트용 pc환경 구성

1) 빅데이터 개발 환경 구성: 개인 윈도우 PC

  1. 자바 설치
  2. 이클립스 설치
  3. 오라클 버추얼박스 설치 Oracle (https://www.virtualbox.org/)
  4. 가상머신에 CentOS 리눅스 설치 (http://mirror.kakao.com/centos/7.9.2009/isos/x86_64/)
  5. 기타도구 설치 : putty, 파일질라, 크롬, 예제코드

 

2) 빅데이터 서버 환경 구성: 개인 윈도우 PC 위의 리눅스 가상 머신 3대

  1. 클라우데라 매니저(Cloudera Manager) 설치 (https://drive.google.com/file/d/1oLikMIC6bzt0jNV0n49YNOM0foNPXDZh/view)
  2. 빅데이터 에코시스템 설치 : 하둡, 주키퍼 등 기본 구성