You need to enable JavaScript to run this app.
导航
Python
最近更新时间:2025.06.10 19:21:06首次发布时间:2022.07.07 19:29:08
我的收藏
有用
有用
无用
无用

Python 任务适用于处理的数据量较少且处理逻辑不复杂的场景,能够满足 Python 开发业务场景,支持版本 Python 3.7 。

1 使用限制

若仅开通 Dataleap大数据集成服务,不支持创建 Python 任务。

2 前提条件

  • 已开通 DataLeap 服务,详见DataLeap 服务开通
  • Python 任务访问私有网络服务或资源时,需通过独享计算资源组访问,Python 任务界面不支持单独修改网络配置。

3 新建任务

  1. 登录 DataLeap租户控制台,并进入项目的 IDE 开发界面,进行新建任务操作。
  2. 单击新建任务按钮,并依次选择数据开发 > 通用 > Python 任务类型。
  3. 填写任务基本信息,输入任务名称信息,如:python_task,并选择任务存放的目标文件夹目录。单击确定按钮,完成任务创建。

注意

任务名称信息仅允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需要在127个字符以内。

Image

4 编辑任务

任务创建成功后,进入代码开发编辑界面。

4.1 开发代码编辑

  1. 支持语言:Python,如下所示:

    print ("Hello, Python!")
    
  2. 参数:支持时间参数 ${date}、${hour} 等,更多参数可参考:时间变量与常量说明

    print ('${date}')
    
  3. 使用命令方式安装第三方依赖包示例:

    import os
    os.system('pip install numpy(替换所需的第三方包名称) -i https://pypi.tuna.tsinghua.edu.cn/simple')
    

    更多安装方式详见Python 任务使用第三方依赖包

4.2 资源设置

  1. 依赖包:代码中引用的第三方包,可在此手动输入三方包依赖。如需指定具体版本,按照 "plcga==1.6" 格式添加,多个依赖包,用英文分号分隔。

    注意

    • 配置依赖包时建议加上对应包的版本,以保证每次运行环境一致。
    • 代码中没有依赖的包,不建议添加配置。
  2. 环境变量:若 Python 脚本中需要设置系统环境变量时,需避免直接覆盖系统环境变量,请按照追加方式指定,例如 PATH=$PATH:/usr/local/bin/python,多个环境变量用英文分号分隔。

4.3 网络配置(可选)

当任务在脚本中访问公网、私有网络(VPC)资源,或者访问有存在网络访问限制的镜像仓库地址时,您需要进行网络配置,选择能够与您资源互通的私有网络、子网、安全组信息。
有以下两种方式:

  • 您可通过手动下拉的方式,选择访问任务资源、数据源所在的私有网络(VPC)、子网和安全组等网络信息。

    说明

    若是子账号登录创建任务时,选择网络环境需具备相关服务使用权限,需主账号在访问控制中,添加 DataLeapFullAccess 权限。

    Image
  • 亦或是当项目已绑定独享计算资源组时,您也可通过使用独享计算资源组来访问私有网络下的资源、服务,实现网络互通。
    Image
    可将独享计算资源组所在的 VPC 开通公网,或者使其 VPC 信息与您资源所在的 VPC 信息保持一致,若二者不一致时,您也可以通过 CEN 做网络打通工作。
    选择独享计算资源组后,此处网络配置信息均来源于独享计算资源组信息,暂不支持在网络配置界面直接修改,您可在创建独享计算资源组时,配置好对应的私有网络信息,详见:资源组管理

4.4 任务产出数据登记

产出数据登记用于记录任务的数据血缘,不会对代码逻辑造成影响。如果 Shell 任务中含有对应引擎库表数据的产出时,强烈建议填写,以便后续维护任务数据血缘关系。

  1. 引擎类型:根据实际情况选择产出的数据引擎类别,如 EMR(EMR Hadoop、EMR Doris、EMR StarRocks 引擎)、ByteHouse、EMR Serverless Spark、EMR Serverless StarRocks、默认(没有产出登记)等。
  2. 关联实例:选择关联对应引擎下的实例信息。
  3. 数据类型:对应引擎类型下选择产出的数据类型。
  4. 数据库表:选择对应引擎下产出的数据库和数据表详细名称信息。

4.5 执行设置

  1. 单击进入右侧侧边栏执行设置窗口。
  2. 选择计算资源组:支持选择公共计算资源组、独享计算资源组
  3. 镜像地址:
    支持您自定义镜像,建议使用火山引擎镜像仓库,dataleap-{region}.cr.volces.com/studio/spark:online, 其中 {region} 值,需根据实际情况替换为具体地域信息,如 cn-beijing、cn-shanghai、ch-guangzhou、ap-southeast-1。
    完整示例如,北京地域:dataleap-cn-beijing.cr.volces.com/studio/spark:online

    说明

    1. DataLeap 公共计算资源组无法访问公网,若您填写的镜像仓库地址(如第三方镜像仓库)需通过公网或指定私有网络(VPC)访问时,您需要通过上方网络配置来实现网络互通。可尝试以下解决方案:
      • 将您的镜像仓库地址和您配置的 VPC 地址均开通公网访问能力;
      • 您镜像仓库所在的 VPC 和您配置的 VPC 需保持一致,或是通过 CEN 做网络打通。
        详见3.2.3 网络配置(可选)
    2. 自定义镜像中须安装 python3,方可正常使用。
    3. 基础镜像地址中仅包含最基础的 Linux 和 Python 命令,简单场景下,您也可基于基础镜像地址,并额外补充一些依赖来使用。
      • 基础镜像所包含依赖包查看方式如下:
        1. 创建 Python 任务;

        2. 执行以下脚本信息:

          import os
          os.system("pip freeze")
          
        3. 执行后可在日志中查看包含依赖包结果。

      • 基础镜像地址:dataleap-{region}.cr.volces.com/studio/runtime_light:online,其中 {region} 值,需根据实际情况替换为具体地域信息,如 cn-beijing、cn-shanghai、ch-guangzhou、ap-southeast-1。
        完整示例如,北京地域:dataleap-cn-beijing.cr.volces.com/studio/runtime_light:online
    4. 若您自定义镜像的文件中有需加密的文件,希望该镜像文件只允许被固定任务使用,则您可以创建私有镜像类型,并将镜像仓库地址、用户名密码等私有镜像配置信息,添加至独享计算资源组中,通过独享计算资源组来访问镜像文件。修改资源组镜像配置操作详见资源组管理
    5. 私有镜像地址需要您手动填写 OCI 制品仓库中,具体镜像版本对应的网络地址信息,以实际填写的镜像地址为准。若遗漏填写的情况下,会访问到默认的基础镜像地址。
  4. 资源配置:资源可根据实际需求进行配置,以 CU 为单位,默认配置 1CU(1CU = 1Core 4GB),下拉可选择更多规格的资源配置。

    说明

    其中 0.25CU、0.5CU 规格,仅独享计算资源组支持选择。

  5. 资源选择:
    Python 任务支持在任务编辑中使用通用资源,通过访问 Jar、File、Zip 等资源类型,来提升数据开发效率。
    资源选择下拉框中,选取任务中所需使用到的资源,若还未创建资源,您也可单击新建资源按钮,前往资源库进行新建。新建资源操作详见资源库

5 调度设置

进入右侧边栏调度设置,配置节点调度相关属性。设置操作详见:调度设置

注意

Python 任务上游依赖设置,不支持依赖推荐功能,只能通过手动添加的方式,添加上游依赖关系。

6 保存并调试任务

配置完成后,单击上方操作栏中保存调试图标按钮,将执行编辑的 Python 命令。执行成功后,可在界面下方查看运行日志和结果。

注意

  • 调试操作,直接使用线上数据进行调试,需谨慎操作。
  • 本任务类型支持调试执行成功或失败后发送消息通知,您可根据业务情况,前往项目控制台 > 配置信息 > 消息通知设置中,选择是否开启任务调试运行成功失败通知。
    • 默认通知方式为邮箱,您需在“账号管理”中,提前绑定相应的安全邮箱信息;
    • 您也可根据业务需要,自行配置飞书应用机器人,通过飞书的方式发送消息通知,飞书消息通知前置操作详见1.1 飞书应用机器人创建

Image

7 提交发布任务

任务所需参数配置和调试任务成功后,将任务提交发布到运维中心离线任务运维中执行。
单击上方操作栏中的保存提交上线按钮,在提交上线对话框中,选择回溯数据、监控设置、提交设置等参数,最后单击确认按钮,完成作业提交。 提交上线说明详见:数据开发概述---离线任务提交
后续任务运维操作详见:离线任务运维