Tous les produits
Search
Centre de documentation

MaxCompute:Utiliser MaxFrame dans un environnement local

Dernière mise à jour :Aug 10, 2026

Installez le SDK MaxFrame sur votre machine locale pour interagir avec MaxCompute et traiter des données distribuées.

Prérequis

Avant de commencer, vérifiez que les conditions suivantes sont remplies :

  • Python 3.7 ou 3,11 est installé sur votre système local. Les autres versions peuvent provoquer des erreurs.

  • pip est installé sur votre système local. Sinon, consultez le site officiel de Python pour obtenir les instructions d'installation.

  • Un projet MaxCompute est créé. Pour plus d'informations, consultez la rubrique Créer un projet MaxCompute.

Installer MaxFrame

  1. Dans une fenêtre de ligne de commande (comme l'invite de commandes Windows), exécutez la commande pip suivante pour installer le client MaxFrame :

    pip install --upgrade maxframe
  2. Exécutez la commande suivante pour vérifier l'installation. L'installation a réussi si aucune sortie ni erreur n'apparaît.

    python -c "import maxframe.dataframe as md"

    En cas d'erreur, vérifiez votre version Python par défaut et basculez vers Python 3.7 ou 3,11. Par exemple :

    # Check the system default version
    python --version 
    
    # Switch the system default version to Python 3.7, where $path/python3.7 is the installed Python path
    $path/python3.7 -m pip install setuptools>=3.0

Utiliser MaxFrame

  1. Créez un fichier local avec l'extension .py (par exemple, test.py). Copiez l'exemple de code suivant dans test.py et enregistrez le fichier.

    import os
    import maxframe.dataframe as md
    from odps import ODPS
    from maxframe import new_session
    
    # Create a MaxCompute entry point
    o = ODPS(
        # Set the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable to your AccessKey ID,
        # and ALIBABA_CLOUD_ACCESS_KEY_SECRET to your AccessKey secret.
        # Do not use AccessKey ID and AccessKey secret strings directly.
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
        project='your-default-project',
        endpoint='your-end-point',
    )
    table = o.create_table("test_source_table", "a string, b bigint", if_not_exists=True)
    with table.open_writer() as writer:
        writer.write([
            ["value1", 0],
            ["value2", 1],
        ])
    
    # Create a MaxFrame session
    session = new_session(o)
    
    df = md.read_odps_table("test_source_table",index_col="b")
    df["a"] = "prefix_" + df["a"]
    
    # Print dataframe data
    print(df.execute().fetch())
    
    # Write MaxFrame DataFrame data to a MaxCompute table
    md.to_odps_table(df, "test_prefix_source_table").execute()
    
    # Destroy the MaxFrame session
    session.destroy()

    Descriptions des paramètres :

    • ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET : définissez ces variables d'environnement avec l'ID AccessKey et le secret AccessKey disposant des autorisations requises pour votre projet MaxCompute cible. Vous pouvez obtenir votre ID AccessKey depuis la page Gestion des clés d'accès.

    • your-default-project : nom de votre projet MaxCompute. Connectez-vous à la console MaxCompute, puis dans le volet de navigation de gauche, choisissez Workspace > Projects pour le consulter.

    • your-end-point : endpoint de la région où se trouve votre projet MaxCompute. Pour plus d'informations, consultez la rubrique Endpoint.

  2. Accédez au répertoire contenant test.py et exécutez-le. Par exemple :

    python test.py

Validation des résultats

Après avoir exécuté le code Python, interrogez les données de la table de destination. Si le résultat correspond aux attentes, MaxFrame est correctement installé et connecté au cluster MaxCompute.

  1. L'exécution du code Python renvoie le résultat suivant :

    b           a
    0  prefix_value1
    1  prefix_value2
  2. Dans votre projet MaxCompute cible, exécutez le code SQL suivant pour interroger les données de la table test_prefix_source_table.

    SELECT * FROM test_prefix_source_table;

    Le résultat renvoyé est le suivant :

    +------------+------------+
    | b          | a          |
    +------------+------------+
    | 0          | prefix_value1 |
    | 1          | prefix_value2 |
    +------------+------------+