1 / 60

빅데이터

빅데이터. 스마트 커머스 김 민 수. BigData 실제 적용 사례 빅데이터란 1) 빅데이터 부각 배경 2) 빅데이터 정의 3) 빅데이터 활용 3. 빅데이터 관련 기술 ( Hadoop ) 1) Hadoop Distributed File System(HDFS) 2) MapReduce 3) 하둡 설정 4) File I/O Example 5) MapReduce Example 4. 빅데이터 시장 현황 5. 빅데이터 시사점.

Download Presentation

빅데이터

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 빅데이터 스마트 커머스 김 민 수

  2. BigData실제 적용 사례 빅데이터란 1)빅데이터 부각 배경 2)빅데이터 정의 3)빅데이터 활용 3. 빅데이터 관련 기술(Hadoop) 1)Hadoop Distributed File System(HDFS) 2)MapReduce 3)하둡설정 4)File I/O Example 5)MapReduce Example 4. 빅데이터시장 현황 5. 빅데이터 시사점

  3. 1. BigData실제 적용 사례

  4. 1. BigData실제 적용 사례 • 베노 플러스 • 멍에 쓰이는 의약품 • 제조회사의 타겟: 어린이 • Question • 해당 제품 분야의 시장 상황은? • 이 제품의 경쟁 제품은 무엇일까? • 다른 타겟층 시장의 현황은? 데이터 분석 <Social Metrics Service(다음)>

  5. 1. BigData실제 적용 사례 시장 데이터 분석 결과는? - 여성 시장의 규모는 어린이 시장의 4배 이상 - 현재 시장엔 여성을 타겟으로 한 제품은 없음 - 현재 시장을 점유하고 있는 경쟁 제품? <달걀> <소고기>

  6. 1. BigData실제 적용 사례 • 데이터를 통한 의사 결정 • 1.시장 현황 확인 및 분석 (시장 발견) • - 인지하지 못했던 여성 타겟 시장 존재 및 규모 확인 • - 해당 분야에서 여성 시장을 공략중인 제품의 부재 • 2.근거 기반의 의사 결정 (마케팅 전략 수립) • - 해당 제품 인지도 상승 및 여성을 타겟팅 중점 마케팅

  7. 2. BigData정의

  8. 2. BigData의 정의 1)BigData부각 배경 SNS 데이터 생산량 사진 업로드 :한달30억 건(= 3,000,000,000) 메 시 지 : 한달300억 건(= 300,000,000,000) 메시지 : 하루1억 건(= 100,000,000)

  9. 2. Big Data의 정의 1)BigData부각 배경 분산처리기술 BigData 환경적 요소 스마트 기기 소셜 네트워크 클라우드 컴퓨팅

  10. 2. Big Data의 정의 • 2)빅 데이터(Big Data) 정의 -현재 빅 데이터에 대한 정의는 단체마다 약간의 차이가 있음 • 1.WEKIPEDIA • - 기존 데이터 베이스 관리 도구의 데이터 수집, 저장, 관리, 분석의역량을넘어선 대량의 정형 • or 비정형 데이터 세트로부터가치를 추출,분석하는 기술 • 2.IDC • - 다양한 데이터로 구성된 방대한 볼륨의 데이터로부터고속 캡처, 데이터 탐색 및 분석을 경제적으로 • 필요한 가치를 추출할 수 있도록 디자인된차세대 기술과 아키텍쳐 • 3.McKinsey & Company • - 기존 데이터 관리 도구의 데이터 수집, 저장, 관리, 분석의 역량을 넘어선대량의 데이터 셋 • 4.SAS • - 데이터의 볼륨, 다양성 및 속도가 정확하고 시기 적절한 의사 결정을 내리는 데필요한 • 조직의 저장 또는 계산 능력을 초과하는 경우

  11. 2. Big Data의 정의 • 2)빅 데이터(Big Data) 정의 빅데이터정의에 대한 공통점 대용량(Volume) 데이터 분석에 필요한 데이터의 양 다양성(Variety) 다양한 형태로 존재하는 DATA 빠른속도(Velocity) 고성능 분산 병렬 처리 기술의보급 * 그 외 가치(Value), 복잡성(complexity) 등이 존재

  12. 2. Big Data의 정의 • 빅 데이터(Big Data)란 • 다양한(Variety) 형태로 수집&저장된 • 대용량(Volume)의 데이터들을 • 빠른 속도(Velocity)로 분석하여, • 데이터의 일정한 패턴을 찾아내고, • 새로운 가치를 창출하는 것.

  13. 2. Big Data의 정의 • 빅 데이터 활용을 위한 3대 요소 기술 : 빅데이터 관련 기술(Hadoop, R, no-sql등) 및 데이터 분석 기법의 인지와 활용 인력 : 분석을 통해 가치를 발견하고 만들어내는 것은 사람 자원 : 활용할 수 있는 자원의 발견 및 확보 전략

  14. 2. Big Data의 정의 업무 시스템 데이터 로그 데이터 Web, 사이트, 블로그 소셜 미디어 영상/동영상 빅데이터 분석을 통해 할 수 있는 것들.. 빅 데이터분석 + 판단 이변, 이상현상 감지 가까운 미래 예측 현 상황 분석

  15. 2. Big Data의 정의 이상/이변현상 사례(네이버) <기사일자 : 2012-09-24 출처:주간 조선> • 사용자들의 검색/조회 로그 내역의 분석을 통해 특정 지역혹은 사회 이슈 파악 가능 • 사례로, 특정 지역에서 감기라는 검색어의 빈도수가 높아질 경우 해당 지역에 감기가유행하기 • 시작했음을 감지 가능

  16. 2. Big Data의 정의 가까운 미래 예측 사례(T 모바일) <기사일자 : 2012-09-24 출처:MK 뉴스> • - 2011년 1분기 타 통신사로 이동한 고객 수 99,000명 • - 매일 170억건 이상 쏟아지는 통화 송수신 내역 분석을 통해 타 통신사로 변경한고객의 패턴 발견 • - 탈퇴 징후가 보이는 고객에게 맞춤 혜택을 제공함으로써 이탈자 수 5만명가량으로 감소

  17. 2. Big Data의 정의 현 상황 분석 사례(ZARA) • - 각 판매점의 판매 및 재고현황실시간 분석 • - 최대 매출 달성 위한 재고 최적 분배 시스템 개발 • - 고객의 Needs를 실시간 반영함으로써불필요한 • 재고의 효율적 분배 가능 • - 매장 판매현황의 분석을 통해 인기제품의 파악 • 및 생산 시스템에 연결함으로써 매출 극대화 패스트 패션 기업의 경영성과(2006~2010) <자료:Thomson Research>

  18. 3. BigData기술(Hadoop) • 1)Hadoop Distributed File System(HDFS) 2)MapReduce 3)Hadoop File I/O & MapReduce Sample

  19. 3) BigData 기술 분석/처리 기술 – Hadoop · 대용량 데이터 처리/분석을 위한 분산 컴퓨팅 지원 프레임워크 ·핵심 요소 : HDFS(분산 파일 시스템), Map Reduce <HadoopECOSystem>

  20. 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>

  21. 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 유지

  22. 3-1) Hadoop Distributed File System HDFS File I/O Flow -READ 1. Data Read 요청 3. 정렬된 Datanode순으로 Data Block을 요청 2. 요청된 파일이 존재하는 Datanode위치를 정렬하여 Client에게 전송 4. Datanode로부터 Data read <Data Read>

  23. 3-1) Hadoop Distributed File System HDFS File I/O Flow -WRITE 5. Write 작업 및 Connection 종료 1.Namenode에 Write 작업 요청 2.정렬된 Datanode의 정보를 Response 3.Datanode연결 및 Write 작업 시작 4.데이터 Write중인 Datanode는 다른 Datanode에 연결(Pipe-Lining) 하여 복제본을 생성(Replication) <Data Write>

  24. 3-1) Hadoop Distributed File System HDFS Check Point - Primary Name의 fsImage와 edits를 Secondary Namenode가 병합 후 Primary Namenode에 반영하는 작업을 주기적으로 수행 1.Transaction발생 시, 파일 변경내역을 edits에 저장 2.SecondaryNamenode는 Primary Namenode의 fsImage, edits 파일 요청 3.fsImage와 edits의 병합 수행 4.병합된 fsImage.ckpt를 Primary Namenode 에 반영 5.병합된 fsImage를 현재 fsImage와 교체 6. 주기마다 1-5를 반복 수행 Check Point Flow

  25. 3-1) Hadoop Distributed File System Hadoop 취약점 – SPOF(Single Point of failure) - Datanode장애에는 고가용성(HA)을 가지지만, 단일 Namenode구성이라는 취약점이 존재 - Facebook에선 zookeeper를 통해 Namenode의 이중화 구성을 위한 Avatarnode발표 고가용성(HA)를 위한 Avatar Node 설정

  26. Hadoop-MapReduce

  27. 3-2) MapReduce Map Reduce - 데이터 분산 처리를 위한 소프트웨어 Framework - Master – slave 구조 구성 요소 JobTracker – 사용자의 요청 작업을 Job 단위로 관리 – Job을 Queue 형태로 관리하여 Task Tracker에 Task를 할당 TaskTracker – JobTracker가 할당하는 Task를 실행 – 하드웨어 스펙에 따라, 여러 개의 Task를 수행 가능

  28. 3-2) MapReduce 분석/처리 기술 – Hadoop Map Reduce Architecture

  29. 3-2) MapReduce 분석/처리 기술 – Hadoop Map Reduce Map Task Reduce Task Map Task – 데이터를 분산처리 하는 과정 Reduce Task – Map Task의 결과를 하나의 결과물로 도출 <Map/Reduce Task>

  30. 3-2) MapReduce 분석/처리 기술 – Hadoop Map Reduce 11.다음 2가지 중 하나의 작업 수행 map – split 되어있는Datablock을 파일 시스템에서 가져와 작업 수행 후 로컬 파일 시스템에 저장 reduce – map 결과 파일을 가져와 reduce 작업 수행하며, 결과물은 사용자가 지정한 파일 위치에 저장 10. Task 수행 요청 1. 사용자의 MapReduce프로그램 실행 4. File System에서 작업에 필요한 Resource를 조회하여 Job 객체 생성 5. JobTracker의 Queue에 Job 추가 6.TaskTracker는 JobTracker에 상태 정보 전송(Heatbeat) 및 Job 요청 9. 작업 수행을 위한 JVM프로세스(Child) 생성 7. TaskTracker상태에 따라 Task를 할당 2. MapReduce에 필요한 resource를 File System에 저장 -job jar : 사용자가 작성한 MapReduce jar파일 - job.split – 입력데이터를 여러 개의 Task에서 수행할 수 있도록 쪼개놓은split 정보 - job.xml – 사용자가 설정한 작업 관련 정보 8. 작업에 필요한 Resource를 File System에서 TaskTracker의 Local로 복사 3. RPC를 통해 Job Tracker에 작업 요청

  31. 3-3)Hadoop설정

  32. 3-3)Hadoop설정 Hadoop설치 및 기본환경 설정 준비 사항 O/S : Linux (Ubuntu 12.04에서 설치함) JDK 1.6 이상 • Apache에서 하둡 다운로드(hadoop-1.0.4.tar.gz) • 하둡 압축 풀기(terminal: tar zxvf hadoop-1.0.4.tar.gz) • 환경변수설정 • (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

  33. 3-3)Hadoop설정 Hadoop설치 및 기본환경 설정 준비 사항 O/S : Linux (Ubuntu 12.04에서 설치함) JDK 1.6 이상 {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 설정 후 hadoopnamenode –format 실행 7. start-all.sh 실행(HDFS & Map Reduce 모두 실행)

  34. 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) 갯수 지정

  35. 3-3)Hadoop설정 core-site.xml fs.name.dir - 하둡 디폴트 파일 시스템 설정 - Namenode는 해당 hostname와 port를 가지고 수행 hadoop.tmp.dir - 하둡 내 모든 데이터 저장 및 임시 공간에 대한 최상위 스페이스 지정

  36. 3-3)Hadoop설정 mapred-site.xml mapred.job.traker - MapReduce를 위한 Jobtracker설정 dfs.name.edits.dir - MapReduce작업에서 발생하는 중간 데이터를 저장하는 임시경로 - Job이 끝나면 삭제됨 dfs.data.dir - MapReduce관련 시스템 파일을 저장할 경로 - 로컬 파일 시스템이 아닌 HDFS내 경로를 의미

  37. 3-3)Hadoop설정 환경 설정 확인 -http://{namenodeIP}:50070/ <Hadoop HDFS 모니터링>

  38. Hadoop설정 및 File I/O Sample 노드 설정 및 확장 ${hadoop-Path)/conf내 masters 파일 - Namenode의 IP 혹은 HOSTS파일에 설정된 HOST명 slaves 파일 - Datanode의 IP 혹은 HOSTS파일에 설정된 HOST명 masters / slaves file 내역 샘플

  39. 3-4)HDFS File I/O Example

  40. 3-4)File I/O Example -Read Method 작성

  41. 3-4)File I/O Example Read 수행 요청 Read 수행 결과 Cat으로 확인한 타겟 파일 내역 Console 창 결과

  42. 3-4)File I/O Example -Write Method 작성

  43. 3-4)File I/O Example HDFSFileIO Sample FileWrite 수행 전 File Read 수행 후

  44. 3-5)MapReduce Example

  45. 3-5) MapReduceExample 분석/처리 기술 – Hadoop Map Reduce Example - (WordCount - Map) 1 ) JAVA 프로젝트 생성 2) 프로젝트 내 conf폴더 생성 후 Hadoop/lib 내 Library 파일 copy 3) 소스 작성

  46. 3-5) MapReduceExample 분석/처리 기술 – Hadoop Map Reduce Example - (WordCount - Map)

  47. 3-5) MapReduceExample 분석/처리 기술 – Hadoop Map Reduce Example - (WordCount - Map)

  48. 3-5) MapReduce Example Map Reduce Example - (WordCount - Reduce)

  49. 3-5) MapReduce Example Map Reduce Example - (WordCount - Reduce)

  50. 3-5) MapReduceExample 분석/처리 기술 – Hadoop Map Reduce Example - (WordCount - Map) 4) 작성된 소스(class)를 jar로 빌드 5) hadoop jar [jar파일명] [jar내 패키지&클래스 명] [inputPath] [outputPath] ex:hadoop jar sample.jarcom.unus.sample.SampleMapReduce input output 6) 모니터링 프로그램 접속 or 하단 명령어로 결과 확인 가능 hadoopfs –cat [outputPath/part-00000] ex:hadoopfs –cat /usr/minsoo/output/part-00000

More Related