• 검색 결과가 없습니다.

탐색 레이어

문서에서 저작자표시 (페이지 32-37)

본 논문에서는 하이브를 스마트카 데이터셋을 다양한 각도로 탐색 및 가공하 는데 활용하였다. 하이브 QL로 스마트카 데이터에 대한 조회, 결합, 분리, 변환, 정제 등의 작업을 수행해 스마트카 DW를 구성하고, 다시 DW에서 2,3차 탐색 과 고급 분석을 거쳐 스마트카 분석 마트를 만든다. 앞서 수집 및 적재한 데이 터가 하이브의 External 영역에 적재되어 있는데, 이를 정제해서 Managed 영역 으로 옮기고 주제 영역별 Mart를 구성하는데 하이브가 주로 사용된다.

휴에서는 HDFS, 하이브를 편리하게 사용하기 위한 웹 에디터를 기본적으로 제공한다. 웹 에디터를 통해 “스마트카 상태 데이터”를 직관적으로 탐색 할 수 있다. 또한 추가적으로 사용할 데이터셋인 “스마트카 마스터 데이터”,

“스마트카 차량 물품 구매 이력 데이터”를 임포트하는 작업도 진행한다. 스 파크 셸에서 스파크 SQL API를 이용해 추가로 적재될 “스마트카 마스터” 데 이터를 조회 및 정제하는 작업을 추가로 하였다. 스마트카 분석 마트를 만들기 위해서는 3가지 데이터셋 주제 영역별 데이터웨어하우스 작업이 필요한데, 이 때는 휴의 Job Designer를 이용해 우지의 워크플로를 3가지로 나누어 작성하고 실행한다.

탐색 레이어에서는 스마트카의 기능별 상태를 점검하기 위해 적재된 데이터 를 탐색 및 가공해서 분석하기 쉬운 데이터셋으로 재구성한다. 수집 및 적재된 원천 데이터를 탐색해서 최종 분석 마트 데이터까지 만들어가는 과정을 설명한 다. 먼저 External에 적재된 데이터를 휴에서 제공하는 Hive Editor를 이용해 SQL과 유사한 방식으로 조회한다. External에 적재된 데이터를 작업일자 기준 으로 후처리 작업을 하며, 하이브의 Managed 영역에는 스마트카로부터 발생한 생성일자를 기준으로 2차 적재한다. 필요 시 데이터를 필터링 및 클린징 처리 하거나 통합, 분리 작업을 수행한다. Managed에 만들어진 데이터는 곧바로 분 석에 활용된다. External 영역보다 데이터가 구조화됐고, 내용들이 정제되면서 정형 데이터로 전환한다. 이 단계에서 업무 요건에 맞는 필요한 애드훅 조회를 하며 탐색적 분석을 수행한다.

마트영역에서는 개발자 또는 분석가들이 실행한 애드훅 작업들은 많은 시간 과 노력을 들여 만들어지는 가치 있는 데이터이다. 이러한 애드훅 작업의 결과 는 재사용이 가능하도록 마트화하고, 외부 업무 시스템에 제공할 수 있어야 한 다. 이때 우지의 워크플로를 이용해 프로세스화하고 자동화하게 된다. HDFS에 적재된 데이터를 확인한다. 이 데이터는 플럼에서 수집한 데이터를 1차로 적재 한 곳이며, 하이브의 External 영역에 해당한다. 여기서 하이브를 이용해 이곳 의 데이터를 탐색하기 위해서는 적재된 데이터를 하이브의 테이블 구조와 매핑 시킨 메타 정보가 필요하다.

하이브 쿼리를 이용해 테이블을 생성한다. 쿼리 내용은 앞서 적재한 “스마 트카 상태 정보”의 파일 위치, 형식, 구조 등의 정보를 하이브 테이블로 정의 하고 있다. 즉, 스키마가 없는 데이터를 하이브의 스키마로 정해 하이브의 메타 스토어에 등록하는 작업이다. 추가적으로 작업 일자를 기준으로 파티션 정보를 생성한다. Alter Table 명령을 실행해 작업 일자 기준으로 파티션 정보를 추가 한다. 파티션 정보는 하이브의 메타스토어에서 관리 되는데 파티셔닝 대상 데 이터가 적재되면 그에 해당하는 하이브 테이블에 Add Partition을 반드시 수행 해야 한다. External에 생성된 테이블은 SELECT 쿼리를 실행하여 간단히 조회 할 수 있다. Fig 15, 16는 하이브에서 쿼리를 작성하고 조회한 결과를 보여준 다.

이제 앞선 설명한 나머지 두 데이터셋을 추가로 적재한다. “스마트카 마스 터 데이터”, “스마트카 차량용품 구매이력 데이터”이다. 해당 데이터는 외부 데이터로서 휴 파일 브라우저의 업로드 기능을 이용해 적재하고 하이브의 External Table로 정의한다. 추가한 데이터셋을 앞서 만든 스마트카 상태 정보 데이터 테이블과 같이 테이블을 생성 및 저장한다. 스파크를 활용해서 테이블 을 생성할 수 있는데 “스마트카 마스터 데이터”를 활용한다. Fig 17은 스파 크 쉘을 활용한 쿼리 검색 결과이다.

Fig 15 Hive 쿼리 작성

Fig 16 Hive 쿼리 검색 결과

Fig 17 스파크를 활용한 쿼리 검색 결과

관련 데이터 마트를 만들기 위해 휴의 Job Designer에서 우지의 워크플로를 이용한다. 우선 로그 시뮬레이터를 이용해 “스마트카 상태 정보 데이터”를 생성한다. 그리고 플럼과 HDFS에 적재되었는지 확인한다. 그리고 각 데이터셋 별로 스마트카 상태 정보 모니터링, 긴급 점검이 필요한 스마트카 정보, 스마트 카 운전자 차량용품 구매 이력 정보의 워크플로를 작성한다. 각 워크플로는 Fig 18, Fig 19, Fig 20으로 스크립트가 구성되어 있다. 공통적으로, 테이블을 생성하는 create_table 함수와 데이터를 입력하는 insert_table 함수를 가지고 있 다. 스마트카 상태 정보 모니터링 워크플로는 작업일자를 기준으로 파티션 정 보를 추가하는 스크립트가 추가로 포함되어 있고, 스마트카 운전자 차량용품 구매 이력 정보 워크플로에는 차량별로 구매한 상품 리스트를 조회해서 로컬 파일시스템의 특정 위치에 파일을 생성하는 하이브 스크립트를 포함하고 있다.

Fig 18 스마트카 상태 정보 모니터링

Fig 19 긴급 점검이 필요한 스마트카 정보

Fig 20 스마트카 운전자 차량용품 구매 이력 정보

문서에서 저작자표시 (페이지 32-37)

관련 문서