Todos os produtos
Search
Central de documentação

Object Storage Service:Como usar o JindoSDK com Spark para consultar dados armazenados no OSS-HDFS

Última atualização: Sep 22, 2026

O JindoSDK é um cliente OSS para os ecossistemas Hadoop e Spark que oferece uma implementação altamente otimizada do Hadoop FileSystem. Em comparação com os clientes Hadoop OSS tradicionais, o JindoSDK proporciona desempenho superior ao usar o Spark para consultar dados no OSS-HDFS.

Pré-requisitos

  • Para usar o Elastic Compute Service (ECS) como ambiente de implantação, você precisa create an instance.

  • Um ambiente Hadoop precisa estar criado. Para obter mais informações, consulte Hadoop使用JindoSDK访问OSS-HDFS服务.

  • O Apache Spark precisa estar implantado. Para obter mais informações, acesse Apache Spark.

  • O OSS-HDFS precisa estar ativado para um bucket, e as permissões de acesso ao OSS-HDFS devem estar concedidas. Para obter mais informações, consulte Enable OSS-HDFS service.

Procedimento

  1. Conecte-se à instância ECS. Para obter mais informações, consulte Connect to an ECS instance.

  2. Configure o JindoSDK.

    1. Baixe a versão mais recente do pacote JAR do JindoSDK. Para baixar o JindoSDK, acesse GitHub.

    2. Descompacte o pacote JAR do JindoSDK.

      O exemplo a seguir mostra como descompactar um pacote chamado jindosdk-x.x.x-linux.tar.gz. Caso utilize outra versão do JindoSDK, substitua o nome do pacote pelo nome do pacote JAR correspondente.

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

      x.x.x indica o número da versão do pacote JAR do JindoSDK.

    3. Copie os arquivos JAR do JindoSDK baixados para o classpath.

      cp jindosdk-x.x.x-linux/lib/*.jar  $SPARK_HOME/jars/
  3. Configure a classe de implementação do OSS-HDFS e especifique o par de AccessKey a ser usado para acessar o bucket.

    • Defina as configurações no arquivo core-site.xml

      1. Configure a classe de implementação do OSS-HDFS no arquivo core-site.xml do Spark.

        <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. Configure o AccessKey ID e o AccessKey secret usados para acessar o bucket com OSS-HDFS ativado no arquivo de configuração core-site.xml do Spark.

        <configuration>
            <property>
                <name>fs.oss.accessKeyId</name>
                <value>LTAI********</value>
            </property>
        
            <property>
                <name>fs.oss.accessKeySecret</name>
                <value>KZo1********</value>
            </property>
        </configuration>
    • Defina as configurações ao enviar jobs do Spark

      O exemplo a seguir mostra como configurar a classe de implementação do OSS-HDFS e especificar o par de AccessKey usado para acessar um bucket ao enviar jobs do Spark:

      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. Configure o endpoint do OSS-HDFS.

    Especifique o endpoint do OSS-HDFS para acessar buckets no Object Storage Service (OSS). Recomendamos configurar o caminho de acesso ao OSS-HDFS no formato oss://{yourBucketName}.{yourBucketEndpoint}/{path} (exemplo: oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt). Após configurar o caminho de acesso, o JindoSDK invoca a operação OSS-HDFS correspondente com base no endpoint especificado.

    Também é possível configurar o endpoint do OSS-HDFS por outros métodos. Os endpoints configurados por métodos diferentes possuem prioridades distintas. Para obter mais informações, consulte Quick start: Connect a non-EMR cluster to the OSS-HDFS service.

  5. Use o Spark para acessar o OSS-HDFS.

    1. Crie uma tabela.

      create table test_oss (c1 string) location "oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/";
    2. Insira dados na tabela.

      insert into table test_oss values ("testdata");
    3. Consulte os dados na tabela.

      select * from test_oss;