Todos os produtos
Search
Central de documentação

MaxCompute:Access Alibaba Cloud OSS

Última atualização: Oct 10, 2026

O MaxCompute Spark acessa o Object Storage Service (OSS) da Alibaba Cloud por meio do kit de desenvolvimento de software (SDK) Jindo. O Jindo SDK é um cliente OSS de alto desempenho projetado para o ecossistema Hadoop e Spark. Ele fornece uma implementação do Hadoop FileSystem altamente otimizada para o Alibaba Cloud OSS.

Etapa 1: Configure a classe de implementação e o endpoint do OSS

No modo local, use o endpoint público da região correspondente. No modo cluster, use o endpoint interno. Para mais informações, consulte Regions and endpoints.

  • Spark 3.5+ (integra o JindoSDK 6.5 por padrão). Adicione as seguintes configurações:

    spark.hadoop.fs.AbstractFileSystem.oss.impl=com.aliyun.jindodata.oss.JindoOSS
    spark.hadoop.fs.oss.impl=com.aliyun.jindodata.oss.JindoOssFileSystem
    spark.hadoop.fs.oss.endpoint=oss-${RegionId}-internal.aliyuncs.com
  • Outras versões (se usar o JindoSDK 3.7). Adicione as seguintes configurações:

    spark.hadoop.fs.AbstractFileSystem.oss.impl=com.aliyun.emr.fs.oss.OSS
    spark.hadoop.fs.oss.impl=com.aliyun.emr.fs.oss.JindoOssFileSystem
    spark.hadoop.fs.oss.endpoint=oss-${RegionId}-internal.aliyuncs.com

Etapa 2: Configure as informações de autenticação

Escolha um dos dois métodos de autenticação a seguir.

Método 1: Use um AccessKeyID e AccessKeySecret

Adicione as seguintes configurações ao arquivo spark-defaults.conf ou à sua configuração do DataWorks:

spark.hadoop.fs.oss.accessKeyId=${AccessId}
spark.hadoop.fs.oss.accessKeySecret=${AccessKey}

Método 2: Use um token do Security Token Service

Para mais informações, consulte Authorize access in STS mode. Em seguida, adicione as seguintes configurações.

Configuração do Spark 3.5+

## Add the following configuration items to the spark-defaults.conf file or your DataWorks configuration:
spark.hadoop.fs.oss.credentials.provider=com.aliyun.jindodata.oss.auth.CustomCredentialsProvider
spark.hadoop.aliyun.oss.provider.url=http://localhost:10011/sts-token-info?user_id=${AliyunUid}&role=${RoleName}

Configuração para outras versões

## Add the following configuration items to the spark-defaults.conf file or your DataWorks configuration:
spark.hadoop.odps.cupid.http.server.enable=true
spark.hadoop.fs.jfs.cache.oss.credentials.provider=com.aliyun.emr.fs.auth.CustomCredentialsProvider
spark.hadoop.aliyun.oss.provider.url=http://localhost:10011/sts-token-info?user_id=${AliyunUid}&role=${RoleName}

Etapa 3: Referencie a dependência do JindoSDK (ignore esta etapa para o Spark 3.5+)

  • Modo local

    No modo local, baixe o JindoSDK e adicione-o ao classpath.

    1. Acesse File > Project Structure.

      image

    2. No painel de navegação à esquerda, selecione Modules, clique no ícone + e selecione JARs or Directories.

      image

    3. Adicione todos os arquivos JAR da pasta lib do JindoSDK.

    4. No IDEA, clique em OK.

  • Modo cluster

    • Para o Spark 3.5, o servidor já inclui o Jindo SDK. Você não precisa realizar nenhuma ação.

    • Para outras versões, modifique o arquivo spark-defaults.conf. Adicione a seguinte configuração para usar os recursos públicos:

      spark.hadoop.odps.cupid.resources = public.jindofs-sdk-3.7.2.jar
      
      ## Note: To use a different version of the JindoSDK, download the corresponding SDK version, upload it to your project, and then reference it using spark.hadoop.odps.cupid.resources.

Etapa 4: Configure a lista de permissões de rede

  • Por padrão, você pode acessar o OSS diretamente sem nenhuma configuração.

  • No modo cluster, se não conseguir acessar o OSS, adicione o nome de domínio do bucket de destino à lista de permissões do job. Para isso, adicione a seguinte configuração ao arquivo spark-defaults.conf ou à sua configuração do DataWorks:

    spark.hadoop.odps.cupid.trusted.services.access.list=${BucketName}.oss-${RegionId}-internal.aliyuncs.com

Etapa 5: Envie o job

./bin/spark-submit --class xxx spark-app.jar