You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
导航

任务模板

最近更新时间2023.04.20 16:20:13

首次发布时间2022.09.02 10:44:43

1 概述

任务模板功能,提供便捷式的创建项目级任务模板,用于常用任务逻辑规范管理,来降低常用代码的运维成本。您可以快速引用现成的任务模板,只需修改几个参数,即可实现核心数据处理逻辑的复用,减少重复代码建设,提升开发效率等。本文将为您介绍任务模板的操作说明。

2 使用前提

  1. DataLeap产品若仅开通 Dataleap大数据集成服务,不支持创建Shell任务和 LAS 流式任务。

  2. DataLeap产品需开通数据开发特惠版、DataOps敏捷研发、大数据分析分布式数据自治服务后,才可创建 EMR 流式数据开发任务。

  3. EMR引擎需绑定 HadoopFlink 的集群类型,且需绑定 EMR 1.3.1 或之前更早的产品版本,其中 Hadoop 集群中,需包含 Flink 组件服务,才可创建 EMR Java Flink、EMR Flink SQL 任务模板。

3 新建任务模板

  1. 登录DataLeap租户控制台

  2. 概览界面,显示加入的项目中,单击数据开发进入对应项目。

  3. 任务开发界面,左侧导航栏中,单击模板列表,进入到任务模板界面。

  4. 在模板列表右侧的更多按钮中,新建子目录或新建任务模板。

  5. 在新建任务模板窗口中,输入以下参数新建模板:

    参数说明
    模板名称输入模板名称信息,只允许字符.、字母、数字、下划线、[]、【】、()、()以及中文字符,200个字符以内。
    模板描述输入该任务模板的描述信息,方便后续管理使用。
    选择目录选择任务模板存放的文件路径。
    支持任务类型选择任务模板对应的任务类型,支持以下 7 种任务类型:EMR HSQL、LAS HSQL、Shell、EMR Flink SQL、LAS Flink SQL、EMR Java Flink、LAS Java Flink 。
  6. 参数配置完成后,单击确认按钮,完成新建任务模板。

4 模板列表管理

4.1 任务模板筛选

任务模板目录树中,支持以下几种筛选方式:

  1. 勾选“我的”按钮,筛选出项目下由当前登录账号创建的任务模板。

  2. 您可以在输入框中,输入任务模板名称信息,进行模糊搜索。

  3. 单击折叠按钮,出现右侧的筛选框,在这里您可以通过任务类型、模板责任人的方式进行筛选,支持多选;也可单击重置按钮,将所有筛选内容清空,展现出所有任务模板。

4.2 子目录文件夹管理

您可以单击文件夹名称右侧的更多按钮,您可以在文件夹下新建子目录、新建任务模板、移动文件夹位置、删除文件夹、重命名文件夹等操作。

注意

删除子目录文件夹,需确认当前当前文件夹下是否还存在子节点,需先清空子节点后,再操作删除。

4.3 任务模板管理

您可以单击任务模板名称右侧的更多按钮,操作任务模板的重命名、移动至其他文件夹目录、删除、 复制等操作。

注意

删除任务模板,需确认当前模板是否有线上任务引用,若存在任务引用,删除失败并弹窗提醒,您需先解除线上任务引用关系后,方可继续删除。

  • 鼠标移至任务模板名称时,会显示出模板的详细信息:任务模板名称、创建责任人、创建时间等。您也可以在详细信息界面上,直接引用当前任务模板,操作详见:引用任务方式

5 编辑任务模板

单击任务模板名称,打开模板编辑器,您可在编辑器中输入通用的代码逻辑,或者选择通用的参数信息。

注意

已有任务模板做更新时,需确认是否对已引用的任务有影响,可以在右侧引用记录中,查看任务引用的模板版本,需谨慎更新任务模板。

5.1 LAS/EMR HSQL

  1. 输入通用代码逻辑,表名、字段名分别可以用@{type1}、@{tablename}表示,时间参数仍可用${}获取,以下为简单代码示例:
select @{type1}, @{type2} from @{tablename} WHERE date = '${date}';
  1. 参数设置

    • 自动解析参数:您可以根据代码逻辑,来自动解析模板中需要使用到的参数信息。

    • 新增参数:可以自定义添加模板额外需要填写的参数信息。

  2. 功能区按钮说明:

功能名称描述
格式化依据在个性化设置中的SQL格式化风格的设置,格式化书写的代码,使其语法结构看起来简洁明了。
表管理您可在表管理中快速创建所需要的数据表,操作详见:库表管理

执行引擎

  • LAS任务类型仅支持 Spark 引擎能力。

  • EMR任务类型支持 Spark、Hive引擎能力。

任务模板中,您可以添加 Java Flink 作业需要使用到的 Flink 参数信息,同时您也可以设置更多的自定义参数在任务中使用:

  1. 固定参数:添加 Flink 作业的固定参数信息,依次添加参数名称、参数值(数值类型)、参数说明等信息。

  2. 计算参数:将“固定参数”和flink任务资源参数当作变量计算,公式支持 + - * / () 以及数字,或者输入“@” 符号,可选择已有变量,例如:(@{固定参数key}+@{JM_CORESa})*2 。

Flink 相关的动态参数和执行参数,具体设置详见 Flink 官方文档

  1. 在任务模板的代码开发编辑界面,通过 DDL 和 DML 编写通用 SQL,表名、字段名分别可以用@{type1}、@{tablename}表示,以下以 LAS Flink SQL示例代码为例:

    详细语法可参考文档 Flink 1.11 官方文档

CREATE  TEMPORARY TABLE @{tablename1} (@{type1} INT)
        WITH (
            'connector' = 'datagen',
            'rows-per-second' = '5',
            'fields.f_sequence.kind' = 'sequence',
            'fields.f_sequence.start' = '1',
            'fields.f_sequence.end' = '1000000'
        );

CREATE  TEMPORARY TABLE @{tablename2} (@{type1} INT)
        WITH ('connector' = 'print', 'print-sample-ratio' = '1');

INSERT INTO @{tablename2}
SELECT  *
FROM    @{tablename1};
  1. 参数设置

    • 自动解析参数:您可以根据代码逻辑,来自动解析模板中需要使用到的参数信息。

    • 新增参数:可以自定义添加模板额外需要填写的参数信息。

  2. 功能区按钮说明:

功能名称描述
格式化依据在个性化设置中的SQL格式化风格的设置,格式化书写的代码,使其语法结构看起来简洁明了。

执行引擎

  • LAS任务类型仅支持 LAS Flink 1.11 引擎能力。

  • EMR任务类型支持 EMR Flink 1.11 引擎能力。

5.4 Shell

  1. 在任务模板的代码开发编辑界面,编写通用的 Shell 脚本,以下为简单脚本示例:

    #! /bin/bash
    function commonFunction() {
    ARGS=`getopt -a -o u:p: -l yarn_cluster:,yarn_queue:, -- "$@"`
    if [ $? != 0 ];
        then echo "Terminating"
        exit 1
    fi
    eval set -- "${ARGS}"
    while true; do
            case "$1" in
                -u|--yarn_cluster)
                    yarn_cluster="$2"
                    shift
                    ;;
                -p|--yarn_queue)
                    yarn_queue="$2"
                    shift
                    ;;
                --)
                    shift
                    break
                    ;;
                
            esac
        shift
    done
    
    echo ${yarn_cluster}
    echo ${yarn_queue}
    }
    
    commonFunction
    
  2. 镜像地址:

    • 支持用户自定义镜像,用户需要基于 DataLeap 提供的基础镜像进行构建,可直接填写基础镜像地址:dataleap-cn-beijing.cr.volces.com/studio/runtime_light:online。

    • 建议使用火山引擎镜像仓库,镜像类型选择“公开”,填写示例:dataleap-cn-beijing.cr.volces.com/studio/spark:online。

  3. 参数设置

    您可在界面下方操作新增参数组

    • 参数组名:输入参数组名,一个参数组名下,允许包含多个参数名称。

      1. 新增参数:在当前参数组名下,添加多个参数配置。

      2. 设置:自定义参数的前缀内容;参数和参数内容之间的连接符合。

      3. 删除:支持删除整个参数组内容。

      alt

    • 参数名称:自定义脚本中所需的参数名称、默认值、字段类型(包含String和JSON类型)、参数说明等信息。

    说明

    Shell任务模板参数替换逻辑如下:

    1. 在参数设置中,添加脚本中需使用到的参数名称:yarn_cluster、yarn_queue,根据实际场景填入默认值,您也可选择不填写,直接在shell任务引用模版时替换。

    2. 填入的参数和参数值,将会拼接在最后一行脚本中,如在以上示例代码中,shell 任务引用后,最后一行脚本被替换为:commonFunction -yarn_cluster=chris -yarn_queue=script,整体通过读取参数值,并调用 commonFunction 函数方法,使用 getopt 来解析执行。



6 引用任务方式

在任务模板配置完成后,您可通过以下两种方式来引用:

  1. 任务开发节点功能区(LAS/EMR SQL、Flink SQL、Shell任务类型支持)

    1. 任务开发界面,左侧导航栏中单击数据开发

    2. 进入模板对应任务类型的编辑器界面,单击上方导航栏功能区中的任务模板。

    3. 进入任务模板弹窗中进行选择是否使用任务模板,需要使用时,需完成以下配置信息:

    参数说明
    选择模板选择对应任务类型的任务模板,下拉框中会展现项目下所属类型的模板名称信息。

    版本

    您可以指定版本号,或者选择始终使用最新

    注意

    选择始终使用最新时:若后续更新任务模板时,将同步更新关联线上任务,需谨慎使用。

    参数设置若任务模板中需要参数替换时,您可以通过单行编辑模式脚本编辑模式,将需替换的参数,填写具体的参数值信息。
    预览结果预览的结果中,会展现最终完整的代码逻辑,您可再次确认逻辑是否有误。
  2. LAS/EMR Java Flink编辑界面引用。

    1. 任务开发界面,左侧导航栏中单击数据开发

    2. 进入 Java Flink 任务编辑界面,在Flink 运行参数栏中,选择使用任务模板。

    3. 在下拉框中,选择项目下 Java Flink 类型所属的模板,并选择需要使用的版本信息。

  3. 直接任务模板引用

    1. 在引用前,您需要先打开对应任务类型的编辑器界面,若与模板任务类型不匹配时,则不支持引用。

    2. 鼠标移动至任务模板名称上,右侧的详细信息中,直接单击引用,在弹窗中单击确认按钮,即可实现任务模板引用,可支持多个任务引用。

7 其他信息

任务模板界面,创建好模板后,您可在界面右侧导航栏,查看任务模板的基本信息、历史版本、引用记录等信息。

  • 基本信息:查看任务模板的模板名称/ID、模板描述、以及任务类型的信息等。

  • 历史版本:保存或更新模板后,会记录各个版本的更新情况,您也可以进行以下操作:

    • 查看:查看任务模板的代码设置、自定义参数等信息。

    • 恢复至草稿:可以恢复至历史的草稿版本,方便及时回滚任务模板代码。

    • 版本对比:您可以勾选两个历史版本进行对比,查看两个版本之间代码、参数配置等信息的不同。

  • 引用记录:

    • 您可以查看当前任务模板已被哪些任务应用,单击查看按钮,即跳转到对应的任务开发界面。

    • 离线任务已上线但关闭后,引用记录对应删除。

    • 流式任务关闭后不清理引用记录,引用记录依旧存在。