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

Object Storage Service:TrinoでJindoSDKを使用して、OSS-HDFSに保存されているデータを照会する

最終更新日:May 06, 2024

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

前提条件

手順

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

  2. JindoSDKを設定します。

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

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

      次のサンプルコードは、jindosdk-x.x.x-linux.tar.gzという名前のパッケージを解凍する方法の例を示しています。 別のバージョンのJindoSDKを使用する場合は、パッケージ名を対応するJARパッケージの名前に置き換えます。

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

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

    3. オプション。 Kerberos関連およびSASL関連の依存関係が環境に含まれていない場合は、JindoSDKがデプロイされているすべてのノードに次の依存関係をインストールします。

      • UbuntuまたはDebian

        sudo apt-getインストールlibkrb5-dev krb5-admin-server krb5-kdc krb5-user libsasl2-dev libsasl2-modules libsasl2-modules-gssapi-mit
      • Red Hat Enterprise LinuxまたはCentOS

        sudo yum install krb5-server krb5-workstation cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain
      • macOS

        brew install krb5
    4. ダウンロードしたJindoSDK JARパッケージをclasspathで指定されたパスにインストールします。

      cp jindosdk-x.x.x-linux/lib/*.jar $Trino_HOME/plugin/hive-hadoop2/
  3. バケットの実装クラスを設定し、OSS-HDFSへのアクセスに使用するAccessKeyペアを指定します。

    1. という名前のHadoop構成ファイルでOSS-HDFSの実装クラスを構成します。core-site.xmlすべてのTrinoノードで

      <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. では、core-site.xmlすべてのTrinoノードで、OSS-HDFSが有効になっているバケットへのアクセスに使用するAccessKey IDとAccessKey secretを指定します。

      <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を使用してObject Storage Service (OSS) のバケットにアクセスする場合は、OSS-HDFSのエンドポイントを指定する必要があります。 OSS-HDFSへのアクセスに使用されるパスをoss://<Bucket>.<Endpoint>/<Object> 形式で設定することを推奨します。 例: oss:// examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt アクセスパスを設定した後、JindoSDKはアクセスパスで指定されたエンドポイントに基づいて対応するOSS-HDFS操作を呼び出します。

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

    重要

    上記の設定を完了した後、設定を有効にするにはTrinoを再起動する必要があります。

  5. OSSに保存されたデータのクエリ-HDFS

    次の例では、HiveCatalogが使用されています。 Trinoを使用してOSSのスキーマを作成し、SQL文を実行してOSS-HDFSに保存されているデータを照会できます。 Trinoは依存関係としてHive Metastoreを使用するため、HiveサービスにJindoSDKをインストールしてデプロイする必要があります。 詳細については、「HiveでのJindoSDKの使用によるOSS-HDFSに保存されているデータの処理」をご参照ください。

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

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

      (location='oss://<Bucket>.<Endpoint>/<schema_dir>') を使用してスキーマtestDBを作成します。
    3. スキーマを使用します。

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

      テーブルtbl (key int、val int) を作成します。
    5. テーブルにデータを挿入します。

      tbl値に挿入する (1,666) 。
    6. テーブル内のデータを照会します。

      選択 * からtbl;