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

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

    • PDF

    기사 요약

    Classic 환경에서 이용 가능합니다.

    이 가이드에서는 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_C_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.ncloudstorage.com"]
            }
    
    1. 서비스를 재시작해 새로운 구성을 반영해 주십시오.
    참고

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

    참고

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

    Hive 테이블 쿼리 실행

    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의 데이터베이스 안에 있는 테이블을 대상으로 쿼리를 수행한 후 결과를 확인해 주십시오.
    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.