本文档为您介绍HoloStudio中Hologres开发模块如何开展任务周期性调度作业。

说明 :数据开发前往DataWorks调度会产生收费,详细收费标准请参见按量计费

Hologres开发模块提供与DataWorks双向作业的通道,实现任务的定时调度,提供一站式稳定高效的ETL服务。周期性调度作业的主要操作步骤如下:

  1. 新建Hologres开发

    单击左侧菜单栏Hologres开发,并填写新建节点的基本信息,单击提交,即可创建一个新的数据开发页面,用于定时调度。

  2. 准备MaxCompute表数据
    准备一张MaxCompute源头数据表,您可以参考创建和查看表,创建一张表并导入数据,也可以直接从数据地图中选用一张表。示例选用数据地图中的已有表,其DDL如下。
    CREATE TABLE IF NOT EXISTS bank_data_odps
    (
     age             BIGINT COMMENT '年龄',
     job             STRING COMMENT '工作类型',
     marital         STRING COMMENT '婚否',
     education       STRING COMMENT '教育程度',
     card         STRING COMMENT '是否有信用卡',
     housing         STRING COMMENT '房贷',
     loan            STRING COMMENT '贷款',
     contact         STRING COMMENT '联系途径',
     month           STRING COMMENT '月份',
     day_of_week     STRING COMMENT '星期几',
     duration        STRING COMMENT '持续时间',
     campaign        BIGINT COMMENT '本次活动联系的次数',
     pdays           DOUBLE COMMENT '与上一次联系的时间间隔',
     previous        DOUBLE COMMENT '之前与客户联系的次数',
     poutcome        STRING COMMENT '之前市场活动的结果',
     emp_var_rate    DOUBLE COMMENT '就业变化速率',
     cons_price_idx  DOUBLE COMMENT '消费者物价指数',
     cons_conf_idx   DOUBLE COMMENT '消费者信心指数',
     euribor3m       DOUBLE COMMENT '欧元存款利率',
     nr_employed     DOUBLE COMMENT '职工人数',
     y               BIGINT COMMENT '是否有定期存款'
    );
  3. HoloStudio新建外部表

    进入到HoloStudio中,在PG管理中新建一张外部表,用于映射MaxCompute源头表数据。示例新建外部表SQL如下:

    BEGIN;
    CREATE FOREIGN TABLE if not EXISTS bank_data_foreign_holo (
     age int8,
     job text,
     marital text,
     education text,
     card text,
     housing text,
     loan text,
     contact text,
     month text,
     day_of_week text,
     duration text,
     campaign int8,
     pdays float8,
     previous float8,
     poutcome text,
     emp_var_rate float8,
     cons_price_idx float8,
     cons_conf_idx float8,
     euribor3m float8,
     nr_employed float8,
     y int8
    )
    SERVER odps_server
    OPTIONS (project_name 'projectname', table_name 'bank_data_odps');
    GRANT SELECT ON bank_data_foreign_holo TO PUBLIC;
    COMMIT;
    说明
    • SERVER为交互式分析底层封装的外部服务器,无须用户自己创建,直接使用即可,相关原理可以参见fdw
    • project_name:MaxCompute表所在的工作空间名。
    • table_name:MaxCompute表名。
  4. 新建真实存储表

    在HoloStudio的PG管理或者SQL Console中新建一张真实的存储表,用于接收并存储数据。字段类型需与外部表保持一致。

    示例建表语句如下:

    BEGIN;
    CREATE TABLE if not EXISTS bank_data_holo (
     age int8,
     job text,
     marital text,
     education text,
     card text,
     housing text,
     loan text,
     contact text,
     month text,
     day_of_week text,
     duration text,
     campaign int8,
     pdays float8,
     previous float8,
     poutcome text,
     emp_var_rate float8,
     cons_price_idx float8,
     cons_conf_idx float8,
     euribor3m float8,
     nr_employed float8,
     y int8,
     ds text NOT NULL
    )
    PARTITION  BY LIST(ds);
    CALL SET_TABLE_PROPERTY('bank_data_holo', 'orientation', 'column');
    CALL SET_TABLE_PROPERTY('bank_data_holo', 'time_to_live_in_seconds', '700000');
    COMMIT;
  5. 新建分区表数据开发

    在HoloStudio中,选择左侧菜单栏数据开发,并单击上方新建Hologres开发,输入建表语句并写入数据。单击运行,给自定义参数赋值后单击保存,之后单击前往DataWorks调度,示例SQL如下。

    create table if not exists bank_data_holo_1_${bizdate} partition of bank_data_holo
      for values in ('${bizdate}');
    
    insert into bank_data_holo_1_${bizdate}
    select 
        age as age,
        job as job,
        marital as marital,
        education as education,
        card as card,
         housing as housing,
        loan as loan,
        contact as contact,
        month as month,
        day_of_week as day_of_week,
         duration as duration,
        campaign as campaign,
         pdays as pdays,
        previous as previous,
        poutcome as poutcome,
         emp_var_rate as emp_var_rate,
        cons_price_idx as cons_price_idx,
        cons_conf_idx as cons_conf_idx,
        euribor3m as euribor3m,
        nr_employed as nr_employed,
        y as y,
        '${bizdate}' as ds 
    from bank_data_foreign_holo;
  6. 分区表调度

    跳转至DataWorks新建数据开发(在此之前请先在DataWorks中新建业务流程),单击更新节点版本,将分区表信息同步至该节点。

  7. 调度配置

    单击右侧菜单栏调度配置,进行调度参数配置。

    1. 基础属性配置
      参数赋值为时间节点,如示例所示。关于参数的配置,可以参见DataWorks文档基础属性
    2. 时间属性设置

      主要设置重跑属性,其余参数可以根据业务情况自行设置。关于时间属性的配置,请参见DataWorks文档配置时间属性

    3. 调度依赖设置

      调度依赖设置为root节点即可(也可设置依赖为真实表,前提是这张真实表也提交了调度)。请先单击自动解析,然后单击使用工作空间根节点,会自动解析出root节点,然后将自动解析设置为。更多关于调度依赖的设置请参见DataWorks文档依赖关系

  8. 发布调度

    调度参数配置完成之后,单击上方菜单栏保存 > 提交 > 发布

  9. 运维中心发布

    在新跳转的任务发布页面,选中当前任务,手动点发布。发布包提交成功后,单击上方菜单栏运维中心进行手工补数据。

    在新跳跳转出来的运维中心页面,选择已发布成功的节点,右键单击节点,选择补数据 > 当前节点。并根据业务情况设置节点配置。

  10. HoloStudio查看数据

    任务执行完毕之后,返回HoloStudio,刷新当前页面,可在PG管理 > 下面看到调度成功的分区表,双击该表,并单击数据预览,即可看到已成功导入的数据。