すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:JindoSDK と Trino を使用して OSS-HDFS のデータをクエリする

最終更新日:Nov 09, 2025

Trino は、インタラクティブな分析のためのオープンソースの分散 SQL クエリエンジンです。このトピックでは、JindoSDK と Trino を使用して OSS-HDFS のデータをクエリする方法について説明します。

前提条件

  • デプロイメント環境として使用する ECS インスタンスを購入済みであること。 詳細については、「ECS インスタンスの購入」をご参照ください。

  • Hadoop 環境を作成済みであること。 詳細については、「Hadoop ランタイム環境の作成」をご参照ください。

  • Trino をデプロイ済みであること。 詳細については、「Trino のデプロイ」をご参照ください。

  • OSS-HDFS を有効化し、必要な権限を付与済みであること。 詳細については、「OSS-HDFS の有効化」をご参照ください。

手順

  1. ECS インスタンスに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. JindoSDK を構成します。

    1. JindoSDK JAR パッケージの最新バージョンをダウンロードします。 ダウンロードリンクについては、「GitHub」をご参照ください。

    2. JindoSDK JAR パッケージを解凍します。

      次のコマンドは、jindosdk-x.x.x-linux.tar.gz を解凍する方法を示しています。 異なるバージョンの JindoSDK を使用する場合は、パッケージ名を実際のパッケージ名に置き換えてください。

      tar zxvf jindosdk-x.x.x-linux.tar.gz
      説明

      x.x.x は JindoSDK JAR パッケージのバージョン番号を表します。

    3. JindoSDK JAR パッケージを Trino クラスパスにインストールします。

      cp jindosdk-x.x.x-linux/lib/*.jar  $Trino_HOME/plugin/hive-hadoop2/
  3. OSS-HDFS 実装クラスと AccessKey を構成します。

    1. すべての Trino ノードで、OSS-HDFS 実装クラスを Hadoop core-site.xml 構成ファイルに追加します。

      <configuration>
          <property>
              <name>fs.AbstractFileSystem.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOSS</value>
          </property>
      
          <property>
              <name>fs.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value>
          </property>
      </configuration>
    2. すべての Trino ノードで、OSS-HDFS が有効になっているバケットの AccessKey ID と AccessKey Secret を Hadoop core-site.xml 構成ファイルに追加します。

      <configuration>
          <property>
              <name>fs.oss.accessKeyId</name>
              <value>LTAI********</value>
          </property>
      
          <property>
              <name>fs.oss.accessKeySecret</name>
              <value>KZo1********</value>
          </property>
      </configuration>
  4. OSS-HDFS エンドポイントを構成します。

    OSS-HDFS を使用して OSS バケットにアクセスするには、エンドポイントを構成する必要があります。 推奨されるアクセスパスのフォーマットは oss://{yourBucketName}.{yourBucketEndpoint}/{path} です (例: oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt)。 構成が完了すると、JindoSDK はアクセスパス内のエンドポイントを使用して OSS-HDFS API にアクセスします。

    他の方法を使用して OSS-HDFS エンドポイントを構成することもできます。 異なる方法で構成されたエンドポイントには、異なる優先順位があります。 詳細については、「付録 1: エンドポイントを構成するその他の方法」をご参照ください。

    重要

    上記の設定が完了したら、Trino サービスを再起動して設定を有効にします。

  5. OSS-HDFS のデータをクエリします。

    次の例では、一般的な Hive カタログを使用して、Trino を使用して OSS にスキーマを作成し、単純な SQL クエリを実行する方法を示します。 Trino は Hive Metastore に依存するため、Hive サービス用の JindoSDK もインストールしてデプロイする必要があります。 詳細については、「JindoSDK と Hive を使用して OSS-HDFS のデータを処理する」をご参照ください。

    1. Trino コンソールにログオンします。

      trino --server <Trino_server_address>:<Trino_server_port> --catalog hive
    2. OSS にスキーマを作成します。

      create schema testDB with (location='oss://{yourBucketName}.{yourBucketEndpoint}/{schema_dir}');
    3. スキーマを使用します。

      use testDB;
    4. テーブルを作成します。

      create table tbl (key int, val int);
    5. テーブルにデータを挿入します。

      insert into tbl values (1,666);
    6. テーブルをクエリします。

      select * from tbl;