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
-
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 -
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
-
Créez un fichier local avec l'extension
.py(par exemple,test.py). Copiez l'exemple de code suivant danstest.pyet 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.
-
Accédez au répertoire contenant
test.pyet 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.
-
L'exécution du code Python renvoie le résultat suivant :
b a 0 prefix_value1 1 prefix_value2 -
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 | +------------+------------+