Utilisez PyODPS dans les instances DSW pour lire et écrire des données dans les tables MaxCompute via SQL.
Prérequis
Avant de commencer, vérifiez que les conditions suivantes sont remplies :
MaxCompute est activé. Pour plus d'informations, consultez la rubrique Activer MaxCompute.
-
Votre compte dispose des autorisations requises pour les projets MaxCompute. Les comptes Alibaba Cloud ne nécessitent aucune autorisation supplémentaire. Pour les utilisateurs RAM, suivez les étapes ci-dessous afin de leur accorder les autorisations nécessaires.
Python 3.6 ou version ultérieure est installé.
Procédure
Utilisez PyODPS pour interagir avec les données dans MaxCompute ou Machine Learning Designer. Pour plus de détails, reportez-vous à la documentation PyODPS.
-
Installez PyODPS.
Dans le terminal DSW, exécutez la commande suivante :
pip install pyodps -
Exécutez la commande suivante pour vérifier l'installation. L'absence de sortie ou d'erreur indique que l'installation a réussi.
# On Windows, use python -c "from odps import ODPS" python3 -c "from odps import ODPS" -
Pour installer des packages destinés à une version Python autre que celle par défaut, exécutez la commande suivante dans l'environnement Python spécifique concerné.
/home/tops/bin/python3.7 -m pip install setuptools>=3.0 # Example: /home/tops/bin/python3.7 is the installation path. -
Lisez les données depuis MaxCompute à l'aide de SQL.
import numpy as np import pandas as pd import os from odps import ODPS from odps.df import DataFrame # Establish connection. o = ODPS( os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'), project='your-default-project', endpoint='your-end-point', ) # Read data from MaxCompute. sql = ''' SELECT * FROM your-default-project.<table> LIMIT 100 ; ''' query_job = o.execute_sql(sql) result = query_job.open_reader(tunnel=True) # Set n_process > 1 to enable multithreading for faster data reading. df = result.to_pandas(n_process=1)Paramètres de configuration :
-
ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET : ID AccessKey et secret AccessKey de votre compte Alibaba Cloud. Définissez-les comme variables d'environnement pour éviter toute fuite d'identifiants.
Obtenez une paire de clés AccessKey. Consultez la rubrique Créer une clé AccessKey.
Configurez les variables d'environnement. Consultez la rubrique Configurer les variables d'environnement.
your-default-project et your-end-point : Remplacez ces valeurs par le nom de votre projet par défaut et votre endpoint. Pour connaître les endpoints régionaux, consultez la rubrique Endpoints.
Pour découvrir d'autres opérations PyODPS sur les tables MaxCompute, telles que l'écriture de données, consultez la rubrique table.
-