在HoloStudio中,数据开发模块的主要功能是新建开发节点,并与DataWorks无缝打通实现定时调度,提供一站式稳定高效的ETL服务。本小节将会为您介绍HoloStudio的数据开发模块以及提供示例将MaxCompute数据导入到交互式分析中实现周期性调度。

说明 :交互式分析(Interactive Analytics)在公测期间免费,但是数据开发前往DataWorks调度会产生收费,详细收费标准请参见公共调度资源组

文件夹

文件夹模块可以存放新建的数据开发,方便您管理各个数据库中的开发节点。

左侧菜单栏单击数据开发 > 文件夹,填写文件夹名称,即可创建一个属于自己的文件夹,用于存放数据开发的操作内容。

Hologres开发

Hologres开发模块可以新建数据开发,并与DataWorks打通,方便您前往DataWorks进行定时调度。

单击左侧菜单栏Hologres开发,并填写新建节点的基本信息,单击提交,即可创建一个新的数据开发页面,用于定时调度。详细调度操作步骤请参见示例。

属性 说明
节点名称 新建节点的名称
目标文件夹 存放数据开发的文件夹
数据库 要操作的数据库

示例:HoloStudio周期性调度

  1. 准备MaxCompute表数据
    准备一张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 '是否有定期存款'
    );
  2. HoloStudio新建外部表数据开发

    进入HoloStudio,单击左侧菜单栏中数据开发 > 新建数据开发,新建一张外部表,用于映射MaxCompute源头表数据。

    示例SQL命令如下,并单击保存,然后单击左上角前往DataWorks调度,进行调度。
    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;
    说明
    • project_name:MaxCompute表所在的工作空间名。
    • table_name:MaxCompute表名。
  3. 外部表调度

    跳转到DataWorks调度页面之后,进行调度信息配置。

    新建Hologres开发之后,选中刚新建的开发节点,并单击更新节点版本,即可将HoloStudio中新建的节点同步至DataWorks,单击右侧调度配置,选中调度依赖,父节点输出名称确保为MaxCompute源头表。调度配置完成之后单击保存 > 提交 > 发布,发布成功后单击运维中心,前往生产环境发布。
    进入到生产环境后,,选中发布的节点,并单击发布
    发布成功之后,单击右上角运维中心,进行数据配置。单击左侧菜单栏周期任务,选中发布的节点,右键单击补数据 > 当前节点,即可成功发布。
  4. HoloStudio建立分区表数据开发

    外部表节点发布完成之后,前往HoloStudio建立分区表数据开发,写入分区数据。

    进入HoloStudio > 数据开发 > 新建数据开发,输入SQL命令,单击运行,并给自定义参数赋值,运行成功后,单击保存 > 前往DataWorks调度,示例SQL如下。
    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;
    
    
    
    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;
  5. 分区表调度

    跳转至DataWorks新建数据开发,单击更新节点版本,将分区表信息同步至该节点,并单击右侧调度配置,将基础属性 > 参数赋值为某个时间,调度依赖为刚发布的外部表,完成之后,单击保存 > 提交 > 发布,并前往运维中心进行生产环境发布。

  6. 发布并周期性调度数据
    将分区表开发节点发布成功之后,再将数据补充完整。
    前往HoloStudio,单击左侧菜单栏PG管理 > ,选中调度配置成功的分区表,并单击数据预览,即可查看到数据。按照上述操作更改时间参数即可看到周期性的数据。