dataworks pyodps中如何使用python第三方外源包?我按照官方文档操作,外源包已上传且发布了,但是无法调用?
本文为您介绍在依赖普通的Python脚本和开源第三方包的场景下,如何使用DataWorks PyODPS节点调用第三方包。
使用限制
在PyODPS节点中调用第三方包仅支持使用独享调度资源组。创建及使用独享调度资源组,详情请参见独享调度资源组。
DataWorks建议您在PyODPS节点内获取到本地处理的数据不超过50 MB,该操作受限于DataWorks执行资源的不同规格(包括公共调度资源组和独享调度资源组),处理的本地数据过多并超出操作系统阈值时可能发生OOM(Got killed)错误。请避免在PyODPS节点中写入过多的数据处理代码。详情请参见高效使用PyODPS最佳实践。
如果您发现有Got killed报错,即表明内存使用超限,进程被中止。因此,请尽量避免本地的数据操作。通过PyODPS发起的SQL和DataFrame任务(除to_pandas外)不受此限制。
非自定义函数代码可以使用平台预装的NumPy和Pandas。不支持其他带有二进制代码的第三方包。
由于兼容性原因,在DataWorks中,options.tunnel.use_instance_tunnel默认设置为False。如果需要全局开启instance tunnel,需要手动将该值设置为True。
在DataWorks的PyODPS中使用Python第三方外源包,您可以按照以下步骤操作:
oss2
库来从OSS下载并安装包。pyodps-pack
命令行工具,用于制作符合PyODPS及DataWorks PyODPS节点标准的三方包。您可以使用该工具将所有依赖项目制作成一个后缀为.tar.gz
的压缩包。load_resource_package
方法来引用其他的包。请注意,确保您已经正确配置了ODPS实例,并且拥有相应的访问权限。如果在操作过程中遇到问题,可以查看官方文档或联系技术支持获取帮助。
需要在独享资源组上安装一下三方包 ,方法一:如果您的是source文件,没有压缩,您可以参考下面文档:https://help.aliyun.com/document_detail/94159.html
方法二:在odps使用自定义函数及Python第三方库 https://help.aliyun.com/document_detail/90716.html ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
可以参考官档:https://help.aliyun.com/zh/maxcompute/user-guide/use-udfs-and-the-third-party-python-libraries
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。