数据科学计算概述

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: MaxFrame是由阿里云自研的分布式科学计算框架

MaxFrame是由阿里云自研的分布式科学计算框架,是对历史相关产品功能(PyODPS、Mars)的重大升级,在MaxCompute之上提供一套完全兼容Pandas接口的API,让用户用更为熟悉、更符合Python社群习惯的方式使用MaxCompute。本文为您介绍MaxCompute提供的Python开发生态的背景信息及发展路径。

背景信息
Python作为目前机器学习、AI模型开发的主流编程语言,提供了如NumPy、SciPy、Scikit-Learn、Matplotlib等丰富的科学计算、可视化库,用于数据科学和数据分析。同时支持TensorFlow、PyTorch、XGBoost、LightGBM等丰富的训练框架。

NumPy:用于N维数组对象运算。

Pandas:是一个包含数据帧的数据分析库。

Matplotlib:用于创建图形和图形的2D绘图库。

Scikit-Learn:用于数据分析和数据挖掘任务的算法。

为满足用户基于MaxCompute进行大规模数据处理、分析、挖掘及模型训练的需求,MaxCompute提供了一套Python开发生态,让用户通过统一的Python编程接口一站式、高效地完成数据处理、加工及挖掘工作。

发展路径
MaxCompute提供的Python开发生态发展路径如下:image.png

PyODPS
PyODPS于2015年正式发布,作为MaxCompute的Python SDK,支持通过Python接口对MaxCompute数据进行相关操作。经过多个版本的迭代发展,目前PyODPS已支持DataFrame框架,同时提供类似Pandas的语法,内置聚合、排序、去重等数据操作算子。

Pyodps的核心功能如下:

对MaxCompute对象的基本操作(2015年):

PyODPS提供了对MaxCompute对象,例如表、资源、函数的访问。

支持通过run_sql或execute_sql的方式提交SQ。

支持 run_xflow或execute_xflow的方式来执行PAI命令运行机器学习任务。

支持通过open_write、open_reader或原生Tunnel API的方式来上传下载数据。

支持DataFrame API,提供类似Pandas的接口,能充分利用MaxCompute的计算能力进行DataFrame计算(2016~2022年):

PyODPS DataFrame可以让用户使用Python来进行数据操作,因此用户可以很容易利用Python的语言特性。

PyODPS DataFrame提供了很多pandas-like的接口,但扩展了它的语法,比如增加了MapReduce API来扩展以适应大数据环境。

内置聚合、排序、去重、采样、可视化绘图等常用函数。

Mars
在Python生态中,有NumPy、Pandas、Scikit-Learn等丰富的科学计算库,提供了便捷的数据分析、挖掘算子,但这些库也大都受限于单机资源。Mars则是一个基于张量的统一分布式计算框架,实现了Numpy大约70%的接口,并进行了分布式化,不仅大幅减少了分布式科学计算代码的编写难度,同时在性能上也有大幅提升。

Mars核心功能如下:

兼容及分布式化(2019年1月正式开源):支持将Numpy、Pandas、Scikit-Learn以及Python Function进行分布式化,兼容大部分接口。

MaxFrame
重要
MaxCompute MaxFrame预计将于2023年12月正式对外邀测,您可单击申请链接提前进行申请。

随着MaxCompute MaxFrame的正式上线发布,将逐步替换PyODPS DataFrame及Mars接口,并在算子兼容性以及分布式能力上有明显提升,强烈建议新用户直接基于MaxFrame进行相关开发工作。

Mars及PyODPS有不同使用场景,如熟悉Pandas、需要并行和分布式化Numpy、Scilit-Learn的用户更适合使用Mars;而熟悉DataFrame,且对稳定性、数据量(TB以上)要求比较高的用户则适合使用PyODSP,但架构的复杂也给用户带来了使用的困扰和操作的复杂度。

MaxFrame是由阿里云自研的分布式科学计算框架,是对PyODPS及Mars的重大升级,在MaxCompute之上提供一套完全兼容Pandas接口的API(比Mars的接口兼容度更高),让用户可以用自己更为熟悉、更符合Python社群习惯的方式使用MaxCompute,同时MaxFrame会将用户提交的作业根据其使用场景自动提交至最优的底层引擎执行(例如SQL Engine、Single Python Engine、Mars Engine),用户无需再关注底层执行引擎的选择,从而高效地完成数据开发分析以及AI训练推理全过程,拉通Data+AI开发场景。架构图如下所示:

image
MaxFrame核心功能如下:

MaxCompute Python生态统一入口

统一MaxCompute Python生态开发接口,通过一套Python Code完成数据分析、开发以及数据挖掘、建模全生命周期。

兼容及分布式化

完全兼容Pandas接口,且进行分布式化,性能比原生Pandas提升几十倍。

底层引擎自动路由

根据用户提交的作业使用场景自动提交至最优的底层引擎执行,无需再关注底层执行引擎的选择。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
7月前
|
算法 数据挖掘 UED
BPPISE数据科学案例框架
BPPISE数据科学案例框架
|
存储 索引
【数据科学导论】实验四:列表
【数据科学导论】实验四:列表
54 0
|
20天前
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
33 0
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从基础到高级应用
本文将深入探讨机器学习领域,从基础知识到高级应用。我们将首先介绍机器学习的基本概念和算法,然后逐步引导读者了解如何将这些算法应用于实际问题中。文章还将讨论一些高级主题,如深度学习、自然语言处理和计算机视觉,以及这些技术在现实世界中的应用。无论您是初学者还是有经验的开发人员,这篇文章都将为您提供有价值的见解和实践技巧。
52 0
|
机器学习/深度学习 存储 Cloud Native
开源与数据科学:一个完美的组合?
开源与数据科学:一个完美的组合?
58 0
|
算法 数据挖掘 API
【数据科学基础】学习笔记
数据科学基础与数据挖掘
180 0
|
机器学习/深度学习 人工智能 自然语言处理
学习机器学习和数据科学必看的十个资源
步入寒冬,这里有份关于机器学习和数据科学学习的必看资源总结可供学习,快来瞅瞅吧。
3161 0