更新时间:2020-08-28 18:06
分析型数据库PostgreSQL版(原HybridDB for PostgreSQL,下面简称ADB for PG)是阿里云上一款流行的实时数据仓库产品,提供简单、快速、经济高效的 PB 级云端数据仓库解决方案。
本文将重点介绍DMS数仓开发如何对接ADB for PG(也可适用于DMS产品内其他非NoSQL数据库)。
需要一个阿里云的ADB for PG实例(如果没有,请先创建)。同时需要在ADB for PG实例中创建一个数据库以及在该数据库下创建一个schema(需要通过ADB for PG客户端运行创建脚本)。创建脚本如下:
--创建数据库
create DATABASE dms_adbpg_demo_db;
--切换数据库
\c dms_adbpg_demo_db
--创建schema
create SCHEMA dms_adbpg_demo_schema AUTHORIZATION <user_name>;
如果已经开通,可以直接访问DMS控制台。
如果没有,请根据下面的步骤进行开通:
访问DMS应用,然后点击“立即购买”。
然后选择好付费模式、管控模式以及使用的实例数以后,点击立即购买(管控模式介绍)。DMS开通成功以后,可以开始后续的步骤。
DMS对接ADB for PG分为三个步骤,新增数据库,权限申请以及数仓开发。下面的章节将一一介绍。
首先需要将ADB for PG加入DMS,其步骤如下:
进入DMS控制台,点击左上角的新增实例/批量录入,然后点击新增实例
从新增实例界面中选择ADB-PostgreSQL
然后在新增实例界面中输入ADB for PG实例的相关信息:
4.点击测试链接按钮,验证输入的ADB for PG信息是否正确
5.提交以后,在左侧的搜索栏中通过ADB for PG的实例ID搜索到刚才新增的实例,点击编辑实例,编辑实例显示。
6.在编辑实例界面的高级信息中,编辑实例名称为dms_adbpg_demo
将ADB for PG加入DMS以后,还需要给当前用户申请权限访问ADB for PG。
当前用户需要申请库-权限以及库-OWNER,权限申请步骤如下:
权限申请在顶部导航栏的权限中的申请权限,然后点击库-权限
在权限申请工单中,选择库-权限,在选择要申请权限的库/表/列中输入事先创建好的schema:dms_adbpg_demo_schema。然后点击添加按钮,接着在底部选择权限类型:查询,导出和变更。最后点击提交申请。
权限申请工单详情如下,需要记录工单号,以及数据Owner:
权限申请在顶部导航栏的权限中的申请权限,然后点击库-OWNER
在权限申请工单中,选择库-OWNER,在选择要申请权限的库/表/列中输入事先创建好的schema:dms_adbpg_demo_schema,然后点击添加按钮,最后点击提交申请。
权限申请工单详情如下,需要记录工单号,以及数据Owner:
数据Owner用户拥有审批权限,权限审批流程如下:
在该用户的界面下,进入我的工单中的待处理工单:
通过搜索发起人的名字,找到权限申请中申请的工单,然后点击工单号进入:
进入权限申请工单详情,点击同意按钮,通过权限申请
权限申请的工单被批准以后,接着可以开始数仓开发。
首先点击顶部导航栏中的数据工厂,然后选择数仓开发,进入DMS数仓开发模式。
然后点击左侧导航栏中的开发空间,开始数仓开发
点击开发空间中数据仓库边上的“+”按钮,打开创建数仓项目界面
在创建数仓项目界面中,输入项目名称:dms_adbpg_demo_dw,在选择数仓引擎中选择AnalyticDB for PostgreSQL,在选择已有数据库中选择事先创建好的dms_adbpg_demo_schema,然后确认。
展开刚才创建好的数仓项目dms_adbpg_demo_dw,展开数仓表,选择内部表右边“…”,然后点击新增内部表
然后输入建表的SQL语句,然后执行
本文档需要建立两张表demo1和demo2,建表SQL语句如下(两张表需要分别创建):
--create tables demo1 and demo2
create table demo1
(
id integer,
v integer
);
create table demo2
(
id integer,
v integer
);
然后展开内部表,可以看到创建好的表demo1和demo2,接下来的步骤可以直接使用这两表。
在数仓项目dms_adbpg_demo_dw下,选择任务流,然后点击任务流右边的“+”,进入新建任务流界面。
在任务流名称中输入dw_task,然后点击确认按钮,完成新建任务流。
在当前界面中,通过拖拽数仓SQL任务创建SQL任务。然后在每个SQL任务的内容设置中编写SQL。
本文档中,配置两个SQL任务,一个用于准备数据,一个做聚合操作。数据准备的SQL任务内容设置如下:
--insert data into demo1
insert into demo1 values(1, 1);
insert into demo1 values(1, 19);
insert into demo1 values(2, 12);
insert into demo1 values(3, 2);
insert into demo1 values(3, 4);
insert into demo1 values(4, 67);
聚合操作的SQL任务内容设置如下:
--run aggregation operation against demo1 and insert results into demo2
insert into demo2
select id, sum(v) from demo1 group by id;
然后在节点名称中,把数据准备SQL的任务名改为Preparation,把聚合操作SQL的任务名改为Aggregation。
最后通过点击Preparation任务的下边框连接点,引出一个到达Aggregation任务的带箭头直线,关联Preparation任务和Aggregation任务。
编制好的数仓任务流,可以通过试运行以及调度配置设置周期运行策略来运行。
点击当前界面左上角的试运行,运行编制好的任务流。
在左导航栏的运维中心中可以看到任务流的运行结果
点击左导航栏的任务类型回到任务编制界面,在空白处点击鼠标,右侧出现调度配置界面。
然后在调配配置界面中开启调度,选择调度类型为周期调度,选择调度周期以及输入具体时间。
这样,周期性调度的任务流就完成了,到了具体时间时,该任务流就会自动触发,运行结果可以在运维中心中查看。
本文档简要介绍了DMS数仓开发如何对接ADB for PG的步骤,包括开通DMS,添加ADB for PG实例,以及创建、编排、运行、管理、调度数仓任务流。使用DMS数仓开发在ADB for PG上做周期性数据分析可获得如下好处:
DMS数仓开发提供更多的数据管理和数仓开发功能,更多的详细信息和功能,请参考:DMS文档。
在文档使用中是否遇到以下问题
更多建议
匿名提交