Tous les produits
Search
Centre de documentation

AnalyticDB:Accès aux données dans OSS

Dernière mise à jour :Aug 24, 2026

Le moteur Spark d'AnalyticDB for MySQL vous permet d'accéder aux données stockées dans Object Storage Service (OSS), qu'elles appartiennent à votre propre compte Alibaba Cloud (accès intra-compte) ou à un autre compte (accès inter-comptes). Cette rubrique explique comment configurer ces deux types d'accès.

Prérequis

  • Vous avez créé un cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition.

  • Vous avez créé un bucket Object Storage Service (OSS) dans la même région que le cluster AnalyticDB for MySQL.

  • Vous avez créé un groupe de ressources de tâches pour le cluster AnalyticDB for MySQL.

  • Vous avez créé un compte de base de données pour le cluster AnalyticDB for MySQL.

  • Vous avez configuré les autorisations nécessaires. Pour plus d'informations, consultez la section Autorisation rapide.

    Important

    L'accès intra-compte nécessite l'autorisation AliyunADBSparkProcessingDataRole. Pour l'accès inter-comptes, vous devez accorder les autorisations appropriées à l'autre compte Alibaba Cloud.

Étape 1 : Préparation des données

  1. Préparez un fichier texte et téléchargez-le dans un bucket OSS. Cet exemple utilise un fichier nommé readme.txt. Pour plus d'informations, consultez la section Télécharger des fichiers.

    AnalyticDB for MySQL
    Database product
  2. Rédigez un script Python et téléchargez-le dans le bucket OSS. L'exemple ci-dessous utilise un script nommé example.py qui lit la première ligne du fichier 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())
    

Étape 2 : Accès aux données OSS

  1. Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Clusters. Localisez le cluster cible et cliquez sur son ID.

  2. Dans le volet de navigation de gauche, accédez à Job Development > Spark JAR Development.

  3. Au-dessus de l'éditeur, sélectionnez un groupe de ressources de tâches et un type d'application Spark. Cet exemple utilise le type Batch.

  4. Dans l'éditeur, saisissez le code Spark suivant pour lire le fichier depuis OSS et afficher le nombre total de lignes ainsi que la première ligne.

    Accès intra-compte

    {
      "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
      }
    }

    Paramètres :

    Paramètre

    Description

    args

    Arguments de l'application Spark.

    Dans cet exemple, le chemin OSS du fichier texte est assigné à textFile.

    name

    Nom de l'application Spark.

    file

    Chemin de stockage du fichier principal de l'application Spark. Ce fichier peut être un package JAR contenant la classe d'entrée ou un script Python exécutable.

    Important

    Le fichier principal d'une application Spark ne peut actuellement être stocké que dans OSS.

    spark.adb.roleArn

    Rôle RAM utilisé pour l'accès inter-comptes à une source de données externe. Vous pouvez spécifier plusieurs rôles en les séparant par des virgules (,). Le format est acs:ram::<testAccountID>:role/<testUserName>.

    • <testAccountID> : ID du compte Alibaba Cloud propriétaire de la source de données externe.

    • <testUserName> : Nom du rôle RAM créé pour l'autorisation inter-comptes. Pour plus d'informations, consultez Autoriser les comptes.

    Remarque

    Ce paramètre n'est pas requis pour l'accès intra-compte à OSS.

    conf

    Paramètres de configuration de l'application Spark. Ils sont généralement conformes aux paramètres standards d'Apache Spark. Le format est key: value. Séparez plusieurs paramètres par des virgules (,). Pour les paramètres spécifiques à AnalyticDB for MySQL ou différents d'Apache Spark, consultez la section Paramètres de configuration des applications Spark.

    Accès inter-comptes

    {
      "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  
      }
    }

    Paramètres :

    Paramètre

    Description

    args

    Arguments de l'application Spark.

    Dans cet exemple, le chemin OSS du fichier texte est assigné à textFile.

    name

    Nom de l'application Spark.

    file

    Chemin de stockage du fichier principal de l'application Spark. Ce fichier peut être un package JAR contenant la classe d'entrée ou un script Python exécutable.

    Important

    Le fichier principal d'une application Spark ne peut actuellement être stocké que dans OSS.

    spark.adb.roleArn

    Rôle RAM utilisé pour l'accès inter-comptes à une source de données externe. Vous pouvez spécifier plusieurs rôles en les séparant par des virgules (,). Le format est acs:ram::<testAccountID>:role/<testUserName>.

    • <testAccountID> : ID du compte Alibaba Cloud propriétaire de la source de données externe.

    • <testUserName> : Nom du rôle RAM créé pour l'autorisation inter-comptes. Pour plus d'informations, consultez Autoriser les comptes.

    Remarque

    Ce paramètre n'est pas requis pour l'accès intra-compte à OSS.

    conf

    Paramètres de configuration de l'application Spark. Ils sont généralement conformes aux paramètres standards d'Apache Spark. Le format est key: value. Séparez plusieurs paramètres par des virgules (,). Pour les paramètres spécifiques à AnalyticDB for MySQL ou différents d'Apache Spark, consultez la section Paramètres de configuration des applications Spark.

  5. Cliquez sur Run Now.

    Une fois la tâche terminée, vous pouvez consulter la sortie dans les journaux de la tâche. Pour ce faire, accédez à la page Spark JAR Development, ouvrez l'onglet Applications et cliquez sur Logs pour votre tâche. Pour plus d'informations, consultez la section Éditeur de développement Spark.

Références