DataWorks中python自定义函数如何引入第三方模块?
在DataWorks中开发Python自定义函数,有两种引入第三方模块的方式:
在函数定义中使用import语句
示例:
python
Copy
def func(params):
import csv
import numpy as np
...
return result
这样每次执行函数时,都会动态导入相应的第三方模块。
通过requirements.txt定义依赖
创建requirements.txt文件,内容为需要安装的第三方库:
Copy
numpy
matplotlib
pandas
...
然后在函数配置中,勾选"使用依赖配置",并选择该requirements.txt文件。
DataWorks会在部署函数时自动安装这些依赖库。
以上两种方法各有优缺点:
import语句:执行效率高,但会重复导入模块
requirements.txt:只导入一次依赖,但部署时间长
建议:
少量/内置模块使用import语句
较多/复杂模块使用requirements.txt
发布新版本函数时,升级requirements.txt里的依赖版本
DataWorks在解析Python函数逻辑时,会解析import语句自动构建依赖关系。
并在函数运行前,安装requirements.txt里定义的所有依赖。
怎么调在PyODPS任务中调用第三方包?
方法一:如果您的是source文件,没有压缩,您可以参考下面文档:https://help.aliyun.com/document_detail/94159.html
方法二:在odps使用自定义函数及Python第三方库 https://help.aliyun.com/document_detail/90716.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。