本文将为您介绍如何新建HoloStudio开发节点,并以导入MaxCompute数据至交互式分析实现周期性调度为例,为您介绍HoloStudio数据开发模块的功能。

在HoloStudio中,数据开发模块的主要功能是新建开发节点,并与DataWorks无缝打通实现定时调度,为您提供一站式稳定高效的ETL服务。
说明 交互式分析在公测期间免费,但是数据开发前往DataWorks调度会产生收费,详细收费标准请参见公共调度资源组

进入HoloStudio的数据开发页面

  1. 登录DataWorks控制台,单击相应工作空间后的进入数据开发
  2. 单击左上角的图标,选择全部产品 > HoloStudio
  3. 单击左侧导航栏中的数据开发,即可进入HoloStudio的数据开发页面。

新建文件夹

文件夹模块可以存放新建的数据开发,以便您管理各个数据库中的开发节点。如果已存在文件夹,请跳过该步骤,直接在相应的文件夹下新建Hologres开发节点。
  1. 数据开发页面,鼠标悬停至新建,单击文件夹
  2. 新建文件夹对话框中,输入文件夹名称
  3. 单击提交

新建Hologres开发节点

Hologres数据开发模块可以新建Hologres开发节点,并与DataWorks打通,方便您前往DataWorks进行定时调度。详情请参见下文的HoloStudio周期性调度示例
  1. 数据开发页面,鼠标悬停至新建,单击Hologres开发
  2. 配置新建节点对话框中的参数。
    参数 描述
    节点名称 新建节点的名称。
    目标文件夹 存放数据开发节点的文件夹。
    数据库 要操作的数据库。
  3. 单击提交

HoloStudio周期性调度示例

  1. 准备MaxCompute表数据。
    创建一张MaxCompute源表并导入数据,详情请参见创建表。您也可以直接从DataWorks的数据地图页面选择一张表。以数据地图中的表为例,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新建外部表。
    1. 进入HoloStudio模块后,单击左侧导航栏中的PG管理
    2. 鼠标悬停至新建,单击外部表

      此处新建的外部表用于映射MaxCompute源表的数据。

    3. 在表的编辑页面,设置基本属性外部服务,单击右上角的生成DDL语句,示例语句如下。
      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表名。
    4. 单击提交
  3. 新建真实存储表、
    在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;
  4. 新建分区表。
    1. 在HoloStudio页面,单击左侧导航栏中的数据开发
    2. 鼠标悬停至新建,单击Hologres开发
    3. 新建节点对话框中,输入节点名称,选择目标文件夹数据库,单击提交
    4. 在节点的编辑页面,输入如下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;
    5. 单击工具栏中的运行。在参数对话框中,为自定义参数赋值,单击确定
    6. 运行成功后,单击工具栏中的保存,并单击页面右上角的前往DataWorks调度
  5. 分区表调度。
    说明 您需要提前在DataWorks的数据开发页面新建业务流程,详情请参见新建业务流程
    1. 自动跳转至DataWorks的数据开发页面,弹出新建节点对话框。
    2. 新建节点对话框中,选择目标文件夹
    3. 单击提交,进入节点的编辑页面。
    4. 选择Hologres开发节点后,单击更新节点版本,同步分区表的信息至该节点。更新节点
  6. 调度配置。
    在节点的编辑页面,单击右侧导航栏中的调度配置,配置调度参数。
    1. 基础属性
      如下图所示,为参数赋值时间节点。关于参数的配置,请参见基础属性基础属性
    2. 时间属性

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

      时间属性
    3. 调度依赖

      调度依赖设置为root节点即可(也可以设置为依赖真实表,前提是该真实表提交了调度)。

      首先设置自动解析,单击使用工作空间根节点,自动解析出root节点。然后设置自动解析,更多详情请参见依赖关系调度依赖
  7. 发布调度。

    完成调度参数的配置后,分别单击工具栏中的保存提交图标,并单击右上角的发布

  8. 在运维中心页面发布。
    1. 跳转至创建发布包页面,勾选当前任务,单击发布
    2. 发布包提交成功后,单击顶部菜单栏中的运维中心,进行手工补数据。发布
    3. 单击左侧导航栏中的周期任务运维 > 周期任务,选择已发布成功的节点。
    4. 右键单击该节点,选择补数据 > 当前节点,根据业务情况配置节点。
  9. 在HoloStudio页面查看数据。
    1. 任务执行成功后,单击左上角的图标,选择全部产品 > HoloStudio
    2. 刷新当前页面,单击左侧导航栏中的PG管理
    3. 展开,即可查看调度成功的分区表。
    4. 双击该表,在表的详情页面,单击右上角的数据预览,即可查看成功导入的数据。数据预览