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

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

最終更新日:Nov 09, 2025

JindoSDK は、Hadoop および Spark エコシステム向けに開発された使いやすい OSS クライアントです。OSS 用に高度に最適化された Hadoop FileSystem 実装を提供します。JindoSDK と Spark を使用して、Hadoop コミュニティの OSS クライアントよりも優れたパフォーマンスで OSS-HDFS のデータをクエリできます。

前提条件

  • Alibaba Cloud ECS インスタンスが利用可能です。 詳細については、「ECS インスタンスの購入」をご参照ください。

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

  • Apache Spark がデプロイされていること。 詳細については、「Apache Spark」をご参照ください。

  • 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 パッケージを Spark クラスパスにコピーします。

      cp jindosdk-x.x.x-linux/lib/*.jar  $SPARK_HOME/jars/
  3. OSS-HDFS 実装クラスと AccessKey ペアを構成します。

    • core-site.xml ファイルで設定を構成します。

      1. Spark の core-site.xml ファイルで OSS-HDFS サービスの実装クラスを構成します。

        <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. Spark の core-site.xml ファイルで、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>
    • または、タスクを送信するときに設定を構成することもできます。

      次のサンプルコードは、Spark タスクを送信するときに OSS-HDFS 実装クラスと AccessKey ペアを構成する方法を示しています。

      spark-submit --conf spark.hadoop.fs.AbstractFileSystem.oss.impl=com.aliyun.jindodata.oss.OSS --conf spark.hadoop.fs.oss.impl=com.aliyun.jindodata.oss.JindoOssFileSystem --conf spark.hadoop.fs.oss.accessKeyId=LTAI********  --conf spark.hadoop.fs.oss.accessKeySecret=KZo149BD9GLPNiDIEmdQ7d****
  4. OSS-HDFS サービスのエンドポイントを構成します。

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

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

  5. Spark を使用して OSS-HDFS にアクセスします。

    1. テーブルを作成します。

      create table test_oss (c1 string) location "oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/";
    2. テーブルにデータを挿入します。

      insert into table test_oss values ("testdata");
    3. テーブルをクエリします。

      select * from test_oss;