Présentation
MaxFrame est un framework de calcul distribué proposé par Alibaba Cloud MaxCompute, doté d'une interface de programmation Python. Il résout deux défis majeurs du traitement des données en Python traditionnel : les goulots d'étranglement liés aux performances et l'inefficacité des transferts de données. MaxFrame vous permet de traiter et d'analyser des données à l'échelle du pétaoctet directement sur MaxCompute, pour l'exploration visuelle des données, le calcul scientifique, le machine learning et le développement d'applications d'IA.
Cas d'utilisation
Exploration interactive des données
Explorez, manipulez et visualisez des ensembles de données massifs en temps réel, sans contrainte de mémoire, comme dans un Jupyter Notebook local.
Prétraitement des données à grande échelle (ETL)
Remplacez la logique complexe SQL+UDF par du Python expressif et facile à maintenir pour le nettoyage, la conversion de format et l'ingénierie des caractéristiques de données de plusieurs téraoctets, tout en bénéficiant des performances d'une exécution distribuée.
IA et machine learning
MaxFrame unifie le traitement des données et l'entraînement des modèles. Préparez efficacement vos données d'entraînement et utilisez la fonctionnalité d'image pour importer des bibliothèques telles que Scikit-learn et XGBoost afin de mettre en place des workflows d'IA de bout en bout.
Notes d'utilisation
Régions prises en charge
Chine (Hangzhou), Chine (Shanghai), Chine (Pékin), Chine (Shenzhen), Chine (Hong Kong), Japon (Tokyo), Singapour, Indonésie (Jakarta), Allemagne (Francfort), États-Unis (Silicon Valley) et États-Unis (Virginie).
Environnements pris en charge
Environnement de développement Python local.
MaxCompute Notebook.
DataWorks Notebook.
Nœuds de tâche PyODPS 3 de DataWorks Data Development.
Facturation
MaxFrame facture l'utilisation des ressources de calcul par job. Elle prend en charge la facturation au et par abonnement.
Abonnement : les jobs consomment le quota du groupe de ressources acheté sans frais supplémentaires.
Analyser la facture et les détails d'utilisation de MaxCompute.
Principaux avantages
MaxFrame offre plusieurs avantages clés par rapport aux autres outils Python pour MaxCompute :
API compatible avec Pandas : migrez votre code Pandas existant vers MaxCompute avec des modifications minimales, ce qui réduit les coûts d'apprentissage et de migration.
Exécution distribuée côté serveur : les jobs s'exécutent au sein du cluster MaxCompute sans rapatrier les données sur votre machine locale, éliminant ainsi les goulots d'étranglement liés à la mémoire du client et permettant le traitement à l'échelle du pétaoctet.
Ressources de calcul élastiques : bâti sur l'architecture serverless de MaxCompute, MaxFrame alloue les ressources à la demande. Traitez des données à n'importe quelle échelle sans gérer de clusters.
Environnement de développement simplifié : environnements Python 3.7 et Python 3.11 intégrés avec des bibliothèques préinstallées telles que Pandas et XGBoost. Ajoutez des dépendances tierces via de simples annotations, sans empaquetage manuel ni téléchargement d'UDF.
Le tableau suivant compare MaxFrame aux autres outils de développement Python :
|
Élément de comparaison |
MaxFrame |
PyODPS |
Mars |
SQL+UDF |
|
API de développement |
Compatible avec Pandas. |
La syntaxe et l'API diffèrent considérablement de DataFrame Pandas. |
Nécessite l'utilisation de deux ensembles d'API : SQL et Python. |
|
|
Traitement des données |
Les données restent sur le serveur lors de l'exécution, aucun transfert local n'est nécessaire, ce qui améliore l'efficacité de l'exécution. |
La méthode |
Exécution distribuée uniquement pour certains opérateurs. Nécessite la création d'un cluster lors de l'initialisation ; lenteur et faible stabilité. |
Jobs distribués via MaxCompute SQL. |
|
Ressources de calcul |
Non limité par les ressources locales, levant les goulots d'étranglement de Python sur une seule machine. |
Limité par les ressources locales. |
Limité par la taille des ressources. Les workers, le CPU et la mémoire doivent être spécifiés. |
Calcul élastique pour les jobs SQL via MaxCompute serverless. |
|
Expérience de développement |
Développement interactif et planification hors ligne prêts à l'emploi. Bibliothèques courantes intégrées. Gérez les dépendances via des annotations, sans empaquetage manuel. |
Développement interactif et planification hors ligne prêts à l'emploi. |
Nécessite la configuration d'un environnement d'exécution et le lancement d'un cluster Mars. |
Les dépendances des UDF Python doivent être empaquetées et téléchargées manuellement. |
Fonctionnement
MaxFrame abstrait la complexité du calcul distribué. Le workflow est le suivant :
Soumission du code : écrivez et exécutez du code Python dans un client tel qu'un Notebook. Le SDK MaxFrame capture et soumet le code à MaxCompute.
Analyse et optimisation : le moteur d'exécution MaxCompute analyse la syntaxe, optimise la logique et transforme le job en un plan physique parallèle.
Exécution distribuée : la tâche optimisée est distribuée sur les nœuds de calcul du cluster MaxCompute, qui lisent les données et effectuent les calculs en parallèle.
Retour des résultats : les résultats sont agrégés et renvoyés à votre client.