什么?你还不会使用DataWorks调度?

看过小编《交互式分析六脉神剑》的朋友们,(传送门:《交互式分析六脉神剑》之HoloStudio初体验)应该都知道基于交互式分析引擎的一站式开发平台HoloStudio深度集成于Dataworks。在DataWorks的强大功能背景的支持下,经过交互式分析加速查询的数据(MaxCompute、实时计算),可以通过HoloStudio直接对接到数据服务、调度等模块,轻松实现大数据的一站式开发对接。
但是,居然有朋友给小编说,还不会使用DataWorks的调度功能?这是小编绝对不允许的。趁着这个机会,今天小编就来为大家讲讲,HoloStudio中的数据如何在Dataworks中实现周期性调度,搬好板凳,开课啦!

前提条件

在使用DataWorks之间,请确保已经开通遗下服务并配置好工作空间

操作步骤

步骤1:MaxCompute准备数据源

准备一张MaxCompute源头数据表,您可以参考MaxCompute创建表进行建表,也可以直接从数据地图中选用一张表。示例选用数据地图中的已有表,其DDL如下:(数据量约为4万条)

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;

说明:option给定连接参数:project_name为MaxCompute项目空间名,table_name为MaxCompute表名

步骤3:外部表调度

跳转到DataWorks调度页面之后,配置调度信息并进行发布。
新建Hologres开发之后,选中刚新建的开发节点,并单击更新节点版本,即可将HoloStudio中新建的节点同步至DataWorks,单击左侧调度配置,选中调度依赖父节点输出名称确保为MaxCompute源头表。调度配置完成之后单击保存--提交--发布,发布成功后单击运维中心,前往生产环境发布。
可根据自己的项目情况配置时间属性。示例如下
什么?你还不会使用DataWorks调度?
什么?你还不会使用DataWorks调度?
进入到生产环境后,,选中发布的节点,并单击发布
什么?你还不会使用DataWorks调度?
发布成功之后,单击右上角运维中心,进行数据配置。
单击左侧菜单栏周期任务,选中发布的节点,右键单击补数据--当前节点,即可成功发布。
什么?你还不会使用DataWorks调度?

步骤4:HoloStudio建立分区表数据开发

外部表节点发布完成之后,前往HoloStudio建立分区表数据开发,写入分区数据。
HoloStudio--数据开发--新建数据开发,输入SQL命令,单击运行,并给自定义参数赋值,运行成功后,单击保存--前往DataWorks调度,示例SQL如下:
什么?你还不会使用DataWorks调度?

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新建数据开发,单击更新节点版本,将分区表信息同步同步至该节点,并单击右侧调度配置,将基础属性--参数赋值为时间节点,调度依赖为刚发布的外部表,完成之后,单击保存--提交--发布,并前往运维中心进行生产环境发布。
什么?你还不会使用DataWorks调度?

什么?你还不会使用DataWorks调度?

步骤6:发布并周期性调度数据

DataWorks将开发节点发布成功,并将数据补充完整。
什么?你还不会使用DataWorks调度?
前往Holostudio,单击左侧菜单栏PG管理--表,选中调度配置成功的分区表,并单击数据预览,即可查看到数据。
什么?你还不会使用DataWorks调度?
设置好调度时间,系统会自动进行周期性调度,通过分区,把每天的数据调度出来。

通过小编的讲解,相信你已经学会了怎么使用DataWorks调度吧,动动手指开通交互式分析来使用吧。
若您有任何疑问,欢迎加钉钉群咨询哦
什么?你还不会使用DataWorks调度?

上一篇:【Shell脚本】awk中如何使用shell的环境变量


下一篇:Spark On MaxCompute如何访问Phonix数据