个人开发环境制作DataWorks镜像

Data Studio新版数据开发支持将个人开发环境制作成镜像,以供数据开发与其他个人开发环境使用。本文将介绍如何在个人开发环境制作个人开发实例镜像。

背景介绍

在个人开发环境开发测试时,若您想要使用不同的三方依赖,您不仅可以在个人开发环境安装完善当前环境中的三方依赖,还可以将当前环境制作为自定义镜像,为其他个人开发环境与工作空间提供依赖服务。

通过个人开发环境创建的镜像支持NotebookPython、以及Shell任务类型,但将镜像创建成功后,则不无法修改镜像的任务类型以及其他配置。

前提条件

重要

步骤一:进入个人开发环境

  1. 进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > Data Studio,进入Data Studio。

  2. 单击顶部个人开发环境·请选择,按需选择已有个人开发环境实例。

步骤二:制作个人开发环境实例镜像

  1. 在通过个人开发环境实例创建镜像前,必须完成个人开发环境的完善

    重要

    完善个人开发环境环境时,您可按需安装开源依赖安装三方依赖,使得个人开发环境符合您业务需求。

  2. 在完成个人开发环境配置后,即可单击下拉顶部个人开发环境·请选择,选中实例管理,打开个人开发环境实例列表面板。

  3. 制作自定义镜像。

    在个人开发环境实例列表内,单击目标实例操作列中的制作镜像按钮,配置在前提条件中已准备好的镜像实例命名空间镜像仓库镜像版本以及任务类型

    参数

    说明

    镜像名称

    自定义DataWorks镜像名称。

    镜像实例

    请选择ACR实例,创建ACR实例详情请参见创建企业版实例

    命名空间

    请选择ACR实例的命名空间,创建详情请参见创建命名空间

    镜像仓库

    请选择ACR实例的镜像仓库,创建详情请参见创建镜像仓库

    镜像版本

    自定义镜像版本。

    同步至MaxCompute

    默认为

    说明

    选项与您选择的镜像实例有关,实例规格标准版及以上版本的ACR镜像实例是可选择的,其他默认为是。

    • 选择是的话,会默认生成DataWorks自定义镜像,在DataWorks镜像发布时,会同步构建为MaxCompute镜像。详情请参见个人开发环境制作MaxCompute镜像

    • 选择否的话,仅生成DataWorks自定义镜像,不会同步构建为MaxCompute镜像。

    任务类型

    请选择当前创建的DataWorks镜像可用的任务类型。

    • Notebook

    • Python

    • Shell

  4. 完成配置后单击确认,开始制作镜像。

    重要
    • 制作镜像时,需确保个人开发环境实例绑定的VPC阿里云镜像容器内绑定的VPC需保持一致。

    • 镜像制作时间可能因镜像大小和网络原因,时间约为1~5分钟,请耐心等待。

    • 镜像制作成功后,在镜像管理中无法修改通过个人开发环境实例创建的镜像

  5. 等待镜像制作完成。

步骤三:发布自定义镜像

完成自定义镜像创建后,进入DataWorks控制台单击进入镜像管理 > 自定义镜像页签,对目标镜像进行测试发布。测试与发布时,需注意以下内容:

  • 测试自定义镜像时,资源组请选择Serverless资源组。

  • 测试发布选择的Serverless资源组绑定的VPC需与阿里云镜像容器服务中配置的VPC一致。

  • 只有测试成功的镜像才可以发布。

  • 如果您配置的自定义镜像是从公网获取第三方包,且长时间测试不通过,请检查测试资源组绑定的VPC是否具备公网访问能力,为VPC配置公网,请参见使用公网NAT网关SNAT功能访问互联网

步骤四:修改镜像归属空间

您可通过以下操作为镜像修改归属的工作空间。

  1. 自定义镜像页签,查看并找到已发布的自定义镜像。

  2. 在目标镜像操作列单击image > 修改归属工作空间,为自定义镜像绑定归属工作空间。

步骤五:使用自定义镜像

完成修改镜像归属空间后,当您可进入自定义镜像绑定的工作空间,在该空间进行数据开发中开发NotebookPython以及Shell节点时,即可为节点配置该自定义镜像,以下将以Python节点为主为您展示如何使用镜像。

  1. 在数据开发页面左侧项目目录中单击image按钮选择新建节点 > 通用 > Python节点 创建Python节点进行开发。

  2. 节点开发完成后,单击右侧调试配置,配置相应的资源组,以及选择Python代码需要使用到的工具环境镜像

    image

  3. 单击image按钮,对Python代码进行调试。

  4. 调试成功后,即可单击调度配置,进入调度策略页签内,为该Python节点配置周期调度时所使用的镜像

    说明
    • 调度配置中配置的镜像须与调试配置中的镜像为同一镜像。

    • Notebook节点仅支持在调度配置中配置镜像。

  5. 完成调度配置后,即可对Python节点保存发布

后续步骤

持久化镜像:DataWorks支持将自定义镜像构建为持久化镜像,无需每次都重新部署镜像环境,每次运行任务节点时使用同一个镜像环境,不仅确保了运行环境的一致性,还有效节省了任务运行时间、计算成本和流量成本。详情可参见:构建持久化镜像

附录:完善个人开发环境

DataWorks默认创建的个人开发环境中的依赖可能并不能满足您代码开发的需求,您可通过安装依赖的方式来完善您的个人开发环境。

安装开源依赖

您可在个人开发环境实例中安装所需的开源依赖,以下将以安装jieba依赖为示例,为您展示如何安装开源依赖。

  1. 进入个人开发环境后,可在数据开发页面单击左下边栏左侧的image按钮,进入终端。

  2. 在终端内输入以下命令,安装jieba库。

    pip install jieba

    image

  3. jieba库安装成功后,即可在个人目录 > workspace目录下新建.py文件,在Python文件内编辑并保存以下代码。

    import sys
    import jieba
    '''获取系统输入参数arg'''
    for arg in sys.argv:
        print(f"argv: {arg}")
    '''调用jieba类对输入数据进行分词并输出'''    
    seg_list = jieba.cut(sys.argv[1], cut_all=False)
    print("Default Mode: " + "/ ".join(seg_list))
    print('finish')

    编辑完成后,单击image保存Python代码。

  4. 在终端内输入以下命令,运行Python文件。

    python 文件名.py "我是大数据治理开发平台文档"

    image

Python文件运行成功后,即代表jieba类在个人开发环境安装成功。

安装三方依赖

通过Git clone 克隆Python项目安装

通过git clone 克隆Python项目,需为VPC配置公网,请参见配置公网NAT网关

  1. 进入个人开发环境后,可在数据开发页面单击左下边栏左侧的image按钮,进入终端。

  2. 在终端内输入以下命令,进入workspace文件夹内。

    cd /mnt/workspace
  3. 通过Git clone 克隆Git中的Python类到workspace文件夹下。

    # 克隆Git代码时,需将URL替换为您自己的URL。
    git clone https://github.com/example/Example-Python.git

    image

  4. 安装克隆的Python类。

    1. 进入克隆的Python目录下。

      cd Example-Python
    2. 安装Python类。

      pip install .

      image

通过本地上传Python项目安装

  1. 上传本地Python代码项目至个人目录 > workspace目录下,并通过终端控制台进入Python项目文件夹内。

    cd /mnt/workspace/"Python代码文件夹"
  2. 通过以下命令对该Python代码进行安装。

    pip install .

    image

通过本地上传Python程序安装

若您需在个人开发环境中安装Python程序,则可按照以下操作进行。

  1. 上传本地Python程序压缩包至个人目录 > workspace目录下,并通过终端解压并查看Python编译路径。

    cat '解压后的Python项目名' /bin/pip
  2. 创建Python编译路径。

    #创建查看到的Python编译路径。
    mkdir -p '查看到的Python编译路径'
  3. 将解压的文件夹移动到python当时编译的路径。

    mv '解压后的Python项目名' /'查看到的Python编译路径'
  4. python相关包替换为自己Python程序

    for src in idle3 pydoc3 python3 python3-config pip3; do \
        dst="$(echo "$src" | tr -d 3)"; \
        [ -s "/usr/local/bin/$src" ]; \
        [ ! -e "/usr/local/bin/$dst" ]; \
        mv /usr/local/bin/$dst /usr/local/bin/${dst}_bak
        ln -svT "查看到的Python编译路径/bin/$src" "/usr/local/bin/$dst"; \
    done

安装成功后,在个人开发环境对安装的第三方依赖进行调试运行,确认是否安装成功。