创建PYTHON计算任务

为了满足丰富的Python应用场景,Dataphin支持创建可以使用Python语法的PYTHON计算任务。本文为您介绍如何基于Dataphin新建PYTHON计算任务。

背景信息

Python 3.7更能满足更多样化的大数据处理的诉求,例如,Python 3.7支持Python 2.7不支持的list.clear()方法。更多信息,请参见Python

使用限制

  • Python 3.7无法向下兼容Python 2.7,无法直接升级历史的Python 2.7任务。

  • 2.9.3版本后,Dataphin默认支持研发Python 3.7计算任务。系统仅支持草稿状态的Python任务修改版本,当前支持Python 2.7、Python 3.7和Python 3.11。

任务执行说明

  • 在Dataphin中完成Python任务的编辑后,运行任务时,将会由Dataphin调度集群进行执行。Dataphin调度集群执行Python任务时,将会克隆Dataphin内置的模板镜像用于执行Python任务,模板镜像内包含了Python的常用资源包。您可以使用已经内置资源包,进行Python任务的开发。更多信息,请参见附录:Python预置资源包

    image

  • 内置的资源包不满足需求时,您可以通过管理中心的Python三方包安装所需的资源包。已经安装的资源包可以通过引用的方式进行使用,运行时,系统会自动将引用的资源包置于运行环境,用于任务的执行。因Dataphin每次运行时,都会通过克隆Dataphin内置模板镜像的方式运行,如果您通过pip install命令方式使用资源包,任务每次运行时,都将重新运行一次pip install命令。建议通过Python三方包进行使用,使用说明,请参见使用三方库进行Python计算任务开发案例

操作步骤

  1. 在Dataphin首页的顶部菜单栏中,选择研发 > 数据研发

  2. 开发页面的顶部菜单栏选择项目(Dev-Prod 模式需要选择环境)。

  3. 在左侧导航栏中选择数据处理 > 计算任务,在计算任务列表中单击image图标,选择PYTHON

  4. 新建PYTHON任务对话框中,配置以下参数。

    参数

    描述

    任务名称

    填写代码任务的名称。

    长度不超过256个字符,不支持竖线(|)、正斜线(/)、反斜线(\)、半角冒号(:)、半角问号(?)、尖括号(<>)、星号(*)和半角引号(")。

    调度类型

    选择任务的调度类型。调度类型包括:

    • 周期任务:自动参与系统的周期性调度。

    • 手动任务:需要手动触发任务的运行。

    选择目录

    选择任务所存放的目录。

    若未创建目录,您可以新建文件夹,操作方法如下:

    1. 在计算任务列表上方单击image图标,打开新建文件夹对话框。

    2. 新建文件夹对话框中输入文件夹名称并根据需要选择目录位置。

    3. 单击确定

    使用模板

    引用代码模板以实现高效研发,模板任务代码为只读不可编辑,您只需配置模板参数即可完成代码研发。

    Python三方包

    若需要使用Python三方包,请选择需要引入的Python三方包。更多信息,请参见安装及管理Python三方包

    说明

    在Python三方包中添加某个第三方Module后,需要在任务中声明引用后,才可以在代码中导入(import)该Module。可在计算任务属性 > Python三方包配置项中设置编辑引用的Module。

    描述

    填写任务的简单描述,1000个字符以内。

  5. 单击确定

  6. 在当前PYTHON任务页签下的代码编辑区域,编写PYTHON计算任务的代码。代码编辑完成后,单击代码编辑区域上方的运行

    说明
    • 开发Python计算任务时,通常需要根据业务场景安装所需资源包。Dataphin已经预置通用资源包至系统内,您在开发代码过程中,只需要在代码开始部分添加import <资源包名>语句即可,例如import configparser。更多信息,请参见附录:Python预置资源包

    • 在开发Python计算任务时,建议您在Python文件前两行对编码进行主动注释,防止执行代码时使用系统编码,导致执行结果报错。

    • 若您需要在Python中引入上传的资源文件。请参见上传资源及引用

  7. 单击页面右侧边栏的属性,在属性面板中配置任务的基本信息运行资源Python 三方包运行参数调度属性(周期任务)、调度依赖(周期任务)、运行配置等信息。

    • 基本信息

      用于定义调度任务的名称、对应责任人、描述等基本信息。配置说明,请参见配置任务基本信息

    • 运行资源

      为运行当前计算任务所分配的CPU和内存资源,默认为0.1核256MB。配置说明,请参见配置离线任务运行资源

    • Python 三方包

      请选择需要引入的Python三方包。更多信息,请参见安装Python Module

    • 运行参数

      若您的任务中调用了参数变量,您可在属性中对参数进行赋值,从而支持节点调度时,参数变量可以自动被替换为相应的变量值。配置说明,请参见参数配置及使用节点参数

    • 调度属性(周期任务)

      如果离线计算任务的调度类型为周期任务,除了基本信息外,还需要配置任务的调度属性。配置说明,请参见配置调度属性

    • 调度依赖(周期任务)

      如果离线计算任务的调度类型为周期任务,除了基本信息外,还需要配置任务的调度依赖。配置说明,请参见配置调度依赖

    • 运行配置

      您可根据业务场景为离线计算任务配置任务级的运行超时时间和任务运行失败时的重跑策略。未配置则默认继承租户级设置的默认值。配置说明,请参见计算任务运行配置

  8. 在当前Python任务页签下,保存并提交当前任务。

    1. 单击代码编辑区域上方的image图标,保存代码。

    2. 单击代码编辑区域上方的image图标,提交代码。

  9. 提交详情页面中,需确认提交内容前置检查的结果,并填写备注信息。更多信息,请参见离线计算任务提交说明

  10. 确认完成后,单击确定并提交

    说明
    • 为确保数据安全,若您开发的Python任务中代码包含from dataphin import hivecimport dataphin, 则提交后将触发代码审核,并自动为您生成代码审核申请工单,审核通过后才正常提交。

    • 代码审核人为当前项目的项目管理员(多个项目管理员时,任意一个审批通过即可正常提交)。

后续步骤

  • 如果您的开发模式是Dev-Prod模式,任务提交成功后还需前往发布列表,将任务发布至生产环境。更多信息,请参见管理发布任务

  • 如果您的开发模式是Basic模式,则提交成功后的Python任务,即可参与生产环境的调度。您可前往运维中心查看您发布的任务。更多信息,请参见查看并管理脚本任务查看并管理手动任务