Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:Spark ile JindoSDK kullanarak OSS-HDFS'de depolanan verileri sorgulama

Son Güncelleme:Oct 01, 2026

JindoSDK, Hadoop ve Spark ekosistemleri için bir OSS istemcisidir ve yüksek düzeyde optimize edilmiş bir Hadoop FileSystem uygulaması sunar. Hadoop OSS istemcilerine kıyasla JindoSDK, Spark kullanarak OSS-HDFS'deki verileri sorgularken daha iyi performans sağlar.

Ön koşullar

Yordam

  1. ECS örneğine bağlanın. Daha fazla bilgi için bkz. ECS örneğine bağlanma.

  2. JindoSDK'yı yapılandırın.

    1. JindoSDK JAR paketinin en son sürümünü indirin. JindoSDK'yı indirmek için GitHub adresini ziyaret edin.

    2. JindoSDK JAR paketini açın.

      Aşağıdaki örnek, jindosdk-x.x.x-linux.tar.gz adlı bir paketin nasıl açılacağını gösterir. Farklı bir JindoSDK sürümü kullanıyorsanız paket adını ilgili JAR paketinin adıyla değiştirin.

      tar zxvf jindosdk-x.x.x-linux.tar.gz
      Not

      x.x.x, JindoSDK JAR paketinin sürüm numarasını belirtir.

    3. İndirilen JindoSDK JAR dosyalarını classpath'e kopyalayın.

      cp jindosdk-x.x.x-linux/lib/*.jar  $SPARK_HOME/jars/
  3. OSS-HDFS uygulama sınıfını yapılandırın ve pakete erişmek için kullanmak istediğiniz AccessKey çiftini belirtin.

    • Ayarları core-site.xml dosyasında yapılandırın.

      1. Spark'ın core-site.xml dosyasında OSS-HDFS uygulama sınıfını yapılandırın.

        <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'ın core-site.xml yapılandırma dosyasında OSS-HDFS etkinleştirilmiş pakete erişmek için kullanılan AccessKey ID ve AccessKey secret değerlerini belirtin.

        <configuration>
            <property>
                <name>fs.oss.accessKeyId</name>
                <value>LTAI********</value>
            </property>
        
            <property>
                <name>fs.oss.accessKeySecret</name>
                <value>KZo1********</value>
            </property>
        </configuration>
    • Spark işlerini gönderirken ayarları yapılandırın.

      Aşağıdaki örnek, Spark işlerini gönderirken OSS-HDFS uygulama sınıfının nasıl yapılandırılacağını ve bir pakete erişmek için kullanılacak AccessKey çiftinin nasıl belirtileceğini gösterir:

      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 uç noktasını yapılandırın.

    Object Storage Service (OSS) paketlerine erişmek için OSS-HDFS kullanmak istiyorsanız OSS-HDFS uç noktasını belirtmeniz gerekir. OSS-HDFS'ye erişimde kullanılan yolu oss://{yourBucketName}.{yourBucketEndpoint}/{path} biçiminde yapılandırmanızı öneririz (örnek: oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt). Erişim yolunu yapılandırdıktan sonra JindoSDK, erişim yolunda belirtilen uç noktaya göre ilgili OSS-HDFS işlemini çağırır.

    OSS-HDFS uç noktasını farklı yöntemlerle de yapılandırabilirsiniz. Farklı yöntemlerle yapılandırılan uç noktaların öncelikleri değişir. Daha fazla bilgi için bkz. Hızlı başlangıç: EMR dışı bir kümeyi OSS-HDFS hizmetine bağlama.

  5. OSS-HDFS'ye erişmek için Spark'ı kullanın.

    1. Bir tablo oluşturun.

      create table test_oss (c1 string) location "oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/";
    2. Tabloya veri ekleyin.

      insert into table test_oss values ("testdata");
    3. Tablodaki verileri sorgulayın.

      select * from test_oss;