DataWorks如何在不使用运维窗口的情况下,在dataworks中导入python第三方包并在py3脚本中使用该包?
在PyODPS节点中调用第三方包https://help.aliyun.com/zh/dataworks/use-cases/use-a-pyodps-node-to-reference-a-third-party-package?spm=a2c4g.11186623.0.i254
使用限制
在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 中导入 Python 第三方包并在 Py3 脚本中使用该包,在不使用运维窗口的情况下,可以在 Py3 脚本中直接使用 pip 命令安装。以下是具体步骤:
!pip install pandas
,然后运行脚本来安装 Pandas 包。需要注意的是,在不同的环境下,pip 命令可能需要管理员权限才能执行。因此,如果遇到访问受限的情况,请尝试切换至具有更高权限的账号来执行该命令。
在DataWorks中导入Python第三方包并在Py3脚本中使用该包,可以通过以下步骤实现:
pip
命令安装所需的第三方包。例如,如果要安装requests
包,可以在代码中添加以下内容:import os
import sys
def install_package(package_name):
os.system(f"{sys.executable} -m pip install {package_name}")
install_package("requests")
requests
包发送HTTP请求,可以在代码中添加以下内容:import requests
response = requests.get("https://www.example.com")
print(response.text)
通过以上步骤,您可以在不使用运维窗口的情况下,在DataWorks中导入Python第三方包并在Py3脚本中使用该包。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。