请问Dataworks中python来源第三方包,怎么上传和引用?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在DataWorks中上传和引用Python来源的第三方包,可以通过以下步骤完成。根据不同的使用场景(如普通Python脚本、开源第三方包或UDF函数),具体操作有所不同。以下是详细的步骤说明:
packages.tar.gz格式,并通过MaxCompute客户端上传。add file packages.tar.gz;
注意:确保文件路径和名称正确。
.zip、.tar.gz等压缩格式)。如果您的任务依赖普通的Python脚本,可以按照以下步骤操作:
在PyODPS节点中引用:
@resource_reference注解引用资源。##@resource_reference{"pyodps_packagetest.py"}
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath('pyodps_packagetest.py')))
import pyodps_packagetest
pyodps_packagetest.printname()
注意:确保资源名与实际文件名一致(去掉.py后缀)。
dataworks_pyodps_task_podPyODPS2或PyODPS3NumPy、Pandas)。pip install)。import语句引用包。如果需要在MaxCompute的Python UDF中引用第三方包,需按照以下步骤操作:
numpy-1.19.2-cp37-cp37m-manylinux1_x86_64.whl)。.zip,并通过MaxCompute客户端上传:
add archive numpy-1.19.2-cp37-cp37m-manylinux1_x86_64.zip;
.zip文件)。在UDF代码中引用:
from odps.udf import annotate
import numpy as np
@annotate("->string")
def evaluate():
return str(np.array([1, 2, 3]))
注意:确保动态链接库(如.so文件)也一并上传并注册。
.zip后再上传并在代码中解压使用。通过以上步骤,您可以成功上传和引用Python来源的第三方包,满足不同场景下的需求。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。