O MaxFrame é um framework de computação científica distribuída desenvolvido pela Alibaba Cloud. Baseado no PyODPS e no Mars, o MaxFrame oferece APIs compatíveis com Pandas e permite trabalhar com o MaxCompute da mesma forma que com Python.
Informações básicas
Python é a principal linguagem de programação para machine learning e desenvolvimento de modelos de IA. A linguagem oferece bibliotecas robustas de computação científica e visualização, como NumPy (operações com arrays multidimensionais), Pandas (análise de dados), Matplotlib (gráficos 2D) e scikit-learn (algoritmos de análise e mineração de dados), além de frameworks de treinamento como TensorFlow, PyTorch, XGBoost e LightGBM.
O MaxCompute fornece um ecossistema de desenvolvimento Python para processamento de dados em larga escala, análise, mineração e treinamento de modelos. Com APIs Python unificadas, processe e ministre dados de maneira eficiente.
Histórico de desenvolvimento
A figura a seguir ilustra o histórico de desenvolvimento do ecossistema Python do MaxCompute.
PyODPS
Lançado oficialmente em 2015, o PyODPS atua como o SDK do MaxCompute para Python. Ele permite operar sobre os dados do MaxCompute por meio de interfaces Python. Ao longo de várias iterações, o PyODPS adicionou suporte a DataFrame com sintaxe semelhante à do Pandas, além de operadores integrados para agregação, ordenação e deduplicação.
Principais recursos do PyODPS:
-
Suporte a operações básicas em objetos do MaxCompute (em 2015):
Acesse objetos do MaxCompute, como tabelas, resources e funções.
Envie solicitações SQL usando o método
run_sqlouexecute_sql.Execute tarefas de machine learning do Platform for AI (PAI) utilizando o método
run_xflowouexecute_xflow.Faça upload e baixe dados por meio das operações
open_write,open_readerou da API Tunnel.
-
APIs de DataFrame e interfaces semelhantes ao Pandas para computação de DataFrame no MaxCompute (de 2016 a 2022):
O PyODPS DataFrame possibilita executar operações de dados em Python e aproveitar os recursos nativos da linguagem.
Fornece interfaces similares às do Pandas com sintaxe estendida, incluindo APIs MapReduce para ambientes de big data.
Oferece funções integradas para agregação, ordenação, deduplicação, amostragem e visualização.
Mars
O ecossistema Python disponibiliza diversas bibliotecas de computação científica, como NumPy, Pandas e scikit-learn, com operadores práticos para análise e mineração. No entanto, a maioria dessas bibliotecas restringe-se a recursos locais. O Mars é um framework de computação distribuída baseado em tensores que implementa cerca de 70% das interfaces do NumPy de forma distribuída. Isso reduz significativamente a complexidade na escrita de código científico distribuído.
Principais recursos do Mars:
Compatibilidade e capacidade distribuída: lançado como open source em janeiro de 2019, o Mars permite que NumPy, Pandas, scikit-learn e funções Python rodem de maneira distribuída e mantenham a compatibilidade com a maioria das interfaces.
MaxFrame
Mars e PyODPS atendem a cenários distintos. Usuários familiarizados com Pandas que desejam executar NumPy ou scikit-learn em paralelo encontram no Mars a solução mais adequada. Já aqueles que precisam de processamento baseado em DataFrame com alta estabilidade na escala de terabytes ou superior devem optar pelo PyODPS. Contudo, a complexidade dessa arquitetura dividida gera dificuldades para os usuários.
O MaxFrame é um framework de computação científica distribuída desenvolvido pela Alibaba Cloud. Totalmente compatível com as interfaces do Pandas, ele seleciona automaticamente o mecanismo subjacente ideal para executar jobs. Isso melhora tanto o desempenho quanto a eficiência do desenvolvimento. Não é mais necessário escolher manualmente um mecanismo de execução. Conclua eficientemente todo o fluxo de trabalho, desde o desenvolvimento e a análise de dados até o treinamento e a inferência de IA. O diagrama a seguir apresenta essa arquitetura.
Principais recursos do MaxFrame:
-
Hábitos de desenvolvimento mais familiares
Compatível com o ecossistema Python, o MaxFrame oferece interfaces de desenvolvimento unificadas para o MaxCompute. Assim, utilize o mesmo código Python durante todo o processo de desenvolvimento de dados e IA.
Além disso, o MaxFrame referencia diretamente bibliotecas de terceiros, como NumPy, SciPy, Pandas e Matplotlib, para computação científica, análise de dados e visualização. Isso reduz os custos operacionais.
-
Maior desempenho de processamento
O MaxFrame acessa os dados do MaxCompute diretamente, sem precisar transferi-los para sua máquina local. Isso elimina movimentações desnecessárias de dados e aumenta a eficiência da execução.
Ao aproveitar os recursos de computação elástica do MaxCompute com distribuição automática e processamento paralelo, o tempo de processamento de dados diminui consideravelmente.
-
Experiência de desenvolvimento mais prática
Integrado ao MaxCompute Notebook e ao DataWorks, o MaxFrame pode ser usado diretamente em qualquer um desses ambientes sem configurações adicionais ou instale no seu ambiente local.
Também há suporte para imagens integradas e personalizadas no MaxCompute. Esse recurso reduz o tempo de configuração do ambiente e evita conflitos de versão.
-
Suporte aprimorado a operadores
Com total compatibilidade com as interfaces do Pandas e distribuição automática de processamento, o MaxFrame entrega capacidades robustas de manipulação de dados com alta eficiência computacional.