[20121130]빅데이터 세미나 준비자료 - Leminity

Download Report

Transcript [20121130]빅데이터 세미나 준비자료 - Leminity

빅데이터
스마트 커머스
김민수
http://insahara.tistory.com
1. BigData 실제 적용 사례
2. 빅데이터란
1)빅데이터 부각 배경
2)빅데이터 정의
3)빅데이터 활용
3. 빅데이터 관련 기술(Hadoop)
1)Hadoop Distributed File System(HDFS)
2)MapReduce
3)하둡 설정
4)File I/O Example
5)MapReduce Example
4. 빅데이터 시장 현황
5. 빅데이터 시사점
http://insahara.tistory.com
2 /60
1. BigData 실제 적용 사례
http://insahara.tistory.com
1. BigData 실제 적용 사례
베노 플러스
- 멍에 쓰이는 의약품
- 제조회사의 타겟 : 어린이
Question
-해당 제품 분야의 시장 상황은?
데이터 분석
-이 제품의 경쟁 제품은 무엇일까?
-다른 타겟층 시장의 현황은?
http://insahara.tistory.com
<Social Metrics Service(다음)>
4 /60
1. BigData 실제 적용 사례
시장 데이터 분석 결과는?
- 여성 시장의 규모는 어린이 시장의 4배 이상
- 현재 시장엔 여성을 타겟으로 한 제품은 없음
- 현재 시장을 점유하고 있는 경쟁 제품?
<소고기>
http://insahara.tistory.com
<달걀>
5 /60
1. BigData 실제 적용 사례
데이터를 통한 의사 결정
1.시장 현황 확인 및 분석 (시장 발견)
- 인지하지 못했던 여성 타겟 시장 존재 및 규모 확인
- 해당 분야에서 여성 시장을 공략중인 제품의 부재
2.근거 기반의 의사 결정 (마케팅 전략 수립)
- 해당 제품 인지도 상승 및 여성을 타겟팅 중점 마케팅
http://insahara.tistory.com
6 /60
2. BigData 정의
http://insahara.tistory.com
2. BigData의 정의
1)BigData 부각 배경
SNS 데이터 생산량
사진 업로드 : 한달 30억 건(= 3,000,000,000)
메 시 지 : 한달 300억 건(= 300,000,000,000)
메시지 : 하루 1억 건(= 100,000,000)
http://insahara.tistory.com
8 /60
2. Big Data의 정의
1)BigData 부각 배경
분산처리기술
BigData
환경적 요소
스마트 기기
소셜 네트워크
클라우드 컴퓨팅
http://insahara.tistory.com
9 /60
2. Big Data의 정의
2)빅 데이터(Big Data) 정의
-현재 빅 데이터에 대한 정의는 단체마다 약간의 차이가 있음
1.WEKIPEDIA
- 기존 데이터 베이스 관리 도구의 데이터 수집, 저장, 관리, 분석의 역량을 넘어선 대량의 정형
or 비정형 데이터 세트로부터 가치를 추출,분석하는 기술
2.IDC
- 다양한 데이터로 구성된 방대한 볼륨의 데이터로부터 고속 캡처, 데이터 탐색 및 분석을 경제적으로
필요한 가치를 추출할 수 있도록 디자인된 차세대 기술과 아키텍쳐
3.McKinsey & Company
- 기존 데이터 관리 도구의 데이터 수집, 저장, 관리, 분석의 역량을 넘어선 대량의 데이터 셋
4.SAS
- 데이터의 볼륨, 다양성 및 속도가 정확하고 시기 적절한 의사 결정을 내리는 데 필요한
조직의 저장 또는 계산 능력을 초과하는 경우
http://insahara.tistory.com
10 /60
2. Big Data의 정의
2)빅 데이터(Big Data) 정의
빅데이터 정의에 대한 공통점
대용량(Volume)
데이터 분석에 필요한 데이터의 양
다양성(Variety)
다양한 형태로 존재하는 DATA
빠른속도(Velocity)
고성능 분산 병렬 처리 기술의 보급
* 그 외 가치(Value), 복잡성(complexity) 등이 존재
http://insahara.tistory.com
11 /60
2. Big Data의 정의
빅 데이터(Big Data)란
다양한(Variety) 형태로 수집&저장된
대용량(Volume)의 데이터들을
빠른 속도(Velocity)로 분석하여,
일정한 패턴을 찾아내고,
새로운 가치를 창출하는 것.
데이터의
http://insahara.tistory.com
12 /60
2. Big Data의 정의
빅 데이터 활용을 위한 3대 요소
기술
빅 데이터 활용을
위한 3대 요소
인력
자원
기술 : 빅데이터 관련 기술(Hadoop, R, no-sql 등) 및 데이터 분석 기법의 인지와 활용
인력 : 분석을 통해 가치를 발견하고 만들어내는 것은 사람
자원 : 활용할 수 있는 자원의 발견 및 확보 전략
http://insahara.tistory.com
13 /60
2. Big Data의 정의
빅데이터 분석을 통해 할 수 있는 것들..
업무 시스템 데이터
로그 데이터 Web, 사이트, 블로그
소셜 미디어
영상/동영상
빅 데이터 분석 + 판단
이변, 이상현상
감지
http://insahara.tistory.com
가까운
미래 예측
현 상황 분석
14 /60
2. Big Data의 정의
이상/이변현상 사례(네이버)
<기사일자 : 2012-09-24 출처:주간 조선>
- 사용자들의 검색/조회 로그 내역의 분석을 통해 특정 지역 혹은 사회 이슈 파악 가능
-사례로, 특정 지역에서 감기라는 검색어의 빈도수가 높아질 경우 해당 지역에 감기가 유행하기
시작했음을 감지 가능
http://insahara.tistory.com
15 /60
2. Big Data의 정의
가까운 미래 예측 사례(T 모바일)
<기사일자 : 2012-09-24 출처:MK 뉴스>
- 2011년 1분기 타 통신사로 이동한 고객 수 99,000명
- 매일 170억건 이상 쏟아지는 통화 송수신 내역 분석을 통해 타 통신사로 변경한 고객의 패턴 발견
- 탈퇴 징후가 보이는 고객에게 맞춤 혜택을 제공함으로써 이탈자 수 5만명가량으로 감소
http://insahara.tistory.com
16 /60
2. Big Data의 정의
현 상황 분석 사례(ZARA)
- 각 판매점의 판매 및 재고현황 실시간 분석
- 최대 매출 달성 위한 재고 최적 분배 시스템 개발
- 고객의 Needs를 실시간 반영함으로써 불필요한
재고의 효율적 분배 가능
- 매장 판매현황의 분석을 통해 인기제품의 파악
및 생산 시스템에 연결함으로써 매출 극대화
패스트 패션 기업의 경영성과(2006~2010)
<자료:Thomson Research>
http://insahara.tistory.com
17 /60
3. BigData 기술(Hadoop)
1)Hadoop Distributed File System(HDFS)
2)MapReduce
3)Hadoop File I/O & MapReduce Sample
http://insahara.tistory.com
3) BigData 기술
분석/처리 기술 – Hadoop
· 대용량 데이터 처리/분석을 위한 분산 컴퓨팅 지원 프레임워크
· 핵심 요소 : HDFS(분산 파일 시스템), Map Reduce
<Hadoop ECOSystem>
http://insahara.tistory.com
19 /60
3-1) Hadoop Distributed File System
HDFS Architecture
• Master-Slave 구조로 구성
• Namenode
1)파일의 메타데이터를 관리
2)읽기, 쓰기, 삭제, 수정 등의 Namespace 역할 수행
3)fsImage : Datablock의 메타데이터 관리
4)edits : 트랜잭션 발생 시 변경된 Namespace 내역 관리
• Datanode
1)실질적 데이터 저장소
2)Rack 단위 구성
<HDFS Architecture>
http://insahara.tistory.com
20 /60
3-1) Hadoop Distributed File System
분석/처리 기술 – Hadoop
HDFS 특징
Data Block 단위 저장
- 데이터를 블록 단위로 저장
복제본 생성(Replication)
- 복제본(Replica)를 생성을 통한 장애 대비
시스템 장애 대비(Rack Awareness)
- 장애 대비, 고가용성(HA) 구현을 위해 복제본이 한 군데 몰려있지않도록 관리
지역성 Data Read(Locality)
- Datanode를 사용자와 가까운 순으로 정렬하여 파일을 Read
일관성 Data Write(Consistency)
- 데이터의 일관성 유지를 위해 Replica 생성까지 Connection 유지
http://insahara.tistory.com
21 /60
3-1) Hadoop Distributed File System
HDFS File I/O Flow
-READ
1.
Read
요청
3.
정렬된
Datanode
순으로
2.
요청된
파일이
존재하는
4. Data
Datanode로부터
Data
read
Data
Block을
요청정렬하여
Datanode
위치를
Client에게 전송
<Data Read>
http://insahara.tistory.com
22 /60
3-1) Hadoop Distributed File System
HDFS File I/O Flow
-WRITE
1.Namenode에
2.정렬된
3.Datanode
5.
Write 작업
Datanode의
연결
및중인
Write
Connection
및 Datanode는
Write
정보를
작업 작업
요청
Response
종료
시작
4.데이터
Write
다른 Datanode에 연결(Pipe-Lining)
하여 복제본을 생성(Replication)
<Data Write>
http://insahara.tistory.com
23 /60
3-1) Hadoop Distributed File System
HDFS Check Point
- Primary Name의 fsImage와 edits를 Secondary Namenode가 병합 후
Primary Namenode에 반영하는 작업을 주기적으로 수행
1.Transaction 발생 시, 파일 변경내역을
edits에 저장
2.Secondary Namenode는 Primary
Namenode의 fsImage, edits 파일 요청
3.fsImage와 edits의 병합 수행
4.병합된 fsImage.ckpt를 Primary Namenode
에 반영
5.병합된 fsImage를 현재 fsImage와 교체
6. 주기마다 1-5를 반복 수행
Check Point Flow
http://insahara.tistory.com
24 /60
3-1) Hadoop Distributed File System
Hadoop 취약점 – SPOF(Single Point of failure)
- Datanode 장애에는 고가용성(HA)을 가지지만, 단일 Namenode 구성이라는 취약점이 존재
- Facebook에선 zookeeper를 통해 Namenode의 이중화 구성을 위한 Avatarnode 발표
고가용성(HA)를 위한 Avatar Node 설정
http://insahara.tistory.com
25 /60
Hadoop-MapReduce
http://insahara.tistory.com
3-2) MapReduce
Map Reduce
- 데이터 분산 처리를 위한 소프트웨어 Framework
- Master – slave 구조
구성 요소
JobTracker
– 사용자의 요청 작업을 Job 단위로 관리
– Job을 Queue 형태로 관리하여 Task Tracker에 Task를 할당
TaskTracker
– JobTracker가 할당하는 Task를 실행
– 하드웨어 스펙에 따라, 여러 개의 Task를 수행 가능
http://insahara.tistory.com
27 /60
3-2) MapReduce
분석/처리 기술 – Hadoop
Map Reduce Architecture
http://insahara.tistory.com
28 /60
3-2) MapReduce
분석/처리 기술 – Hadoop
Map Reduce
Map Task
Reduce Task
<Map/Reduce Task>
Map Task – 데이터를 분산처리 하는 과정
Reduce Task – Map Task의 결과를 하나의 결과물로 도출
http://insahara.tistory.com
29 /60
3-2) MapReduce
분석/처리 기술 – Hadoop
Map Reduce
11.다음 2가지 중 하나의 작업 수행
10.
1.
4.
5.
6.TaskTracker는
9.
7.
사용자의
JobTracker의
작업
TaskTracker
Task
System에서
수행을
수행
MapReduce프로그램
요청
위한
상태에
Queue에
JobTracker에
작업에
JVM
따라
프로세스(Child)
Job
필요한
Task를
상태
추가
실행
Resource를
할당
정보
전송(Heatbeat)
생성 조회하여
및
Job
객체
요청
생성
map
– split
되어있는
Datablock을
파일
시스템에서
가져와
작업
수행
후복사
로컬 파일
2.
MapReduce에
필요한
resource를
File
System에
저장Job
8.
3. File
작업에
RPC를
통해
필요한
Job
Resource를
Tracker에
File
작업
System에서
요청
TaskTracker의
Local로
저장 작성한 MapReduce jar파일
-job 시스템에
jar : 사용자가
reduce
– map
결과 파일을 가져와
reduce
작업 수행하며,
사용자가split
지정한
- job.split
– 입력데이터를
여러 개의
Task에서
수행할 수 결과물은
있도록 쪼개놓은
정보
파일–위치에
저장
- job.xml
사용자가
설정한 작업 관련 정보
http://insahara.tistory.com
30 /60
3-3)Hadoop 설정
http://insahara.tistory.com
3-3)Hadoop 설정
Hadoop 설치 및 기본환경 설정
준비 사항
O/S : Linux (Ubuntu 12.04에서 설치함)
JDK 1.6 이상
1.
Apache에서 하둡 다운로드(hadoop-1.0.4.tar.gz)
2.
하둡 압축 풀기(terminal : tar zxvf hadoop-1.0.4.tar.gz)
3.
환경변수설정
(vi ~/.profile 실행 후 해당 내용 반영)
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export HADOOP_INSTALL=/usr/local/hadoop-1.0.3 압축해제한 Hadoop 경로
export PATH=$PATH:$HADOOP_INSTALL/bin
http://insahara.tistory.com
32 /60
3-3)Hadoop 설정
Hadoop 설치 및 기본환경 설정
준비 사항
O/S : Linux (Ubuntu 12.04에서 설치함)
JDK 1.6 이상
4.
{Hadoop-PATH} /conf/hadoop-env.sh 설정
4-1)vi hadoop-env.sh 실행
4-2)export JAVA_HOME=/usr/lib/jvm/java-6-sun
export HADOOP_HOME=하둡 패스 입력(ex:/usr/local/hadoop-1.0.4)
내용 반영
5.
Profile 반영
(source .profile 실행 후 hadoop version 입력하여 하둡 버전이 나오는지 확인)
6.
{Hadoop-PATH} /conf/ 내에 hdfs-site.xml, core-site.xml, mapred-site.xml 설정 후
hadoop namenode –format 실행
7.
start-all.sh 실행(HDFS & Map Reduce 모두 실행)
http://insahara.tistory.com
33 /60
3-3)Hadoop 설정
hdfs-site.xml
dfs.name.dir
- Namenode의 Metadata 저장 경로(fsImage)
dfs.name.edits.dir
- Transaction-Log 저장 경로(edits)
dfs.data.dir
- 데이터 블록을 저장할 Datanode의
경로
dfs.replication
- 데이터 블록의 복제본(replica) 갯수 지정
http://insahara.tistory.com
34 /60
3-3)Hadoop 설정
core-site.xml
fs.name.dir
- 하둡 디폴트 파일 시스템 설정
- Namenode는 해당 hostname와 port를 가지고 수행
hadoop.tmp.dir
- 하둡 내 모든 데이터 저장 및 임시 공간에 대한 최상위 스페이스 지정
http://insahara.tistory.com
35 /60
3-3)Hadoop 설정
mapred-site.xml
mapred.job.traker
- MapReduce를 위한 Jobtracker 설정
dfs.name.edits.dir
- MapReduce 작업에서 발생하는
중간 데이터를 저장하는 임시경로
- Job이 끝나면 삭제됨
dfs.data.dir
- MapReduce 관련 시스템 파일을
저장할 경로
- 로컬 파일 시스템이 아닌 HDFS 내
경로를 의미
http://insahara.tistory.com
36 /60
3-3)Hadoop 설정
환경 설정 확인
-http://{namenode IP}:50070/
<Hadoop HDFS 모니터링>
http://insahara.tistory.com
37 /60
Hadoop 설정 및 File I/O Sample
노드 설정 및 확장
${hadoop-Path)/conf 내
masters 파일
- Namenode의 IP 혹은 HOSTS파일에 설정된 HOST명
slaves 파일
- Datanode의 IP 혹은 HOSTS파일에 설정된 HOST명
masters / slaves file 내역 샘플
http://insahara.tistory.com
38 /60
3-4)HDFS File I/O Example
http://insahara.tistory.com
3-4)File I/O Example
-Read Method 작성
http://insahara.tistory.com
40 /60
3-4)File I/O Example
Read 수행 요청
Read 수행 결과
Cat으로 확인한 타겟 파일 내역
Console 창 결과
http://insahara.tistory.com
41 /60
3-4)File I/O Example
-Write Method 작성
http://insahara.tistory.com
42 /60
3-4)File I/O Example
HDFS FileIO Sample
File Write 수행 전
File Read 수행 후
http://insahara.tistory.com
43 /60
3-5)MapReduce Example
http://insahara.tistory.com
3-5) MapReduce Example
분석/처리 기술 – Hadoop
Map Reduce Example - (WordCount - Map)
1 ) JAVA 프로젝트 생성
2) 프로젝트 내 conf 폴더 생성 후 Hadoop/lib 내 Library 파일 copy
3) 소스 작성
http://insahara.tistory.com
45 /60
3-5) MapReduce Example
분석/처리 기술 – Hadoop
Map Reduce Example - (WordCount - Map)
http://insahara.tistory.com
46 /60
3-5) MapReduce Example
분석/처리 기술 – Hadoop
Map Reduce Example - (WordCount - Map)
http://insahara.tistory.com
47 /60
3-5) MapReduce Example
Map Reduce Example - (WordCount - Reduce)
http://insahara.tistory.com
48 /60
3-5) MapReduce Example
Map Reduce Example - (WordCount - Reduce)
http://insahara.tistory.com
49 /60
3-5) MapReduce Example
분석/처리 기술 – Hadoop
Map Reduce Example - (WordCount - Map)
4) 작성된 소스(class)를 jar로 빌드
5) hadoop jar [ jar파일명] [ jar내 패키지&클래스 명] [inputPath] [outputPath]
ex:hadoop jar sample.jar com.unus.sample.SampleMapReduce input output
6) 모니터링 프로그램 접속 or 하단 명령어로 결과 확인 가능
hadoop fs –cat [outputPath/part-00000]
ex:hadoop fs –cat /usr/minsoo/output/part-00000
http://insahara.tistory.com
50 /60
3-5) MapReduce Example
Map Reduce Example - (WordCount - Reduce)
실행 결과
<분석할 데이터(Text File)>
http://insahara.tistory.com
분석 결과(Key-Value 형태)
51 /60
4. BigData 시장 현황
http://insahara.tistory.com
4.BigData 시장 현황
국내/외 빅데이터 사업 추진 현황
<출처 : 한국정보화진흥원(2012.9)>
http://insahara.tistory.com
53 /60
4. BigData 시장 현황
국내 대기업 빅데이터 사업 현황
삼성
- 경영 정보 시스템에 빅데이터 적용 프로젝트 진행 중
- 바이오 인포메틱스 사업 진출을 위한 빅데이터 플랫폼 구축
LG CNS
- 빅데이터 통합 분석 솔루션 출시 및 상용화
SK C&C
- 빅 데이터 분석 솔루션 제공
- 빅 데이터 분석 기술 내재화 지원 사업
- NHN와 빅데이터 사업모델 발굴을 위한 전략제휴 체결
Daum
- 소셜 메트릭스 인사이트(소셜 데이터 분석) 서비스
- 빅데이터 분석을 통한 Ad@m 광고 추천 알고리즘 적용을 위한 방안 모색 중
http://insahara.tistory.com
54 /60
4. BigData 시장 현황
빅데이터 시장 현황
-빅데이터에 대한 관심은 커지고 있으나, 주목할만한 성공사례의 부재로 아직까지는
일부 대기업에서만 빅데이터 플랫폼 구축 & 서비스를 확인 가능
http://insahara.tistory.com
55 /60
5. BigData의 시사점
http://insahara.tistory.com
5. BigData 시사점
1)BigData 시대에 필요한 인재
Data Scientist : 비즈니스의 이해 및 가치 창출 , 데이터 분석(마이닝), 분석 툴 활용
Dev Ops : 빅데이터 인프라의 이해, 시스템 운영/유지보수 능력
Analytics
(Hadoop)
?
Data
(NoSQL)
Who is work?
http://insahara.tistory.com
57 /60
5. BigData 시사점
2)기술 내재화(No Vendors)
- Hadoop, NoSQL 등 많은 소프트웨어가 Open Source로 제공
- Open Source는 Vendor의 지원을 받기가 어려움
- 데이터 분석, 빅 데이터 플랫폼(하둡, R)등의 활용을 위한 기술 내재화 필요
Cloudera System Achitecture
http://insahara.tistory.com
58 /60
5. BigData 시사점
3)Small Data 활용 강화(No Big Mistakes)
- Big Data여야만 하는가?
- 가진 데이터를 활용하여 투자이상의 가치를 얻을 수 있는가?
- 데이터 활용에 대한 시나리오 정립 필요
4)Big Data는 실시간이다?
- BigData 의 실시간 처리에 많은 관심이 집중되어 있음
- 실시간 처리는 가능할 수 있으나, Big Data의 진정한 가치는
장기간 분석을 통한 패턴(본질) 발견에 있음
http://insahara.tistory.com
59 /60
감사합니다.
http://insahara.tistory.com