产品测评 | 上手分布式Python计算服务MaxFrame产品最佳实践

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: MaxFrame是便宜云服务器自研的分布式计算框架,专为大数据处理设计,提供高效便捷的Python开发体验。其主要功能包括Python编程接口、直接利用MaxCompute资源、与MaxCompute Notebook集成及镜像管理功能。本文基于MaxFrame最佳实践,详细介绍了在DataWorks中使用MaxFrame创建数据源、PyODPS节点和MaxFrame会话的过程,并展示了如何通过MaxFrame实现分布式Pandas处理和大语言模型数据处理。测评反馈指出,虽然MaxFrame具备强大的数据处理能力,但在文档细节和新手友好性方面仍有改进空间。

随着大数据技术的不断发展,分布式计算框架在数据处理和分析领域扮演着越来越重要的角色。便宜云服务器自研的MaxCompute MaxFrame(简称“MaxFrame”)作为一种专为大数据处理设计的分布式计算框架,旨在提供高效、便捷的Python开发体验。本评测基于MaxFrame最佳实践来进行体验。

一、产品功能特性

  1. Python编程接口:MaxFrame支持Python编程接口,使得开发者可以使用熟悉的Python语言进行大数据处理和分析,降低了学习成本,提高了开发效率。
  2. 直接利用MaxCompute资源:MaxFrame能够直接使用MaxCompute的计算资源和数据接口,无需额外配置或迁移数据,简化了数据处理流程。
  3. 与MaxCompute Notebook集成:与MaxCompute Notebook的无缝集成,为开发者提供了一个交互式开发环境,支持代码编写、调试和结果可视化,进一步提升了开发体验。
  4. 镜像管理功能:MaxFrame提供镜像管理功能,允许开发者自定义开发环境,包括安装所需的Python库和依赖项,增强了开发环境的灵活性和可定制性。

二、在DataWorks中使用MaxFrame

1、创建MaxCompute数据源

登录MaxCompute控制台,在左上角选择地域。在左侧导航栏选择工作区 > 项目管理,并单击新建项目。

image.png

image.png

登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的更多 > 管理中心,在下拉框中选择对应工作空间后单击进入管理中心。
image.png

进入工作空间管理中心页面后,单击左侧导航栏的数据源 > 数据源列表,进入数据源页面。

image.png

单击新增数据源,选择MaxCompute,根据界面指引创建数据源。
image.png

2、进入DataWorks的数据开发页面创建PyODPS 3节点。

image.png

3、创建MaxFrame会话。

image.png

在目标MaxCompute项目中运行如下SQL,查询test_prefix_source_table表的数据

SELECT * FROM test_prefix_source_table;

返回结果:
image.png

三、基于MaxFrame实现分布式Pandas处理

1、在安装了MaxFrame的Python环境下运行如下脚本,准备测试表和测试数据。

image.png

连接到上海的节点有超时。
image.png

2、把endpoint换成VPC节点,很快就成功了。

https://service.cn-shanghai-vpc.maxcompute.aliyun-inc.com/api

image.png

3、查询sales_maxframe_demo表和product_maxframe_demo表的数据
image.png

image.png

场景1:使用merge方法连接两张数据表,以获取sales_maxframe_demo表中所有sale_id对应的product_name以及该产品的所有year和price

image.png

在sales表数据量为5000W条(size:1.96 GB),product表数据量为10W条(size:3 MB)的数据样本中进行运算MaxFrame的haish耗时为48.539秒。

场景2:选出每个出售过的产品第一年销售的产品ID、年份、数量和价格

第一次运行失败
image.png

试了好几次不知道为什么一直报错
image.png

换个endpoint节点。还是超时
image.png

image.png

场景3:为每个用户获取其消费最多的产品ID

也是运行失败
image.png

四、基于MaxFrame实现大语言模型数据处理

对原始数据进行分析,若其中含有“Copyright”等版权信息,需要对该类敏感信息进行去除。

例如:repo_name值为“menuka94/cdnjs”时,对应的content字段中含有“Copyright”等版权信息。
image.png

1、创建MaxCompute入口类。
image.png

2、引用MaxCompute内置镜像common,其中包含Python环境及本次数据处理所需的regex等第三方包。

config.options.sql.settings = {
    "odps.session.image": "common"
}

报错如下:

image.png

修改为如下之后,正常运行成功。

from maxframe import config
# 在new_session之前添加
config.options.sql.settings = {
    "odps.session.image": "common",
}

image.png

3、通过UDF构建数据处理逻辑。

image.png

4、创建MaxFrame Session,提交作业至MaxCompute。

def maxframe_job():
    s_time = time.time()
    table_name = 'bigdata_public_dataset.data_science.llm_redpajama_github_demo_data'

    session = new_session(o)
    print('session id: ', session.session_id)

    df = md.read_odps_table(table_name, index_col='id')
    df = df.apply(
                clean_copyright,
                axis=1,  # row
                output_type="dataframe",
            )

    out_table = 'tmp_mf_clean_copyright'
    md.to_odps_table(df, out_table).execute()
    session.destroy()

maxframe_job()

需要连着上面3个步骤一起执行。
image.png

5、查询tmp_mf_clean_copyright表,对之前含有“Copyright”等版权信息的数据进行查看,已去除敏感信息。

SELECT * FROM tmp_mf_clean_copyright;

返回有报错:

image.png

修改语句如下:

SELECT * FROM tmp_mf_clean_copyright limit 100;

返回结果如下:
image.png

MaxCompute已与便宜云服务器人工智能平台PAI成功对接,您可基于PAI Desinger进行更多LLM算子的开发和使用。

五、测评反馈

本次测评是针对官方提供的MaxFrame产品最佳实践文档来进行实践体验。下面是体验后的一些反馈。

1、首先对MaxFrame产品使用,是需要掌握前置知识的,比如MaxCompute的使用,Python的知识等,若是新手直接来使用该产品可能比较困难,希望可以在MaxFrame产品的文档中多加些Datawork和MaxCompute的操作步骤。

2、MaxCompute官方文档提供的提供内容过于简单,有些超链接是无效的。这个链接一直跳回到这个界面,但这里没有具体的操作步骤,和相关截图,提供不了太多的帮助。

image.png

3、在基于MaxFrame实现分布式Pandas处理的实践中。

文档这里建议的endpoint类型一直都是超时,选择VPC类型才能正常执行。
image.png

image.png

使用MaxFrame进行数据分析的场景2和场景3执行总是报错。里面只需要修改Access Key ID、Access Key Secret、project、endpoint这四个参数,始终无法运行成功,不知道是哪里的问题。
image.png

环境中没有本地Pandas(版本为1.3.5),所以也无法实现结果对比。

4、在基于MaxFrame实现大语言模型数据处理的实践中。

文档描述的这4个步骤是做代码的分部说明,但需要整体来执行。我按照每一步来执行,导致执行的时候会有依赖报错。后来才明白要一起执行,这个还是建议在文档中说明一下,否则也有会有人和我犯一样的错误。
image.png

数据查询这个SQL语句,是需要在maxcompute中执行,这个也要说明下。同时SELECT * FROM tmp_mf_clean_copyright; 需要加限制,否则行太多报错。建议把这个语句优化下。
image.png

MaxFrame在工作和学习中的一些优势

1、MaxFrame结合MaxCompute的强大算力,在工作中可以快速完成数据清洗、特征构建(如用户画像特征、时间序列特征)、数据分片与批量处理,支持下游模型训练。

2、MaxFrame通过纯Python编程接口,无需掌握复杂的分布式计算模型,降低了学习门槛。

3、MaxFrame能够为AI模型训练提供强大的数据支持。应用于如下业务场景,快速处理超大规模的训练数据集,为深度学习模型提供优质数据输入;动态资源扩展,减少模型训练前数据准备的时间,使学习者能够更多地聚焦于模型算法本身。
image.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由便宜云服务器开发者社区和便宜云服务器大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由便宜云服务器资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:便宜云服务器大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
11天前
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是便宜云服务器MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
49 7
|
9天前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
36 1
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
1月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
119 80
|
2月前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
163 59
|
27天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
41 14
|
1月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——便宜云服务器自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。便宜云服务器推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
88 2

热门文章

最新文章

http://www.vxiaotou.com