VPC環境で利用できます。
本ガイドでは、Presto(Trino)の Hive Connectorを使用して、Hive data warehouseに保存したデータを分析する方法について説明します。
- Cloud Hadoop 1.9までは Prestoを、Cloud Hadoop 2.0では Trinoという名前を使用します。
アーキテクチャ
Presto(Trino)はインタラクティブのクエリ用途であり、Hiveはバッチタスク中心に使用します。Oozieや Airflowといったアプリケーションを用い、バッチタスクをスケジュールできます。
Presto(Trino)では、Connectorを用いて様々なデータソースにアクセスするだけでなく、1つのクエリで複数のデータソースにクエリできます。Hive Connectorを用いると、Presto(Trino)は Hive metadataと Hive warehouseに保存されたデータのみ使用し、HiveQLや Hiveのクエリ実行エンジン(MapReduce)は使用しません。

Presto(Trino) connectorの構成
Ambari UIページで Presto(Trino) connector関連の構成設定を変更できます。
Ambari UIへのアクセスや使用に関する詳細は、Ambari UIガイドをご参照ください。
Presto(Trino)の Connector構成を変更する方法は、次の通りです。
- Ambari UIにアクセスし、Trino > [CONFIGS] > Advanced trino.connectors.propertiesをクリックします。
- 構成の設定画面で、
connectors.to.addには追加する connectorを、削除する connectorがある場合はconnectors.to.deleteに削除する connectorを入力し、 [Save] ボタンをクリックします。

-
Presto(Trino)は、使用する Connectorのインスタンスごとに
/etc/trino/conf/catalogの下位に configファイル{connector명}.propertiesが必要です。複数の Hiveクラスタを Presto(Trino)と連携するには、それぞれのクラスタに 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"] }
-
入力した設定はサーバ内の
{connector명}.propertiesファイルとして作成されます。ファイル内容を確認するには、以下のコマンドを使用します。cd ../../etc/trino/conf/catalog vi {connector名}.properties
-
このガイドの例では、Hive Connectorを追加するため、
connectors.to.addに以下のように入力します。{ "hive": [ "connector.name=hive", "hive.security=allow-all", "hive.recursive-directories=true", "hive.non-managed-table-writes-enabled=true", "hive.non-managed-table-creates-enabled=true", "hive.metastore.uri=thrift://metastore.datacatalog-svc.naverncp.com:30773", "hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml", "hive.translate-hive-views=true", "hive.legacy-hive-view-translation=true", "hive.s3.aws-access-key=<API-ACCESS-KEY>", "hive.s3.aws-secret-key=<API-SECRET-KEY>", "hive.s3.endpoint=kr.object.private.ncloudstorage.com" ] }
- [ACTIONS] > Restart Allをクリックします。ポップアップの [CONFIRM RESTART ALL] ボタンをクリックし、サービスを再起動して新しい構成を反映します。

Hadoopの構成ファイル(/etc/hadoop/conf/core-site.xml、/etc/hadoop/conf/hdfs-site.xml)が Presto(Trino)を実行するノードに存在する必要があります。
Presto(Trino)の構成(configuration)に関する詳細は、Presto(Trino) Documentationをご参照ください。
Hiveテーブルクエリを実行
このガイドでは、Hive を使用するガイドで作成した allstarfull テーブルにクエリを実行しました。
Hiveテーブルクエリを実行する方法は、次の通りです。
- Trino CLIコンポーネントがインストールされたノードにアクセスし、以下のコマンドで Trino CLIを実行します。
<COORDINATOR-HOST-IP>には、エッジノードの Private IPアドレスを入力します。
/home1/cdp/usr/nch/3.1.0.0-78/trino/bin/trino-cli --server <COORDINATOR-HOST-IP>:8285 --catalog hive --schema default
- Hiveのデータベースにあるテーブルを対象にクエリを実行し、以下のように結果を確認します。
trino:default> describe allstarfull;

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