带你读《企业级云原生白皮书项目实战》——5.2.5 多引擎开发参考

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: 带你读《企业级云原生白皮书项目实战》——5.2.5 多引擎开发参考

5.2.5多引擎开发参考

5.2.5.1PyODPS

为了帮助记忆,可以使用PyODPS = SDK + DataFrame API 公式来理解PyODPS的主要功能。

•SDK

它是MaxCompute的Python版本的SDK,提供对MaxCompute对象的基本操作,通过Python语言实现简单方便地操作MaxCompute对象(项目、表、分区、实例等)。

•DataFrame

PyODPS支持类似Pandas DataFrame的快速、灵活和富有表现力的数据结构——MaxCompute DataFrame。DataFrame框架本身是对于二维表结构十分优秀的抽象,提供的API能很便捷地对于表数据或查询结果进行处理,是PyODPS最核心的feature。

5.2.5.1.1 PyODPS DataFrame

为什么需要单独来谈PyODPS DataFrame(以下简写为DF,此处特指PyODPS DataFrame,请注意和Pandas DataFrame区分)?因为在同一段PyODPS代码中,需要特别留意区分普通代码脚本和DF相关脚本。在开发者看来明明是同一套代码,但是其中的DF部分却是在不同的环境里执行的,下面借助这张图进一步阐释。

image.png

总体上看,可以简单地这么记忆:DF代码会在上图框选的MaxCompute内部执行,非DF代码则会在紫色部分(“本地环境”)执行。

以DataStudio为例,如果是在DataWorks的DataStudio创建了PyODPS2/PyODPS3节点,实际跑这段代码的环境是DataWorks的调度资源组机器(gateway机器),DataWorks已经帮用户配置好了相应的runtime(pyodps依赖、python interpreter等)。因而,这些代码在执行时,行为与普通Python code的执行行为类似,import第三方包时,引用的是“本地”的包,如果您使用的是独享调度资源组,则可

通过DataWorks控制台的调度资源组运维助手,进行pip命令的下发来安装必要的三方依赖。

image.png

PyODPS DF支持对所有Sequence实现调用map方法,传入自定义函数闭包,实现对于MaxCompute表中某一列的每一个元素逐个调用自定义函数进行处理。如上述代码片段的handle函数。handle函数传入map方法时,会被提取为闭包和字节码,DF使用闭包和字节码生成一个MaxCompute的UDF,在执行时实际等效于:

select this_handle_udf(pyodps_iris.sepal_length)

由此可见,此部分的DF代码执行,发生在了MaxCompute集群内部了,即上图中的MaxCompute Executor机器上执行。

进一步来说说如果在自定义函数里使用到了三方包,因为自定义函数在MaxCompute Executor机器上执行,所以无法引用“本地环境”的包,import建议放在自定义函数内部进行,并且在DataWorks上上传三方包资源后,需要点击“提交”确保资源被正确上传到MaxCompute集群内部。


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
2天前
|
分布式计算 大数据 调度
MaxCompute产品使用合集之大数据计算MaxCompute底层加速查询的原理是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之大数据计算MaxCompute如何实现通过离线同步脚本模式
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之大数据计算MaxCompute是否支持直接在多个节点之间进行批量复制
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
MaxCompute产品使用合集之大数据计算MaxCompute是否支持直接在多个节点之间进行批量复制
|
2天前
|
分布式计算 运维 DataWorks
MaxCompute产品使用合集之大数据计算MaxCompute对于某个特定表该怎么获取,特定分区的instances id
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之怎样可以将大数据计算MaxCompute表的数据可以导出为本地文件
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
SQL 分布式计算 运维
MaxCompute产品使用合集之在大数据计算MaxCompute中,怎么查看工作空间中正在运行的查询和任务
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
SQL 机器学习/深度学习 分布式计算
MaxCompute产品使用合集之大数据计算MaxCompute是否支持递归
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之可以在什么地方学习大数据计算MaxCompute?
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
SQL 数据采集 分布式计算
MaxCompute产品使用合集之大数据计算MaxCompute的PyODPS API相比ODPSSQL那个数据清洗的效率高
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之大数据计算MaxCompute即使用相同的SQL语句在DataWorks和Tunnel上执行,结果却不同,如何解决
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。

热门文章

最新文章