Presto(Trino)로 Hive warehouse 데이터 분석
    • PDF

    Presto(Trino)로 Hive warehouse 데이터 분석

    • PDF

    Article Summary

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

    참고
    • Cloud Hadoop 1.9까지는 Presto 란 이름으로 사용되었고, Cloud Hadoop 2.0 에서는 Trino 라는 이름으로 사용됩니다.

    아키텍처

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

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

    chadoop-4-8-001.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}.properties이 필요합니다. 따라서 여러 개의 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 컴포넌트가 설치된 노드에 접속한 후, 다음 명령어로 Presto CLI를 실행해 주십시오.
      • <COORDINATOR-HOST-IP>에는 엣지 노드의 Private IP를 입력해 주십시오.
    /usr/lib/presto/bin/presto-cli --server <COORDINATOR-HOST-IP>:8285 --catalog hive --schema default
    
    1. Hive 데이터베이스 안에 있는 테이블을 대상으로 쿼리를 수행한 후, 다음과 같이 결과를 확인해 주십시오.
    presto:default> describe allstarfull;
    

    chadoop-4-8-003_ko.png

    presto:default> SELECT playerid, sum(gp) from allstarfull group by playerid;
    

    chadoop-4-8-004_ko.png


    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.