DataWorks中自定义函数上传了资源,但是提示没有找到资源?
如果在DataWorks中自定义函数(UDF/本地函数)上传了资源(如词表),但是在函数中却提示"没有找到资源",可能的原因是:
资源路径写错了
请检查在函数代码中引用资源的路径是否正确。
DataWorks函数中引用资源,有两种方法:
绝对路径:/opt/resource/xxx.txt
相对路径:resources/xxx.txt
资源类型选择错误
资源有两种类型:
私有资源:只在当前函数可见
全局资源:所有函数公用
请确认选择的是与函数代码匹配的资源类型。
权限问题
若函数为私有函数,但资源却定义为全局资源。
由于函数没有访问全局资源的权限,导致找不到资源。
资源版本不匹配
函数和资源不在同一版本时,函数可能找不到资源。
资源上传失败
请验证资源是否真正上传成功。上传后,资源列表能不能显示该资源。
建议您可以:
重新检查资源路径
修改资源类型为私有资源
确认资源已经成功上传
使用最新函数版本和资源版本
提供函数ID和资源名称,我们进一步帮助排查
【上传资源】
注:超过30M的资源上传请使用tunnel上传,上传完成后您可以通过"maxcompute资源"加载到数据开发。
【注册函数】
【节点内引用资源】
右键资源-引用资源,会在代码最上方自动添加一条注释。
【下载资源】
【通过odpscmd上传资源加载到DataWorks】
通过cmd上传的资源,注册的函数需要在数据开发DataStudio的"MaxCompute资源"和“MaxCompute函数”处加载到数据开发具体的业务流程才能在数据开发DataStudio界面看到和使用,记得提交发布哦。
,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。