Visão geral
O MaxFrame é um framework de computação distribuída do Alibaba Cloud MaxCompute com interface de programação em Python. Ele resolve dois desafios fundamentais do processamento de dados tradicional em Python: gargalos de desempenho e movimentação ineficiente de dados. Com o MaxFrame, processe e analise dados na escala de petabytes diretamente no MaxCompute para exploração visual de dados, computação científica, machine learning e desenvolvimento de IA.
Casos de uso
Exploração interativa de dados
Explore, manipule e visualize grandes conjuntos de dados em tempo real, sem limites de memória, assim como em um Jupyter Notebook local.
Pré-processamento de dados em larga escala (ETL)
Substitua lógicas complexas de SQL+UDF por código Python expressivo e de fácil manutenção para limpeza de dados na casa dos terabytes, conversão de formatos e engenharia de features, com o desempenho da execução distribuída.
IA e machine learning
O MaxFrame unifica o processamento de dados e o treinamento de modelos. Prepare os dados de treinamento de forma eficiente e use o recurso de imagem para importar bibliotecas como Scikit-learn e XGBoost, criando fluxos de trabalho de IA de ponta a ponta.
Observações de uso
Regiões suportadas
China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Hong Kong), Japan (Tokyo), Singapore, Indonesia (Jakarta), Germany (Frankfurt), US (Silicon Valley) e US (Virginia).
Ambientes suportados
Ambiente de desenvolvimento Python local.
MaxCompute Notebook.
DataWorks Notebook.
Nós de tarefa PyODPS 3 no Desenvolvimento de Dados do DataWorks.
Faturamento
O MaxFrame cobra com base no uso de recursos de computação por job. São suportados os modelos de faturamento e assinatura.
Subscription: Os jobs consomem a cota do grupo de recursos adquirido sem custo adicional.
Principais vantagens
O MaxFrame oferece vantagens essenciais em relação a outras ferramentas Python para MaxCompute:
API compatível com Pandas: Migre seu código Pandas existente para o MaxCompute com alterações mínimas, reduzindo os custos de aprendizado e migração.
Execução distribuída no servidor: Os jobs executam dentro do cluster do MaxCompute sem transferir dados para sua máquina local, eliminando gargalos de memória no cliente e permitindo o processamento na escala de petabytes.
Recursos de computação elásticos: Baseado na arquitetura serverless do MaxCompute, o MaxFrame aloca recursos sob demanda. Processe dados de qualquer escala sem gerenciar clusters.
Ambiente de desenvolvimento simplificado: Ambientes Python 3.7 e Python 3.11 integrados, com bibliotecas pré-instaladas como Pandas e XGBoost. Adicione dependências de terceiros por meio de anotações simples, sem empacotamento manual ou upload de UDFs.
A tabela a seguir compara o MaxFrame com outras ferramentas de desenvolvimento Python:
|
Item de Comparação |
MaxFrame |
PyODPS |
Mars |
SQL+UDF |
|
API de desenvolvimento |
Compatível com Pandas. |
Sintaxe e API diferem significativamente do Pandas DataFrame. |
Exige o uso de dois conjuntos de APIs: SQL e Python. |
|
|
Processamento de dados |
Os dados permanecem no servidor durante a execução, sem necessidade de transferência local, o que melhora a eficiência. |
O método |
Execução distribuída apenas para alguns operadores. Requer criação de cluster durante a inicialização; processo lento e com baixa estabilidade. |
Jobs distribuídos via MaxCompute SQL. |
|
Recursos de computação |
Não limitado por recursos locais, superando os gargalos do Python em máquinas únicas. |
Limitado pelos recursos locais. |
Limitado pelo tamanho dos recursos. É necessário especificar Workers, CPU e memória. |
Computação elástica para jobs SQL via MaxCompute serverless. |
|
Experiência de desenvolvimento |
Desenvolvimento interativo e agendamento offline prontos para uso. Bibliotecas comuns integradas. Gerencie dependências via anotações, sem empacotamento manual. |
Desenvolvimento interativo e agendamento offline prontos para uso. |
Requer configuração de ambiente de execução e inicialização de um cluster Mars. |
As dependências de UDF Python devem ser empacotadas e enviadas manualmente. |
Como funciona
O MaxFrame abstrai a complexidade da computação distribuída. O fluxo de trabalho é o seguinte:
Envio de código: Escreva e execute o código Python em um cliente, como um Notebook. O SDK do MaxFrame captura e envia o código para o MaxCompute.
Análise e otimização: O mecanismo de execução do MaxCompute analisa a sintaxe, otimiza a lógica e transforma o job em um plano físico paralelo.
Execução distribuída: A tarefa otimizada é distribuída entre os nós de computação no cluster do MaxCompute, que leem os dados e executam os cálculos em paralelo.
Retorno de resultados: Os resultados são agregados e devolvidos ao seu cliente.