本章节为您介绍如何添加自定义计算节点并且编排场景进行数据加工。

前提条件

您已经新建数据模型,详细参:设计数据模型

背景信息

可以对逻辑表进行新建自定义ETL节点编排场景进行数据加工。

添加计算节点并发布版本

  1. 登录数据资源平台控制台
  2. 在页面左上角单击菜单按钮,选择研发工作台 > 资产加工 > 数据建模,进入数据建模页面。
  3. 单击左侧导航栏场景加工 > 公共节点 > 添加节点
  4. 弹出添加节点页面,填写节点名称和code,服务类型选择为“离线服务”、计算资源类型为“MaxCompute”,作业类型为“SQL",单击下一步
    1. 输入SQL语句。
      节点"ods_base_yhkh_di"SQL语句:
      insert overwrite table ${ods_base_yhkh_di}
      select
        t1.id,
        t1.zzhm,
        t1.khmc,
        t1.nl,
        t1.xb,
        case t1.xb when '0' then '1' when '1' then '2' end as c_xb_dm,
        case t1.xb when '0' then '男' when '1' then '女' end as c_xb_mc,
        substr(t1.yddh1, -11) as yddh1,
        t1.csrq,
        t1.jysp,
        case t1.jysp when '0' then '00' when '1' then '01' when '2' then '02'
        when '3' then '03' when '4' then '04' end as c_jysp_dm,
        case t1.jysp when '0' then '研究生' when '1' then '本科' when '2' 
        then '高中' when '3' then '职业高中' when '4' then '职业学院' end as c_jysp_mc,
        t1.career,
        case t1.career when '0' then '00' when '1' then '01' when '2' then '02' when '3'
        then '03' when '4' then '04' end as c_career_dm,
        case t1.career when '0' then '保险' when '1' then '教师' when '2' then '外企白领' 
        when '3' then '自由职业' when '4' then 'IT工程师' end as c_career_mc,
        t1.hyzk,
        case t1.hyzk when '0' then '00' when '1' then '01' end as c_hyzk_dm,
        case t1.hyzk when '0' then '已婚' when '1' then '未婚' end as c_hyzk_mc,
        t1.gz,
        t1.decdbyjyje,
        t1.decdbyjybs,
        t1.zjzdjyrq,
        t1.jtnsr,
        t1.dqckcy
      from
        ${stg_base_yhkh_di} t1
    2. 单击页面右侧运行属性,选择测试资源。
    3. 节点输入:单击页面右侧输入输出 > 添加输入信息,选择节点输入变量和数据模型,数据源类型为“Maxcompute”,在单击页面添加,选择节点输入变量和数据模型,数据源类型为“Maxcompute”。
    4. 节点输出:单击页面右侧添加输出信息,选择节点输出变量和数据模型,数据源类型为“Maxcompute”。
      节点输入输出配置:
      节点名称和code 节点描述 节点输入变量和数据模型 节点输出变量和数据模型
      ods_base_yhkh_di 银行客户信息 stg_base_yhkh_di ods_base_yhkh_di
    5. 单击左上角保存按钮,单击运行按钮,出现运行参数页面,输入默认值和参数名一致,单击确定,查看运行日志。
  5. 单击页面发布代码版本,弹出代码发布页面,填写新版本为“1.0.0”,单击确定
  6. 单击返回,页面返回到节点管理页面,查看新建的节点。
  7. 重复步骤4-6添加其他节点,其他节点SQL语句:
    节点"ods_base_xykbkjl_di"SQL语句:
    insert overwrite table ${ods_base_xykbkjl_di}
    select
      t1.id,
      t1.cid,
      t1.climit,
      to_char(from_unixtime(t1.actdate),"yyyymmdd")  as actdate,
      t1.channel,
      t1.rid
    from
      ${stg_base_xykbkjl_di} t1
    节点"dwd_khzx_khxx_di"SQL语句:
    insert overwrite table ${dwd_khzx_khxx_di} 
    select id,zzhm,khmc,nl,c_xb_mc,yddh1,
    csrq,c_jysp_mc,c_career_mc,c_hyzk_mc,
    gz,decdbyjyje,decdbyjybs,zjzdjyrq,jtnsr,
    dqckcy from ${ods_base_yhkh_di};
    节点"dwd_xykyw_bkjl_di"SQL语句:
    insert overwrite table ${dwd_xykyw_bkjl_di} 
    select
    a.id,
    a.cid,
    a.climit,
    a.actdate,
    a.channel,
    a.rid,
    b.nl,
    b.c_xb_mc,
    b.c_jysp_mc
    from ${ods_base_xykbkjl_di} a,${ods_base_yhkh_di} b where a.rid=b.zzhm;
    节点"dws_wp_xyk_di"SQL语法:
    insert overwrite table ${dws_wp_xyk_di} 
    select * from 
    ${dwd_xykyw_bkjl_di};
    节点"dws_ren_kh_di"SQL语法:
    insert overwrite table ${dws_ren_kh_di} 
    select * from 
    ${dwd_khzx_khxx_di};
    节点输入输出配置:
    节点名称和code 节点描述 节点输入变量和数据模型 节点输出变量和数据模型
    ods_base_xykbkjl_di 信用卡信息 stg_base_xykbkjl_di ods_base_xykbkjl_di
    dwd_khzx_khxx_di 银行客户信息 ods_base_yhkh_di dwd_khzx_khxx_di
    dwd_xykyw_bkjl_di 信用卡信息 ods_base_yhkh_di dwd_xykyw_bkjl_di
    ods_base_xykbkjl_di
    dws_wp_xyk_di 信用卡信息 dwd_xykyw_bkjl_di dws_wp_xyk_di
    dws_ren_kh_di 银行客户信息 dwd_khzx_khxx_di dws_ren_kh_di

创建测试场景并部署、运行及上线

  1. 登录数据资源平台控制台
  2. 在页面左上角单击菜单按钮,选择研发工作台 > 资产加工 > 数据建模,进入数据建模页面。
  3. 单击左侧导航栏场景加工 > 测试场景 > 进入 > 新建测试场景
  4. 弹出创建测试场景页面,填写场景名称和code,单击确定,进入场景编排页面。
    创建测试场景配置:
    场景名称 场景code
    信息中心 xxzxx
    1. 单击左侧系统节点 > 输入数据节点拖到画布上,选中节点,输入对应信息。
      新建输入数据节点配置:
      Node Code Node Name 存储类型 数据模型
      stg_base_yhkh_di 银行客户信息 MaxCompute stg_base_yhkh_di
      stg_base_xykbkjl_di 信用卡信息 MaxCompute stg_base_xykbkjl_di
    2. 单击画布上添加的输入数据节点,单击页面右侧运行属性,选择测试和线上云计算资源,并输入测试配置线上配置的表名。
      新建输入数据节点配置:
      输入数据节点名称 测试/线上云计算资源 测试/线上配置表名
      银行客户信息 根据客户定义选择,测试和线上场景不能相同 stg_base_yhkh_di
      信用卡信息 stg_base_xykbkjl_di
    3. 把左侧“Maxcompute”算法下拖入新建的所有节点到画布,并进行连线,连线过程中设置上下游节点连接详情,出的输出code-数据类型和入的输入code-数据类型一致连线如下图:连线连线效果
    4. 单击画布上添加的自定义数据节点,单击页面右侧节点属性,选择节点版本为正式版,单击参数变量,单击节点输出下的修改输出勾选修改输出,选择测试资源,输入输出表名,单击线上资源,勾选配置输出表,输入输出表名,单击返回。单击页面运行属性,选择测试和线上云计算资源。
      公共节点配置:
      节点名称 测试/线上云计算资源 测试/线上配置输出表名
      ods_base_yhkh_di 根据客户定义选择,测试和线上场景不能相同。 ods_base_yhkh_di
      ods_base_xykbkjl_di 根据客户定义选择,测试和线上场景不能相同。 ods_base_xykbkjl_di
      dwd_khzx_khxx_di 根据客户定义选择,测试和线上场景不能相同。 dwd_khzx_khxx_di
      dwd_xykyw_bkjl_di 根据客户定义选择,测试和线上场景不能相同。 dwd_xykyw_bkjl_di
      dws_ren_kh_di 根据客户定义选择,测试和线上场景不能相同。 dws_ren_kh_di
      dws_wp_xyk_di 根据客户定义选择,测试和线上场景不能相同。 dws_wp_xyk_di
    5. 单击保存按钮后单击部署,对测试场景进行部署,等待部署成功。部署成功
    6. 部署成功后,单击运行进行离线节点运行,弹出设置业务日期,单击确定,等待运行成功。测试场景运行成功
  5. 线上场景设置、部署和运行。
    1. 单击上线,对测试场景进行上线,页面跳转到线上场景,单击测试场景名称,等待场景部署完成。线上场景部署成功
    2. 部署成功后,单击线上场景名称后,单击运行进行离线节点运行,弹出设置业务日期,单击确定,等待运行成功。线上场景运行成功

场景加工后的数据探查

  1. 登录数据资源平台控制台
  2. 在页面左上角单击菜单按钮,选择研发工作台 > 资产加工 > 数据探查,进入数据探查页面。
  3. 单击数据探查 > 物理表探查,进入物理表探查页面。
    1. 选中MaxCompute下的云计算资源,输入加工后节点输出表表名。
    2. 单击物理表操作数据预览,查看物理表数据预览。探查