chapter 3. Filtering Patterns

Slides:



Advertisements
Similar presentations
Chapter 2. Text Patterns 2.1 ~ 2.3 서울시립대 전자전기컴퓨터공학과 데이터마이닝 연구실 G 노준호.
Advertisements

Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
Chapter 8. TEXT CLUSTERING 서울시립대 전자전기컴퓨터공학과 데이터마이닝 연구실 G 노준호.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
알고리즘 기본 개념 정렬 알고리즘 탐색 알고리즘 알고리즘 복잡도.
이진 나무 구조 강윤섭 2008년 5월 23일.
컴퓨터와 인터넷.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
제 9 장 구조체와 공용체.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
조 병 규 Software Quality Lab. 한국교통대학교
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
5장. 참조 타입.
디지털시스템설계 과목 담당교수 : 원 충 상 한국교통대학교 컴퓨터공학과
Introduction to Big Data, Summer, 2013
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
Javascript Basic Sample Programs
Linux Master 김희승 임승한 OneScore 임승한.
HDFS와 대용량 데이터 처리 콘텐츠서비스연구팀 최완.
하둡 기반 빅데이터 처리 방법.
Data Organization Patterns
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
프로그래밍 랩 – 7주 리스트.
PySpark Review 박영택.
공학컴퓨터프로그래밍 Python 염익준 교수.
C#.
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
자바 5.0 프로그래밍.
인터넷응용프로그래밍 JavaScript(Intro).
Linux/UNIX Programming
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
ROC curve Receiver-Operating Characteristic curve.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
24장. 파일 입출력.
Linux/UNIX Programming
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
Database Management System
메모리 타입 분석을 통한 안전하고 효율적인 메모리 재사용
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
계산기.
CHAP 21. 전화, SMS, 주소록.
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
Linux/UNIX Programming
Linux/UNIX Programming
Canary value 스택 가드(Stack Guard).
데이터 동적 할당 Collection class.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
자료관리 : 현 화면에서 인쇄할 자료를 입력하여 발행하는 화면 입니다.
Excel 일차 강사 : 박영민.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
생체 신호의 실시간 디지털 처리 7조 홍윤호( )-1등
Chapter 10 데이터 검색1.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
TVM ver 최종보고서
구조체(struct)와 공용체(union)
Numerical Analysis Programming using NRs
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
교량 구조물의 개념 설계 및 프로토타입 제작 과정
 6장. SQL 쿼리.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Linux/UNIX Programming
6 객체.
Presentation transcript:

chapter 3. Filtering Patterns 서울시립대학교 전기전자컴퓨터공학과 G201449015 이가희 Data mining Lab. 병렬소프트웨어설계

0. Contents filtering bloom filtering top 10 distinct Filtering Patterns 0. Contents filtering bloom filtering top 10 distinct

1. Filtering : Pattern Description Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Description 관심 없는 레코드들은 필터링 단계에서 버림 큰 데이터를 쪼갠 데이터에서 관심 있는 것만 후속 분석을 하고 싶을 때 수행 레코드 단위 파싱, 높은 분류 성능 필터링 결과 : 선택 기준들을 통과한 레코드들의 subset closer view of data / distributed Grep / data cleansing / simple random sampling f true false an evaluation function 레코드 유지 레코드 버림 관심 있는 레코드만 취함

1. Filtering : Pattern Description Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Description no “reducer” map-only 잡이기 때문에 효율적이다. 데이터가 맵과 리듀스 단계 간에 전송될 필요가 없다. 또한 정렬 단계와 리듀스 단계가 제외된다.

1. Filtering : Pattern Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Examples Distributed Grep 입력 파일로 주어진 파일 내에 존재하는 특정한 문자열 패턴을 추출 입력 파일 : hotlist.txt regex ? .

1. Filtering : Pattern Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Examples Distributed Grep : mapper null 입력 : <, hotlist.txt record> 출력 : <null, record> map에서 필요한 변수 선언 map에서 필요한 resource 할당 (파일 검색 방법으로 정규식 설정) context : job과의 통신 및 입출력 담당 특정 패턴에 매칭되는 라인 리턴 (key, record)

1. Filtering : Pattern Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Examples Distributed Grep : driver

1. Filtering : Pattern Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Examples <regex> <input> <output> h.* .

1. Filtering : Pattern Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Examples Simple Random Sampling (SRS) 각각의 파일에서 일정 비율만큼 랜덤 추출 0~100 % ? .

1. Filtering : Pattern Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Examples Simple Random Sampling (SRS) : mapper 입력 : <, hotlist.txt record> 출력 : <null, record> map에서 필요한 resource 할당 (파일 검색 방법으로 비율(%) 설정) 조건에 맞는 라인 리턴 (key, record)

1. Filtering : Pattern Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Examples Simple Random Sampling (SRS) : driver 입력한 수 호출 (0~100)

1. Filtering : Pattern Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 1. Filtering : Pattern Examples <percentage> <input> <output> 100 records 20 records .

2. Bloom Filtering : Pattern Description Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Pattern Description Bloom filter : 원소가 집합에 속하는지 효율적으로 테스트 할 수 있는 자료구조 이 집합에 A가 있는가? 없는가? ‘h의 해시 값이 빈 곳을 가리키고 있기 때문에 bloom filter에는 h가 없어!’ 집합에 원소를 추가하는 것은 가능하나, 집합에서 원소를 삭제하는 것은 불가능하다. 집합 내 운소의 숫자가 증가할수록 긍정 오류 발생 확률도 증가한다. False Positive 존재 bloom filter (m=50, k=3) http://www.jasondavies.com/bloomfilter/

2. Bloom Filtering : Pattern Description Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Pattern Description a는 꼭 남아 있어야 해! f는 필요없어 버려! hot value! a,b,c,d,e 어떤 값들을 미리 멤버로 정의한 레코드들을 유지하고 싶을 때 : hot value 집합에 해당 data가 들어있는 유무를 판단하는 기준으로 bloom filter를 이용 데이터는 레코드들로 분리될 수 있다. (filtering) hot value를 각각의 레코드에서 추출할 수 있다. (특징 추출) hot value를 위한 item set을 미리 결정해둘 수 있다. False Negative는 절대 일어날 수 없다.

2. Bloom Filtering : Pattern Description Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Pattern Description structure : training + actual filtering bloom filter에 원소 추가 bloom filter 원소 유무 확인 새로운 data에 대한 해시 값 계산 후 비트 값 읽기 data가 bloom filter에 존재하는지 검사

2. Bloom Filtering : Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Examples 주어진 사용자 코멘트 목록에 대해 특정 키워드를 갖고 있지 않은 코멘트를 걸러내라 train data : a Bloom filter is trained with a hot list of keywords (100 terms) test data : inputComments.txt (Id, PostId, Score, Text, CreationDate, UserId) .

2. Bloom Filtering : Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Examples Bloom filter training inputFile (.gz) numMembers (training data 개수) falsePosRate (False Positive rate) bfFile (최종 bloom filter) bloom filter의 m, k 설정 bloom filter 생성

2. Bloom Filtering : Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Examples Bloom filter training training할 file 읽기 (hotlist) bloom filter에 data 추가 (training) bloom filter를 file형태로 내보냄

2. Bloom Filtering : Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Examples <inputfile> <nummembers> <falseposrate> <bfoutfile> .

2. Bloom Filtering : Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Examples Bloom filtering 주어진 사용자 코멘트 목록에 대해 특정 키워드를 갖고 있지 않은 코멘트를 걸러내라 inputComments.txt Id, PostId, Score, Text, CreationDate, UserId hotlistwords.bf

2. Bloom Filtering : Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Examples Bloom filtering : mapper 입력 : <, inputComments record> 출력 : <record, null> 인스턴스 생성 the ≠The

2. Bloom Filtering : Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Examples Bloom filtering : driver reduce task 사용하지 않음 job에 입력한 파일 위치 정보를 보냄 출력 파일이 저장될 위치 정보를 보냄 분산 캐시에 등록

2. Bloom Filtering : Examples Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 2. Bloom Filtering : Examples Bloom filtering : <cachefile> <input> <output>

3. Top Ten : Pattern Description Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 3. Top Ten : Pattern Description 데이터들을 순위를 매겨 상위 K개의 레코드들만 검색하고 싶을 때 사용 활용 이상치 분석 가장 관심 있는 레코드 선별 구체적인 기준에 가장 부합하는 레코드 선별

3. Top Ten : Pattern Description Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 3. Top Ten : Pattern Description mapper, reducer 관심 있는 레코드만 취함 find local top ten setup / map / cleanup setup / reduce 리듀서가 너무 많은 데이터를 가지고 있으면 성능이 좋지 않다 1개의 reducer 10*M record -> the final top ten

3. Top Ten : Examples Filtering Patterns 1 filtering 2 bloom filtering 4 distinct 3. Top Ten : Examples 주어진 사용자 정보 목록에서 Reputation을 기준으로 top 10 사용자 정보를 출력하라 input data : inputUser.txt (Id, Reputation, CreationDate, DisplayName, …)

3. Top Ten : Examples Filtering Patterns 1 filtering 2 bloom filtering 4 distinct 3. Top Ten : Examples Top Ten : mapper 입력 : < , inputUsers record> 출력 : <null, local top10 record> treemap 생성 (키를 기준으로 정렬 가능) (내림차순) 10위 이상이면 해당 레코드 버림

3. Top Ten : Examples Filtering Patterns 1 filtering 2 bloom filtering 4 distinct 3. Top Ten : Examples Top Ten : mapper 마무리작업 (최종적으로 남은 레코드를 리듀서로 전송) (null key)

3. Top Ten : Examples Filtering Patterns 1 filtering 2 bloom filtering 4 distinct 3. Top Ten : Examples Top Ten : reducer 입력 : <null, local top10 record > 출력 : <null, final top10 record>

3. Top Ten : Examples Filtering Patterns 1 filtering 2 bloom filtering 4 distinct 3. Top Ten : Examples Top Ten : driver reducer의 수 = 1

3. Top Ten : Examples Filtering Patterns 1 filtering 2 bloom filtering 4 distinct 3. Top Ten : Examples <input> <output> . .

4. Distinct : Pattern Description Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 4. Distinct : Pattern Description 유일한 값들만 모인 집합을 구하고 싶을 때 사용 중복제거 / 내부 조인 급증 방지 무작위 파티셔닝 (순서 유지 불가능) reducer 수는 필요한 만큼 사용 reducer 개수 = reduce 슬롯 수*2 값만 출력 (중복 데이터 처리) 값에 대한 키값 출력

4. Distinct : Pattern Example Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 4. Distinct : Pattern Example 주어진 사용자 코멘트 목록에서 사용자 id를 구별한 집합을 구하라. test data : inputComments.txt (Id, PostId, Score, Text, CreationDate, UserId) mapper : 각각의 입력 레코드에서 UserId를 얻는다. combiner : 중복 키 제거 reducer : 입력 받은 레코드에서 키를 파일 시스템에 출력

4. Distinct : Pattern Example Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 4. Distinct : Pattern Example Distinct : driver

4. Distinct : Pattern Example Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 4. Distinct : Pattern Example Distinct : map 입력 : < , inputComments record> 출력 : <UserId, >

4. Distinct : Pattern Example Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 4. Distinct : Pattern Example Distinct : reducer 입력 : <UserId, > 출력 : <UserId, >

4. Distinct : Pattern Example Filtering Patterns 1 filtering 2 bloom filtering 3 top ten 4 distinct 4. Distinct : Pattern Example <input> <output> .

End