Presto로 Hive warehouse 데이터 분석
  • PDF

Presto로 Hive warehouse 데이터 분석

  • PDF

이 가이드에서는 Presto의 Hive Connector를 사용하여 Hive data warehouse에 저장한 데이터를 분석하는 방법을 설명합니다.

아키텍처

Presto는 인터렉티브 쿼리 용도로, Hive는 배치 작업 위주로 사용합니다. Oozie, Airflow와 같은 애플리케이션을 사용해서 배치 작업을 스케줄링할 수 있습니다.

Presto는 Connector를 사용해서 다양한 데이터 소스에 접근할 수 있을 뿐만 아니라, 하나의 쿼리에서 여러 데이터 소스에 질의할 수 있습니다. Hive Connector를 사용하면, Presto는 Hive metadata와 Hive warehouse에 저장된 데이터만 사용하고 HiveQL이나 Hive의 쿼리 실행 엔진(MapReduce)는 사용하지 않습니다.

chadoop-4-8-001_ko.png

Presto connector 구성

Ambari UI 페이지에서 Presto connector 관련 구성 설정을 변경할 수 있습니다.
Ambari UI 접속 및 사용에 대한 자세한 내용은 Ambari UI 가이드를 참고해 주십시오.

Presto의 connector 구성을 변경하는 방법은 다음과 같습니다.

  1. Ambari UI에 접속한 후 Presto > [CONFIGS] > Advanced connectors.properties를 클릭해 주십시오.
  2. 구성 설정 화면에서 connectors.to.add에는 추가할 connector, 삭제할 connector가 있을 경우connectors.to.delete에 삭제할 connector를 입력하고 [Save] 버튼을 클릭해 주십시오.
    chadoop-4-8-002_ko.png
  • Presto는 사용할 Connector 개체마다 /etc/presto/catalog 아래에 config 파일 {connector-name}.propertie이 필요합니다. 따라서 여러 개의 Hive 클러스터를 Presto와 연동하려면, 각각의 클러스터마다 config 파일을 설정해야 합니다.

connector-name-1.properties, connector-name-2.properties 파일을 만들려면 connectors.to.add에 다음과 같이 설정해 주십시오.

{"connector-name-1":["key1=value1",
     "key2=value2",
     "key3=value3"],
"connector-name-2": ["key1=value1"]
        }

이 가이드 예시에서는 Hive Connector를 추가해야 하므로, connectors.to.add에 아래와 같이 입력해 주십시오.

  • <METASTORE-HOST-IP>에는 마스터 노드의 Private IP를 작성해 주십시오.
{"hive":["connector.name=hive-hadoop2",
        "hive.metastore.uri=thrift://<METASTORE-HOST-IP>:9083",
        "hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml",
        "hive.s3.use-instance-credentials=false",
        "hive.s3.aws-access-key=<API-ACCESS-KEY>",
        "hive.s3.aws-secret-key=<API-SECRET-KEY>",
        "hive.s3.endpoint=https://kr.object.fin-ncloudstorage.com"]
        }
  1. [ACTIONS] > Restart All을 클릭해 주십시오. 팝업창의 [CONFIRM RESTART ALL] 버튼을 클릭한 후, 서비스를 재시작하여 새로운 구성을 반영해 주십시오.
    chadoop-4-8-002-1_ko.png
참고

Hadoop 구성파일(/etc/hadoop/conf/core-site.xml, /etc/hadoop/conf/hdfs-site.xml)이 Presto를 실행하는 노드에 존재해야 합니다.

참고

Presto 구성(configuration)에 대한 자세한 내용은 Presto Documentation을 참조해 주십시오.

Hive 테이블 쿼리 실행

이 가이드에서는 Hive 사용 가이드에서 생성한 allstarfull 테이블로 쿼리를 수행했습니다.

Hive 테이블 쿼리를 실행하는 방법은 다음과 같습니다.

  1. Presto CLI 컴포넌트가 설치된 노드에 접속한 후 다음과 같이 CLI를 실행해 주십시오.
    • <COORDINATOR-HOST-IP>에는 엣지 노드의 Private IP를 입력해 주십시오.
 /usr/lib/presto/bin/presto-cli --server <COORDINATOR-HOST-IP>:8285 --catalog hive --schema default
  1. 다음과 같이 Hive 데이터베이스 안에 있는 테이블을 대상으로 쿼리를 수행한 후 결과를 확인해 주십시오.
    chadoop-4-8-003_ko.png

    chadoop-4-8-004_ko.png


이 글이 도움이 되었나요?