Todos os produtos
Search
Central de documentação

AnalyticDB:Acesse dados no OSS

Última atualização: Aug 24, 2026

O mecanismo Spark do AnalyticDB for MySQL permite acessar dados no Object Storage Service (OSS) pertencentes à mesma conta Alibaba Cloud (acesso na mesma conta) ou a uma conta diferente (acesso entre contas). Este tópico descreve como acessar dados no OSS na mesma conta e entre contas.

Pré-requisitos

Etapa 1: Prepare os dados

  1. Prepare um arquivo de texto e carregue-o em um bucket do OSS. Este tópico utiliza como exemplo um arquivo de texto chamado readme.txt. Para mais informações, consulte Carregar arquivos.

    AnalyticDB for MySQL
    Database product
  2. Escreva um script Python e carregue-o no bucket do OSS. Este exemplo usa um script Python chamado example.py, que lê a primeira linha do arquivo readme.txt.

    import sys
    
    from pyspark.sql import SparkSession
    
    # Initialize Spark.
    spark = SparkSession.builder.appName('OSS Example').getOrCreate()
    # Read the specified file. The file path is passed as an argument from 'args'.
    textFile = spark.sparkContext.textFile(sys.argv[1])
    # Count and print the total number of lines in the file.
    print("File total lines: " + str(textFile.count()))
    # Print the first line of the file.
    print("First line is: " + textFile.first())
    

Etapa 2: Acesse os dados do OSS

  1. Faça login no console do AnalyticDB for MySQL. No canto superior esquerdo do console, selecione uma região. No painel de navegação à esquerda, clique em Clusters. Localize o cluster desejado e clique no ID do cluster.

  2. No painel de navegação à esquerda, clique em Job Development > Spark JAR Development.

  3. Acima do editor, selecione um grupo de recursos de job e um tipo de aplicação Spark. Este tópico usa o tipo Batch como exemplo.

  4. No editor, insira o seguinte código Spark para ler o arquivo do OSS e exibir a contagem total de linhas e a primeira linha.

    Acesso na mesma conta

    {
      "args": ["oss://testBucketName/data/readme.txt"],
      "name": "spark-oss-test",
      "file": "oss://testBucketName/data/example.py",
      "conf": {
        "spark.driver.resourceSpec": "small",
        "spark.executor.resourceSpec": "small",
        "spark.executor.instances": 1
      }
    }

    Parâmetros:

    Parâmetro

    Descrição

    args

    Argumentos da aplicação Spark.

    Neste exemplo, o caminho do OSS do arquivo de texto é atribuído a textFile.

    name

    Nome da aplicação Spark.

    file

    Caminho de armazenamento do arquivo principal da aplicação Spark. O arquivo principal pode ser um pacote JAR com a classe de entrada ou um script Python executável.

    Importante

    Atualmente, o arquivo principal de uma aplicação Spark só pode ser armazenado no OSS.

    spark.adb.roleArn

    Função RAM para acesso entre contas a uma fonte de dados externa. Especifique várias funções separando-as por vírgulas (,). O formato é acs:ram::<testAccountID>:role/<testUserName>.

    • <testAccountID>: ID da conta Alibaba Cloud à qual a fonte de dados externa pertence.

    • <testUserName>: Nome da função RAM criada para autorização entre contas. Para mais informações, consulte Autorizar contas.

    Nota

    Este parâmetro não é necessário para acesso ao OSS na mesma conta.

    conf

    Parâmetros de configuração da aplicação Spark. A maioria é consistente com os parâmetros padrão do Apache Spark. O formato é key: value. Use vírgulas (,) para separar vários parâmetros. Para parâmetros diferentes do Apache Spark ou específicos do AnalyticDB for MySQL, consulte Parâmetros de configuração de aplicações Spark.

    Acesso entre contas

    {
      "args": ["oss://testBucketName/data/readme.txt"],
      "name": "CrossAccount",
      "file": "oss://testBucketName/data/example.py",
      "conf": {
        "spark.adb.roleArn": "acs:ram::testAccountID:role/<testUserName>",
        "spark.driver.resourceSpec": "small",
        "spark.executor.resourceSpec": "small",
        "spark.executor.instances": 1  
      }
    }

    Parâmetros:

    Parâmetro

    Descrição

    args

    Argumentos da aplicação Spark.

    Neste exemplo, o caminho do OSS do arquivo de texto é atribuído a textFile.

    name

    Nome da aplicação Spark.

    file

    Caminho de armazenamento do arquivo principal da aplicação Spark. O arquivo principal pode ser um pacote JAR com a classe de entrada ou um script Python executável.

    Importante

    Atualmente, o arquivo principal de uma aplicação Spark só pode ser armazenado no OSS.

    spark.adb.roleArn

    Função RAM para acesso entre contas a uma fonte de dados externa. Especifique várias funções separando-as por vírgulas (,). O formato é acs:ram::<testAccountID>:role/<testUserName>.

    • <testAccountID>: ID da conta Alibaba Cloud à qual a fonte de dados externa pertence.

    • <testUserName>: Nome da função RAM criada para autorização entre contas. Para mais informações, consulte Autorizar contas.

    Nota

    Este parâmetro não é necessário para acesso ao OSS na mesma conta.

    conf

    Parâmetros de configuração da aplicação Spark. A maioria é consistente com os parâmetros padrão do Apache Spark. O formato é key: value. Use vírgulas (,) para separar vários parâmetros. Para parâmetros diferentes do Apache Spark ou específicos do AnalyticDB for MySQL, consulte Parâmetros de configuração de aplicações Spark.

  5. Clique em Run Now.

    Após a conclusão do job, visualize a saída no log do job. Para isso, acesse Applications na página Spark JAR Development e clique em Logs referente ao seu job. Para mais informações, consulte Editor de desenvolvimento Spark.

Referências