- 빅데이터 탐색 개요
- 빅데이터 탐색에 활용되는 기술
- 탐색 파일럿 실행 1단계 - 탐색 아키텍처
- 탐색 파일럿 실행 2단계 - 탐색 환경 구성
- 탐색 파일럿 실행 3단계 - 탐색 기능 구현
- 탐색 파일럿 실행 4단계 - 탐색 기능 테스트
빅데이터 탐색 개요
- 탐색 영역은 적재된 데이터를 가공하고 이해하는 단계
- 데이터 이해 => 데이터들의 패턴, 관계, 트렌드 찾기 => 탐색적 분석(EDA:Exploratory Data Analysis)
- 탐색 과정은 분석에 들어가기에 앞서 빅데이터의 품질과 인사이트를 확보하는 매우 중요한 단계
- 비정형 데이터를 정교한 후처리 작업(필터링, 클린징, 통합, 분리 등) => 정형화 데이터
- 탐색 결과는 곧 바로 분석 마트를 위한 기초데이터로 활용
- 이런 일련의 처리/탐색, 분석/응용 과정 => 빅데이터 웨어하우스
데이터 웨어하우스(DW: Data Warehouse)
- 운영 시스템과 연계하여 의사 결정 지원에 효과적으로 사용 될 수 있도록 다양한 운영 시스템으로부터 추출, 변환, 통합되고 요약된 읽기 전용 데이터베이스
데이터 마트(Data Mart)
- 전사적으로 구축된 데이터웨어하우스로부터 특정 주제, 부서 중심으로 구축된 소규모 단일 주제의 DW
빅데이터 탐색에 활용할 기술
- 하둡 초창기에는 맵리듀스(MapReduce) 사용, 복잡도가 높은 프로그래밍(Java) 기법 필요
- 빅데이터 접근의 어려움 => 페이스북에서 SQL과 유사한 하이브(Hive) 개발
하이브(Hive) SQL on Hadoop
- http://hive.apache.org
- 하둡 기반 적재된 데이터 탐색/가공 도구
- SQL과 매우 유사한 방식으로 하둡 데이터에 접근
- CLI : 하이브 쿼리 입력 및 실행
- JDBC/ODBC Driver: 다양한 DB와 하이브 쿼리 연결 드라이버
- ODBC Driver : 언어에 국한되지 않고 오픈되서 쓰인다.
- Query Engine: 하이브 QL => MapReduce
- MetaStore: 하이브에서 사용하는 테이블의 스키마 정보를 저장 및 관리
- CLI/웹콘솔 => QL 작성 => QE의 SQL 파서 => MapReduce 프로그램 => 분산 실행
- MapReduce를 자동으로 분산 실행
- 하이브를 이용해 스마트카 데이터셋을 다양한 각도로 탐색 및 가공
- QL로 스마트카 데이터 조회, 결합, 분리, 변환, 정제 => 스마트카 DW => 스마트카 DM
- 스마트카 Data Warehouse를 만들고 최종목적은 Data Mart 만들기
- 적재 Data => 하이브 External(빅데이터 레이크) => 정제 => Managed 영역 => 각 영역별 Mart
- 빅데이터 레이크 영역: 플럼, 스톰등에서 수집한 데이터가 모이는 곳
- 유사 프로젝트 : Pig
- 하이브와 Pig의 용도가 같다.
- SQL을 배운 상태라면 하이브가 훨씬 사용하기 용이하다. Pig는 관련 쿼리를 또 익혀야 하기 때문
스파크(Spark)
- http://spark.apache.org
- 하이브는 QL로 접근성은 높였지만 맵리듀스 코어 그대로 사용하여 성능이 떨어짐(반복적 작업시)
- 고성능 인메모리 분석 => 하이브, 피그는 디스크 I/O
- 스파크는 , "메모리 하둡"이라고도 불린다.
- 하둡에서 개발을 하려면 최종적으로는 Spark를 사용하고, 스칼라 언어를 디폴트로 사용한다
- Spark SQL, Spark 스트리밍, Spark 머신러닝등 작업시 빠른 성능
- Spark RDD : 스파크 프로그래밍의 기초 데이터 모델
- Spark SQL : SQL 방식으로 RDD 프로그래밍 지원
- Spark 스트리밍 : 스트리밍 데이터를 실시간 처리
- Spark MLib : 스파크에서 머신러닝 프로그래밍(군집, 분류, 추천등) 지원
- 파이썬, 자바, 스칼라, SQL등의 클라이언트 라이브러리 제공(디폴트는 스칼라)
- 스파크엔진은 대규모 분산 노드에서 최적의 성능
- HDFS, HBase, 카산드라등의 데이터 소스 연결 이용
- 카산드라 => noSQL 기반
- 스파크쉘에서 스파크-SQL API를 이용해 ''스마트카 마스터 '' 조회 및 정제 작업
우지(Oozie)
- 워크플로우를 만드는 것이 핵심
- EX) 하루에 몇 시에 어떤 데이터가 들어오면, 이런 일을 해!
- http://oozie.apache.org
- 하이브나 스파크로 처리/탐색/분석하는 과정은 복잡한 선후행 관계를 맺고 반복 진행됨
- 반복적이고 복잡한 후처리 잡에 대한 시작,처리,분기,종료의 Action 워크플로우 정의
- 작성된 워크플로우는 RDBMS에서 저장
- 우지 서버에 있는 Coordinator 가 우지에 등록된 워크플로를 스케줄링
- Oozie Workflow: 주요 액션에 대한 작업규칙과 플로우 정의
- Oozie Client: 워크플로우를 Server에 전송하고 관리하기 위한 환경
- Oozie Server: 워크플로우 정보가 잡(Job)으로 등록되어 잡의 실행,중지,모니터링 관리
- Control 노드 : 워크플로의 흐름을 제어하기 위한 Start, End, Decision 노드등 기능 제공
- Action 노드: 잡의 실제 수행 태스크를 정의하는 노드 , 하이브,피그, 맵리듀스등 액션으로 구성
- 하이브QL의 External => Managed => Mart 과정의 약속된 스케줄링을 우지 워크플로우로 구성
휴(Hue)
- 통합 Tool
- http://gethue.com
- 다양한 하둡 에코시스템의 기능들을 웹 UI로 통합 제공
- HDFS, HBase, 하이브, 임팔라는 위한 웹에디터 제공
- Job Designer: 우지의 워크플로 및 Coordinator 를 웹 UI에서 디자인
- Job Browser: 등록한 잡의 리스트 및 진행 상황과 결과등 조회
- Hive Editor: 하이브 QL을 웹 UI에서 작성
- Pig Editor: Pig Script을 웹 UI에서 작성
- HDFS Browser: 하둡의 파일시스템을 웹 UI에서 탐색 관리
- HBase Browser: HBase의 HTable을 웹 UI에서 탐색 관리
- 웹에디터를 이용해 '스마트카 상태 데이터', '스마트카 운전자 운행 데이터' 탐색 수행
- '스마트카 마스터 데이터'와 '스마트 차량 물품 구매이력' 임포트 작업 수행
- 휴의 Job Designer를 이용해 Oozie 의 워크플로 5개의 주제 영역별 작성 및 실행
탐색 파일럿 실행 1단계 - 탐색 아키텍처
탐색 요구사항
요구사항 1
- 차량의 다양한 장치로부터 발생하는 로그 파일을 수집해서 기능별 상태를 점검
요구사항 2
- 운전자의 운행 정보가 담긴 로그를 실시간으로 수집해서 주행 패턴을 분석
요구사항 구체화 및 분석
적재된 데이터는 하이브의 데이터 웨어하우스로 관리
- 하이브의 데이터 웨어하우스기능 이용
- 초기 HDFS 적재영역(External) => Managed => Mart 단계적 구성
데이터 마트 구축에 필요한 데이터를 추가 구성
- HDFS 명령어로 '스마트카 마스터 데이터'와 '스마트 차량 물품 구매이력' External에 추가 적재
하이브의 데이터 웨어하우스의 이력성 데이터들을 일자별로 관리
- 데이터 웨어하우스의 External 영역은 작업 처리일 기준으로 파티션 구성
- Managed 영역은 데이터 생성일 기준으로 파티션닝
분석 마트가 만들어지는 일련의 과정들을 하나의 워크플로우로 만들어 관리
- Oozie를 사용해 하이브 QL을 Job Designer에 등록 워크플로를 만들고 스케줄러에 등록 및 관리
분리 탐색한 데이터는 외부 애플리케이션이 빠르게 접근하고 조회할 수 있어야 한다
- 휴의 Job Designer를 이용해 Oozie 의 워크플로 5개의 주제 영역별 작성 및 실행
최종 마트로 만들어질 데이터셋들은 주제 영역별로 구성
- 스마트카의 상태 모니터링 정보
- 스마트카의 운전자의 운행 기록 정보
- 이상 운전 패턴 스마트카 정보
- 운전자의 차량용품 구매 이력 정보
- 긴급 점검이 필요한 스마트카 정보
탐색 아키텍처 P 230 참고
휴 Hive Editor로 External 조회
- Hive Editor를 이요해 SQL과 유사한 방식으로 조회
- HBase에 적재된 데이터도 Hive HBase 핸들러 이용 RDBMS 처럼 데이터 탐색
External과 HBase 적재된 데이터 작업일자 기준 후처리 작업
- Managed 영역에 스마트카 로그 생성일자 기준으로 2차 적재
- External 영역 => 하이브 QL => Managed 영역
Managed에 만들어진 데이터는 탐색적 분석에 활용
- 데이터가 구조화, 정형화 데이터로 전환된 상태
- 의사결정에 필요한 다양한 데이터 추출 단계
- 우지의 워크플로를 이용 해 프로세스화 및 자동화
'Hadoop > 빅데이터 파일럿 프로젝트' 카테고리의 다른 글
탐색 파일럿 실행 3단계 - 탐색 기능 구현 (0) | 2022.09.07 |
---|---|
탐색 파일럿 실행 2단계 - 탐색 환경 구성 (0) | 2022.09.07 |
빅데이터 적재 - 실시간 로그 파일 적재 / 환경 구성(2) (0) | 2022.09.07 |
빅데이터 적재 - 실시간 로그 파일 적재(1) (0) | 2022.09.06 |
빅데이터 적재(1) - 대용량 로그 파일 적재 (0) | 2022.09.06 |