DataWorks支持在创建个人开发环境的自定义镜像时,同步生成MaxCompute的自定义镜像,方便您在DataWorks节点(如PyODPS 3节点、Notebook节点)中使用MaxCompute自定义镜像。本文将为您介绍在DataWorks构建并使用MaxCompute自定义镜像。
背景信息
MaxCompute镜像管理功能支持您创建自定义镜像,您可在SQL UDF、PyODPS及MaxFrame开发等场景中直接引用已有镜像,无需执行繁琐的资源打包、上传等流程。在DataWorks,您可以基于个人开发环境,在构建DataWorks镜像的同时,同步构建MaxCompute镜像。
前提条件
创建MaxCompute自定义镜像
准备工作
已开通阿里云镜像容器服务,并创建标准版及以上版本的ACR(容器镜像服务)实例。详情请参见:创建企业版实例、创建命名空间、创建镜像仓库。
已为ACR(容器镜像服务)实例配置专有网络的访问控制。详情请参见:配置专有网络的访问控制。
已拥有ACR(容器镜像服务)操作权限和MaxCompute自定义镜像操作权限。详情请参见:自定义镜像。
注意事项
创建MaxCompute自定义镜像:
镜像大小:MaxCompute单个镜像最大规格为
10 GB
。镜像数量:MaxCompute单租户最多可上传
10
个镜像。
使用MaxCompute镜像:DataWorks基于Python 3.11环境构建MaxCompute镜像。若要运行通过DataWorks构建的MaxCompute镜像,请确保您的Python环境为3.11
版本。
创建个人开发环境实例
进入Data Studio,参照下文使用特定镜像dataworks-maxcompute:py3.11-ubuntu20.04
创建个人开发环境实例,以便同步创建MaxCompute自定义镜像。
进入Data Studio。
进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的 ,进入Data Studio。
在Data Studio页面左侧导航栏单击
按钮,进入数据开发页面。
进入个人开发环境创建页面。单击顶部个人开发环境·请选择,按需创建个人开发环境实例。
如果您还没有个人开发环境实例,需要您自主创建,单击前往新建。
如果您已有个人开发环境实例,则单击管理实例,然后在个人开发环境实例列表中,单击新建实例。
配置个人开发环境。在DataWorks中创建MaxCompute自定义镜像时,个人开发环境需要进行以下配置,其他参数配置可参见新建个人开发环境实例。
镜像配置:请选择
dataworks-maxcompute:py3.11-ubuntu20.04
。说明只有选择
dataworks-maxcompute:py3.11-ubuntu20.04
镜像,才能制作MaxCompute自定义镜像。使用
dataworks-maxcompute:py3.11-ubuntu20.04
作为基础镜像构建的DataWorks自定义镜像,可以在DataWorks的Notebook、通用Python及Shell节点中使用MaxFrame作业开发。
网络设置:请选择ACR实例配置的专有网络,以确保后续构建镜像时,个人开发环境实例可正常将镜像推送至ACR实例。
配置镜像相关环境
请参照以下步骤,在您的个人开发环境实例终端中安装MaxCompute开发需要使用的第三方依赖。本文将以 jieba
为例进行说明。
单击Data Studio页面顶部的个人开发环境·请选择,单击进入在创建个人开发环境实例中创建的个人开发环境实例。
单击Data Studio底部工具栏左侧的
图标,进入终端命令执行框。
在个人开发环境终端中依次执行以下命令,下载并验证第三方依赖
jieba
是否安装成功。## 安装三方依赖 pip install jieba; ## 查看第三方依赖 pip show jieba;
保存自定义镜像
请按照以下步骤,将个人开发环境制作为DataWorks镜像,并选择同步创建MaxCompute镜像。系统会自动将生成的镜像上传至同账号下的ACR实例中。
进入个人开发环境实例管理页面。
单击顶部原个人开发环境·请选择位置,单击您所创建的个人开发环境实例名称。
在弹窗中选择管理环境,进入个人开发环境实例页面。
进入制作镜像页面。
在个人开发环境实例页找到您所创建的个人开发环境实例。
单击实例右侧操作栏中的制作镜像。
请参照以下内容配置镜像,配置完成后点击确认。
参数
说明
镜像名称
自定义DataWorks镜像名称,若镜像同步至MaxCompute,此处定义的名称即为MaxCompute镜像名称。(例如:
image_jieba
)。镜像实例
请选择标准版及以上版本的ACR实例,创建ACR实例详情请参见创建企业版实例。
说明仅标准版及以上版本的ACR实例可用于构建MaxCompute自定义镜像。
命名空间
请选择ACR实例的命名空间,创建详情请参见创建命名空间。
镜像仓库
请选择ACR实例的镜像仓库,创建详情请参见创建镜像仓库。
镜像版本
自定义镜像版本。
同步至MaxCompute
本案例请选择是。选择同步至MaxCompute后,镜像将在DataWorks镜像发布时,同步构建为MaxCompute镜像。
说明选项与您选择的镜像实例有关,实例规格为标准版及以上版本的ACR镜像实例是可选择的,其他默认不可选。
任务类型
请选择当前创建的DataWorks镜像可用的任务类型。本示例可选择将镜像用于Notebook开发。
Notebook
Python
Shell
确认镜像保存状态。
您可在镜像实例列表页面,找到上述个人开发环境的镜像列,查看镜像保存状态。
单击确认,进行制作镜像。
单击个人开发环境实例右侧的
图标,勾选展示镜像列。
等待镜像制作完成。鼠标悬浮到保存成功右侧的
图标上,在弹窗中单击这里,进入镜像管理页。
发布自定义镜像
待个人开发环境实例制作的镜像在Data Studio保存成功后,请按照以下步骤,完成自定义镜像发布操作,此操作会将通过ACR镜像实例创建的镜像同步至DataWorks和MaxCompute,生成DataWorks自定义镜像和MaxCompute自定义镜像。
进入DataWorks工作空间列表页,在顶部切换至目标地域。
在左侧导航栏中找到
页签,对目标镜像进行测试,待目标镜像测试成功后,对目标镜像进行发布。说明测试自定义镜像时,测试资源组请选择Serverless资源组。
测试发布选择的Serverless资源组绑定的VPC需与阿里云镜像容器服务中配置的VPC一致。
如果您配置的自定义镜像是从公网获取第三方包,且长时间测试不通过,请检查测试资源组绑定的VPC是否具备公网访问能力,为VPC配置公网,请参见使用公网NAT网关SNAT功能访问互联网。
刷新页面,确认镜像列表中您所发布的镜像发布状态变为已发布。
在目标镜像操作列单击
,为自定义镜像绑定归属工作空间。
确认MaxCompute镜像状态
DataWorks镜像发布完成后,会同步创建MaxCompute镜像,待DataWorks控制台MaxCompute控制台,根据添加自定义镜像至MaxCompute步骤查看您所创建成功的MaxCompute自定义镜像。
页签中的镜像状态变为已发布状态后,您可前往使用MaxCompute自定义镜像
注意事项
使用MaxFrame进行开发需要镜像中有
MaxFrame
服务。若要在DataWorks运行MaxCompute自定义镜像,要求该镜像是基于Python 3.11
环境构建。在DataWorks使用MaxCompute自定义镜像进行MaxFrame作业开发,请确保任务运行在有MaxFrame运行环境的DataWorks镜像中。具体如下:
Notebook节点:请选择官方镜像
dataworks-notebook:py3.11-ubuntu22.04
,或基于该官方镜像或dataworks-maxcompute:py3.11-ubuntu20.04
镜像构建的DataWorks自定义镜像。PyODPS 3节点:请选择官方镜像
dataworks_pyodps_py311_task_pod
,或基于该官方镜像构建的DataWorks自定义镜像。Python节点:请选择基于
dataworks-maxcompute:py3.11-ubuntu20.04
镜像创建带有MaxFrame服务的个人开发环境实例,并保存为支持Python任务类型的DataWorks自定义镜像。其他节点:请确保DataWorks自定义镜像中存在MaxFrame运行环境,并且构建环境为
Python 3.11
。
进入数据开发
进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的 ,进入Data Studio。
在Data Studio页面左侧导航栏单击
按钮,进入数据开发页面。