꾸준히 하고싶은 개발자

빅데이터 처리/탐색(하이브) 본문

빅데이터 플랫폼

빅데이터 처리/탐색(하이브)

프라우스 2022. 10. 24. 21:39

빅테이터 처리/ 탐색 영역은 적재된 데이터를 가공하고 이해하는 단계다

-데이터를 이해하는 과정에서는 데이터들의 패턴,관계, 트렌드 등을 찾게 되는데 이를 탐색적 분석(EDA Exploratory Data Anaysis)이라고한다.

-탐색적 분석을 하기 위해서는 2v volume,variety 의 비정형 데이터를 정교한 후 처리작업 (필터링,클린징,통합,분리등)으로 정형화한

저장소가 필요한데, 이곳이 바로 빅데이터 웨어하우스다.

빅테이터 처리/탐색의 최종 결과물을 빅데이터 웨어하우스 기반의 마트이며,이를 빅데이터 분석/응용에 활용된다.

빅데이터 구축 단계

 

빅데이터 처리/탐색과 웨어하우스

-빅데이터 기반(DW)Data Warehouse는 크게 3개의 영역으로 구성돼 있으며 전통적으로 RDBMS기반 DW 구조와 유사하다.

-두 데이터웨어하우스 시스템은 서로 상호 보환적인 역할을 하고있다. 

-빅데이터 기반 DW는 Hive DW라고 부르는데 위에그림에서 3개의 영역이 하이브와 그 주변 기술 만들어지기 때문이다. 레이크영역은 앞서 소개했던 플럼 스틈등에서 수집한 3v의 데이터들이 모이는 곳이며 크고 작은 비정형(반정형) 파일들이 축적된다. 

-빅데이터 레이크의 파일들은 빅데이터 처리 기술을 통해 하이브 모델로 가공되며 데이터/추출/정제/검증/분리/통합/등의 작업을 거쳐 반정규화된 하이브 테이블로 만들어진다.

-하이브 기반의 빅데이터 웨어하우스가 만들어지고 SQL기반의 다양한 애드혹 분석으로 EDA를 진행하며 그결과를 집계/요약해서 빅데이터 마트를 생성한다. 

-빅데이터 마트는 외부 시스템에서 빠르게 조회 및 제공돼야 하므로 칼럼지향형(ORC/Parquet)하이브 테이블로 설계하며 분석,주제 영역별로 마트화한다.

-빅데이터 웨어하우스를 만들기위해서는 다양한 빅데이터 기술들이 이용되는데. 하이브(Hive) 피크(Pig) 스파크(Spark)우지(Oozie)임팔라(Impala)휴(Hue) 등의 소프트웨어들이 있다

 

하이브리드 DW아키텍처

-전통적인 데이터 웨어하우스의 단점으로 데이터의 증가에 따른 확장성 부족과 그로인한 높은 비용 발생이슈가 있다

-방안으로 기존 RDBMS기반의 데이터 웨어하우스에서는 중단기적인 데이터만 보관하고 장기간 보관이 필요한 데이터는 빅데이터 웨어하우스에 저장하게 하는것이다. 

-대규모 비정형 및 실시간성 데이터도 빅데이터 웨어 하우스에 보관함으로써 RDBMS 대비 운용 비용을 절감 (30 %~50%정도) 시킨다.

이후 빠른 응답이 필요한 직업은 RDBMS가 담당하고 높은 처리량이 필요한 작업을 빅데이터가 담당함으로써  상호 보완적인 역할을 아키텍처 를 하이브리드DW라고한다.

하이브리드 DW 아키텍처

하이브

-하둡 초장기에는 적재된 데이터를 탐색/분석하기 위한 도구로 맵리듀스(MapReduce)를 주요 이용했다. 

-맵리듀스는 복잡도가 높은 프로그래밍 기법이 필요했으며 업무분석가 및 관리자 들에게 빅데이터에 접근 하는 것을 어럽게 만든다.

-이를 해결하기위해서 페이스북에서SQL 과 매우 유사한 방식으로 하둡 데이터 접근성을 높인 하이브를 개발한다.

-하이브가 오픈소스로 공개되면서 2016년 2월 하이브 2.0이 릴리스됐고 빅데이터의 가장 대표적인 SQL on Hadoop 제품으로 자리잡음

하이브의 아키텍처에서 가장 큰 특징은 하이브

하이브 구성요소

하이브 아키텍처

-하이브클라이언트에서 작성한 QL(Query Language)이 맵리듀스 프로그램으로 변환되어 실행된다는것이다. 

-CLI 웹 콘솔등을 통해 하이브 QL을 작성하면 쿼리 엔진 (Query Engine)에 있는 SQL 파서가 하이브 QL을 맵리듀스 프로그램으로변환       하며 맵리듀스 프로그램이 하둡 클러스터에 전송되어 여러 데이터노드에서 분산 실행된다 

-이과정에서 하이브의 MetaStore가 매우 중요한 역할을 하는데 하이브 DW 에서 정의한 데이터 베이스 테이블 파티션 정보 등이 모두 MetaStore에서 저장 및 관리 되기때문이다. 결국 하이브 QL이 작동하면 항상 MetaStorefmf 참고해 하이브의 런타임 환경이 만들어진다.

또한 하이브는 쓰리프트 API를 제공하는데 클라이언트 프로그램이 API 를 호출해 다양한 하이브 액션(Action)을 외부에서도 실행 할 수있게된다.

하이브 활용방안 

데이터에 대한 조회,결합 , 분리,변환,정제등의 작업을 수행해 DW를 구성하고 다시 DW에서 2,3차 탐색과 고급분석을 진행해 분석마트를 만든다. 

-수집 및 적재한 데이터가 하이브의 External(빅데이터 레이크) 영역에 적재돼 있는데 이를 정제해서(Managed) 빅데이터 웨어하우스 영역으로 옮기고 주제 영역별 Mart를 구성하기 위해 하이브가 주로 사용된다.

 

하이브 External  or Managed

하이브의 데이터 아키텍처 는 Exteral 영역과 Managed 영역으로 구분된다. 데이터 제어와 관리에서 두영역에 차이가 있는데 스키마에 디펜더시가 작은 영역이 External영역이고 그반대가 Managed영역이다. 비정형 데이터 3 V 데이터 가 쌓이는 빅데이터 레이크 영역을 External에 정형화된 빅데이터 웨어하우스나 마트영역은 Managed영역에 만든다. (참고로 마트영역은 성능과 연동등을 고려해 하이브가 아닌 별도의 RDBMS에 구성하기 도한다.) 

설치

 

클러스터에서 서비스 추가를 선택한다.
하이브 선택 후 계속 누른다

서비스 유형중 하이브를 선택 하고 우측 하단에 계속 버튼을 누른다

하이브 작동에 필요한 의존성을 선택한다. Hbase 가 포함된 항목을 선택한후 계속버튼을 누른다.

컴퓨터 가 좋으며 서버1를 선택해도 되고 서버2을 연결해도된다.

테스트 연결을 누른후 계속 한다.

하이브 포트 번호는 9083이다.

설치중

설치 완료후 계속을 누른다. 

 

 

실습

차 배터리 60이하인 자동차 쿼리문
차 배터리 60이하인 자동차결과
자동차별 최대 최소 배터리 차이  쿼리문
자동차별 최대 최소 배터리 차이결과