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 principais no processamento de dados tradicional com Python: gargalos de desempenho e transferência ineficiente de dados. O MaxFrame permite processar e analisar dados em 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, como em um Jupyter Notebook local.
Pré-processamento de dados em grande escala (ETL)
Substitua a lógica complexa de SQL+UDF por código Python expressivo e de fácil manutenção para limpeza de dados de múltiplos terabytes, conversão de formato e engenharia de recursos, 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 para fluxos de trabalho de IA de ponta a ponta.
Notas 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 do DataWorks Data Development.
Faturamento
O MaxFrame cobra com base no uso de recursos de computação por job. Ele oferece suporte aos 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 principais em relação a outras ferramentas Python para o MaxCompute:
API compatível com Pandas: Migre o 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 a necessidade de extrair dados para a máquina local. Isso elimina gargalos de memória no cliente e viabiliza o processamento em escala de petabytes.
Recursos de computação elásticos: Baseado na arquitetura serverless do MaxCompute, o MaxFrame aloca recursos sob demanda. Processe dados em qualquer escala sem precisar 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 necessidade de empacotamento manual ou envio 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. |
A sintaxe e a 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. Exige a criação de cluster durante a inicialização; é lento e apresenta baixa estabilidade. |
Jobs distribuídos via MaxCompute SQL. |
|
Recursos de computação |
Não se limita a 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 por meio de anotações, sem empacotamento manual. |
Desenvolvimento interativo e agendamento offline prontos para uso. |
Exige a configuração de um ambiente de execução e a inicialização de um cluster Mars. |
Exige empacotamento e envio manuais das dependências de UDF Python. |
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 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 motor 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: O MaxCompute distribui a tarefa otimizada entre os nós de computação no cluster, que leem os dados e processam em paralelo.
Retorno de resultados: O MaxCompute agrega e retorna os resultados ao seu cliente.