표제지
목차
국문요약 13
Ⅰ. 서론 14
1.1. 연구의 배경 및 목적 14
1.1.1. 연구의 배경 14
1.1.2. 연구의 목적 16
1.2. 연구의 방법 및 구성 21
1.2.1. 연구의 방법 21
1.2.2. 연구의 구성 22
Ⅱ. 관련 이론 및 선행연구 24
2.1. 빈발 패턴 마이닝 25
2.1.1. 빈발 패턴 마이닝 문제 26
2.1.2. 빈발 항목집합에 관한 연관규칙 분석 29
2.1.3. 기초 알고리즘 33
2.1.4. 선행 연구 검토 41
2.2. Hadoop Ecosystem 43
2.2.1. Hadoop 44
2.2.2. Spark 49
2.2.3. Zookeeper 52
2.3. 소결 55
Ⅲ. 제안 방법론 60
3.1. 트랜잭션 데이터 수집 60
3.2. 레코드 데이터 처리 64
3.2.1. 레코드 데이터 집계 64
3.2.2. 역 인덱스 구조 68
3.3. 패턴 베이스 생성 71
3.4. 빈발 패턴 탐색 79
3.5. 소결 87
Ⅳ. 클러스터 컴퓨팅을 위한 시스템 구축 89
4.1. 실험 환경 구성 89
4.2. 클러스터 시스템 구축 92
4.2.1. Hadoop 고가용성 구성 93
4.2.2. Spark on YARN 클러스터 구성 94
4.2.3. HDFS 읽기-쓰기 프로세스 100
Ⅴ. 실험 및 결과 103
5.1. 실험 데이터 103
5.2. 실험 내용 105
Ⅵ. 결론 110
6.1. 연구의 요약 110
6.2. 연구의 의의 및 한계 111
6.2.1. 연구의 의의 111
6.2.2. 연구의 한계 111
6.2.3. 향후 연구 방향 111
참고문헌 112
Abstract 126
부록 128
〈표 2.1〉 트랜잭션 데이터 예시 34
〈표 2.2〉 빅데이터 시나리오를 고려한 접근법 41
〈표 3.1〉 항목 정보 61
〈표 3.2〉 데이터 소스 예시 62
〈표 3.3〉 항목 정보 예시 62
〈표 3.4〉 최소 지지도를 충족하는 항목 정보 72
〈표 4.1〉 소프트웨어 환경 89
〈표 4.2〉 Java Virtual Machine Process 90
〈표 5.1〉 생성 데이터 파라미터 103
〈표 부록 1〉 기호 및 의미 134
〈그림 1.1〉 빅데이터의 특징 16
〈그림 1.2〉 지식의 피라미드 17
〈그림 1.3〉 데이터 가치화를 위한 요소 18
〈그림 1.4〉 결과에 대한 의사소통 방식 18
〈그림 1.5〉 상향식 데이터 가치 창출 흐름도 19
〈그림 1.6〉 연구의 구조 및 흐름도 23
〈그림 2.1〉 패턴 마이닝 연구에 대한 로드맵 24
〈그림 2.2〉 빈발 패턴 마이닝 타임라인. 33
〈그림 2.3〉 Apriori Algorithm 예시 35
〈그림 2.4〉 ECLAT 데이터 형태 37
〈그림 2.5〉 ECLAT Algorithm 예시 37
〈그림 2.6〉 FP-Growth Algorithm 예시 40
〈그림 2.7〉 Hadoop Ecosystem 개요. 43
〈그림 2.8〉 Hadoop 상위 수준 스택 구조 44
〈그림 2.9〉 HDFS 아키텍처. 45
〈그림 2.10〉 데이터노드 블록 복제 방법. 46
〈그림 2.11〉 MapReduce 아키텍처. 47
〈그림 2.12〉 YARN 아키텍처. 48
〈그림 2.13〉 Spark 상위 수준 스택 구조 50
〈그림 2.14〉 Spark 드라이버 및 익스큐터 동작 구조. 50
〈그림 2.15〉 Spark 클러스터 개요 51
〈그림 2.16〉 Zookeeper 아키텍처. 52
〈그림 2.17〉 Zookeeper 계층적 네임스페이스. 53
〈그림 2.18〉 Zookeeper 상위 수준 프로세스. 53
〈그림 2.19〉 Zookeeper 트랜잭션 처리 과정. 54
〈그림 2.20〉 복잡한 데이터 플랫폼 예시. 55
〈그림 2.21〉 인프라 제공 범위 기준 개요 56
〈그림 2.22〉 하드웨어 운영 기준 개요. 58
〈그림 3.1〉 트랜잭션 데이터 수집 개요 60
〈그림 3.2〉 트랜잭션 데이터 수집 예시 63
〈그림 3.3〉 레코드 데이터 처리 개요 64
〈그림 3.4〉 레코드 데이터 집계 과정 65
〈그림 3.5〉 UC 데이터 블록 66
〈그림 3.6〉 레코드 데이터 집계 예시 67
〈그림 3.7〉 UC 데이터 블록 예시 67
〈그림 3.8〉 역 인덱스 구조 68
〈그림 3.9〉 역 인덱스 구조 예시 69
〈그림 3.10〉 패턴 베이스 생성 개요 71
〈그림 3.11〉 항목 정보 멀티캐스트 및 UC 데이터 전송 72
〈그림 3.12〉 레코드 재정렬 과정 73
〈그림 3.13〉 레코드 치환 과정 73
〈그림 3.14〉 레코드 복사 과정 74
〈그림 3.15〉 데이터노드 전송 데이터 예시 76
〈그림 3.16〉 항목 정보 멀티캐스트 및 UC 데이터 전송 예시 77
〈그림 3.17〉 데이터노드 데이터 처리 예시 77
〈그림 3.18〉 패턴 베이스 청크 생성 예시 78
〈그림 3.19〉 빈발 패턴 탐색 개요 79
〈그림 3.20〉 요청 항목 정보 변환 과정 80
〈그림 3.21〉 빈발 패턴 탐색 구조 80
〈그림 3.22〉 PC 파일 탐색 범위 81
〈그림 3.23〉 패턴 베이스 속성 81
〈그림 3.24〉 항목 탐색 상황 82
〈그림 3.25〉 항목집합 탐색 상황 83
〈그림 3.26〉 항목 탐색 상황 예시 84
〈그림 3.27〉 항목집합 탐색 상황 예시 84
〈그림 3.28〉 FP-tree 예시 86
〈그림 3.29〉 Conditional FP-tree 예시 86
〈그림 3.30〉 제안 분석 방법론 87
〈그림 4.1〉 클러스터 시스템 상위 수준 스택 구조 92
〈그림 4.2〉 HDFS 고가용성 아키텍처 93
〈그림 4.3〉 YARN 리소스 매니저 고가용성 구조. 94
〈그림 4.4〉 Spark on YARN 클러스터 아키텍처. 95
〈그림 4.5〉 애플리케이션 마스터 및 드라이버 실행 과정 96
〈그림 4.6〉 익스큐터 생성 및 작업 제출 과정 96
〈그림 4.7〉 작업 제출 구조. 97
〈그림 4.8〉 SparkSession 과 Python API 간의 관계 98
〈그림 4.9〉 애플리케이션 트리 구조. 98
〈그림 4.10〉 Job Scheduling 과정. 100
〈그림 4.11〉 HDFS 데이터블록 읽기 101
〈그림 4.12〉 HDFS 데이터블록 쓰기 102
〈그림 5.1〉 실험 데이터 예시 103
〈그림 5.2〉 애플리케이션 등록 106
〈그림 5.3〉 애플리케이션 수행 과정 106
〈그림 5.4〉 애플리케이션 완료 107
〈그림 5.5〉 애플리케이션 타임라인 107
〈그림 5.6〉 스테이지 예시 108
〈그림 5.7〉 DAG 시각화 예시 109
〈그림 부록 1〉 Host 서버 정보 130
〈그림 부록 2〉 Virtual Machine 정보 130
〈그림 부록 3〉 퍼블릭 클라우드 서비스 연결 예시 130
〈그림 부록 4〉 클러스터 시스템 실행 예시 131
〈그림 부록 5〉 Hadoop 노드 매니저 131
〈그림 부록 6〉 HDFS 저장 데이터 예시 131
〈그림 부록 7〉 Hadoop 활성 네임노드 132
〈그림 부록 8〉 Hadoop 대기 네임노드 132
〈그림 부록 9〉 Hadoop 데이터노드 133
〈그림 부록 10〉 Spark History 서버 133
〈알고리즘 2.1〉 Baseline Algorithm 32
〈알고리즘 2.2〉 Apriori Algorithm 36
〈알고리즘 2.3〉 Eclat Algorithm 38
〈알고리즘 2.4〉 FP-Tree Algorithm 39
〈알고리즘 2.5〉 FP-Growth Algorithm 40