MaxFrame是阿里云MaxCompute为了满足用户在Python生态中日益增长的高效大数据处理和AI开发需求,提供的基于Python编程接口的分布式计算框架。您可直接利用MaxCompute的海量计算资源及数据通过MaxFrame进行TB/PB级数据处理、可视化数据探索分析以及科学计算、ML/AI开发等工作。
功能架构
MaxFrame分布式计算框架,支持Python编程接口、兼容Pandas、XGBoost等接口,且自动实现分布式处理,Python开发者能够以熟悉、高效的方式利用MaxCompute海量计算资源及数据完成数据处理、可视化探索、科学计算及ML/AI开发工作,同时与MaxCompute Notebook、镜像管理等功能共同构成了MaxCompute Python开发生态。
技术架构
核心优势
MaxFrame相比于其他Python开发工具,更符合用户熟悉的开发习惯、具有更高效的数据处理能力、具备更弹性的计算资源、提供更便捷的开发体验,具体对比如下:
对比项 | MaxFrame | PyODPS | Mars | SQL+UDF |
开发接口 | 提供与Pandas兼容的DataFrame API。 | 语法和接口与Pandas DataFrame有较大差异。 | 语法和接口与Pandas DataFrame有差异。 | 用户需要使用SQL和Python两套接口编写数据处理任务。 |
数据处理能力 | 运行时无需将数据拉取至本地处理,消除了不必要的本地数据传输,提高作业执行效率。 | 通过PyODPS中 | 仅对部分算子支持分布式; 初始化时需要创建集群,速度慢、稳定性不高。 | 基于MaxCompute SQL能力支持分布式作业。 |
计算资源限制 | 依托MaxCompute强大的分布式计算引擎,MaxFrame彻底突破Python单机性能瓶颈,不再受本地资源大小限制,高效处理PB级数据。 | 受本地资源大小限制(如DataWorks PyODPS节点本地处理数据量不能超过50 MB,节点运行时占用内存不能超过1 GB)。 | 受资源大小限制,需要指定Worker、CPU和Memory大小。 | 基于MaxCompute Serverless能力,提供SQL作业弹性计算能力。 |
开发体验 | 通过管控台提供开箱即用的交互式开发环境及离线调度能力; 支持在代码开发中直接通过注解的方式引用内置镜像(Pandas、XGBoost等)及用户自定义镜像,且支持Python3.7和Python3.11版本,无需考虑复杂的环境准备及兼容问题。 | 通过管控台提供开箱即用的交互式开发环境及离线调度能力。 | 在MaxCompute上运行Mars服务,需要准备相应的运行环境,并且需要按需拉起Mars集群。 | Python UDF的依赖包需要用户自己进行手工打包和上传,即使有PyODPS制作第三方包工具辅助用户打包,依然需要一定的手工操作,对用户使用经验方面也有要求(如要求熟悉Docker相关操作等)。 |
适用场景
Python生态开发:对于需要开箱即用的Python环境,并迅速进行数据处理、数据科学和交互式数据探索的开发人员而言,MaxFrame提供了一个理想的解决方案。
大规模数据分析与处理:当数据量庞大、处理逻辑复杂时,MaxFrame借助MaxCompute海量数据和计算资源的分布式能力,显著提高数据分析、处理及数据挖掘的开发效率。
Data+AI开发:对于整个分布式数据开发和模型开发过程依赖于第三方或自定义镜像的场景,MaxFrame提供完整的支持,以满足从数据处理到AI模型训练与部署的需要。
使用须知
支持地域
华东1(杭州)、华东2(上海)、华北2(北京)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)、中国香港、日本(东京)、新加坡、印度尼西亚(雅加达)、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)、杭州金融云。
支持环境
本地Python开发环境。
MaxCompute Notebook。
DataWorks Notebook。
DataWorks数据开发PyODPS 3任务节点。
计费说明
MaxFrame按照作业计算资源使用量计费,支持按量付费及包年包月两种付费方式。
若作业使用按量付费模式运行,在MaxFrame作业运行时将按照实际使用的CU时计费,您可以通过用量明细下载作业具体用量信息,详细的下载和分析办法请参见MaxCompute账单用量明细分析。
若作业使用包年包月模式运行,在MaxFrame作业运行时将按照申请量占用包年包月资源组资源,除此之外无单独费用。
相关文档
技术支持
若您在使用MaxFrame的过程中有任何问题,可通过搜索(钉钉群号: 37130012987)加入MaxFrame官方用户支持群,MaxFrame团队将全力为您提供技术支持。