概述
HoloStudio是基于交互式分析的一站式开发平台(关于交互式分析的介绍,请参见交互式分析介绍,并深度集成于DataWorks,能直接对接DataWorks的数据服务,支持将交互式分析中查询的表数据快速封装成API对外服务,无数需数据迁移就能够支持更丰富的应用场景。
本文将会为您介绍,如何使用交互式分析将MaxCompute中的数据加速查询,封装成数据服务API,对接BI工具调用API,实现从数据源--数据查询分析--数据服务--数据可视化展现的最佳实践。
案例背景:某机场大厅,大屏轮播当前城市各航班出发情况。
数据源:MaxCompute离线数据
数据处理:交互式分析
开发平台:DataWorks
BI工具:DataV
说明:
1.DataWorks公共云上Lightning数据源已关闭,请使用PostgreSQL数据源对接。
2.本案例是测试案例,实际情况请根据实际数据填写。
准备工作
1.开通计算服务并创建工作空间
创建DataWorks工作空间,(本示例采用杭州region,后不再解释)并同时配置MaxCompute和交互式分析计算引擎服务,若您在此之前并未开通这两种服务,可直接参见MaxCompute开通和交互式分析。若您已有DataWorks项目空间,将两种服务绑定至空间即可。
2.准备MaxCompute数据
在DataWorks控制台中创建MaxCompute表并上传数据
- 本案例使用的MaxCompute建表DDL如下:
CREATE TABLE odps_airline(
flight STRING ,//航班号
model STRING ,//机型
airline STRING ,//航空公司
Destination STRING ,//目的地
takeofftime STRING ,//起飞时间
realtime STRING ,//实际起飞时间
Terminal STRING ,//航站楼
status STRING //航班状态
);
- 本案例最终的表结构和部分数据如下:
HoloStudio加速查询数据
在DataWorks中选用HoloStudio,将MaxComppute中的数据导入交互式分析查询。这一步的目的是将MaxCompute中的数据加速查询,关于MaxCompute中的数据如何导入交互式分析请参见文档:https://help.aliyun.com/document_detail/135653.html?spm=a2c4g.11174283.6.558.3ade21310RvjGW
说明:交互式分析加速查询MaxCompute中的数据有两种方式:
1.直接查询(数据仍然存储在MaxCompute中)
2.导入查询(数据最终存在交互式分析中)
因为数据服务中的PostgreSQL数据源赞不支持外部表,故需要将MaxCompute中的数据导入到交互式分析中加速查询。
最终加速查询结果如下:
使用DataWorks数据服务生成API
MaxCompute表中的数据经过交互式分析加速查询后,可使用DataWorks数据服务生成API,并发布。操作步骤如下
1.新建数据源
A.单击DataWorks--数据服务,进入数据服务控制台,并单击新建--新建数据源
B.跳转到数据集成页面后,单击左侧菜单栏数据源--新增数据源(本示例采用PostgreSQL数据源)
C.在PostgreSQL数据源页面填写连接信息,填写完成,单击测试连通性,显示测试连通性成功表明数据源已连接。
配置项 | 内容 | 备注 |
---|---|---|
数据源类型 | 连接串模式(数据集成网络可直接连通 | 必选 |
数据源名称 | 可自定义 | 无 |
适用环境 | 开发、生产 | 根据项目情况选择 |
JDBC URL | jdbc:postgresql://ServerIP:Port/Database | - ServerIP:交互式分析实例的经典网络地址 - Port:交互式分析实例的经典端口地址 - Database:交互式分析的数据库名 - 示例:jdbc:postgresql://demo-cn-shanghai-internal.hologres.aliyuncs.com:80/postgres |
用户名 | 当前账号的Access ID | 无 |
密码 | 当前账号的Access Key | 无 |
2.新建API
A.在DataWorks的数据服务页面,单击**新建 > 生成API > 向导模式**。
B.在弹框中填写生成API配置信息示例如下,填写完并单击确认。
3.配置API参数
新建API成功之后,单击新建得API,进入配置页面进行参数配置,操作步骤如下:
A.选择数据源类型、数据源名称和数据表名称。
- 数据源类型为PostgreSQL。
- 数据源名称为您之前步骤新建的数据源。
- 数据表名称为您在HoloStudio中新建的外部表
B.配置环境变量
C.选择参数。勾选您要作为API请求参数的字段和作为返回参数的字段。本案例是为了查询各航班动态,因此要返回所有数据,不设请求参数。
D.单击页面右侧的返回参数,设置参数描述信息。若不设置请求参数,需要勾选返回参数中的返回结果分页,避免单次查询性能过大影响查询结果。
4.API测试
完成API参数配置后,单击保存将配置信息保存,即可进入API测试。
单击右上角的测试,填写API请求参数,单击开始测试即可。若页面右下角显示测试成功和API调用延迟时间,如下图所示,则表明测试成功,可以看到通过交互式分析直接加速查询MaxCompute表数据可以达到毫秒级返回,相比比直接通过MaxCompute SQL查询性能有显著提升。
4.发布API
API测试成功之后即可将API发布,单击页面右上角发布,发布成功后,单击右上角服务管理进行API信息查看
选择左侧菜单栏API调用,即可获取AppCode(简单身份认证)和 AppKey、AppSecret(加密签名身份认证),请妥善保管该信息,在调用API时需要进行认证,并避免泄漏。
完成以上所有步骤说明已经成功通过交互式分析加速读取MaxCompute中的数据,并生成数据API了,可将当前API进行注册并发布到API市场进行售卖,也可使用API对接第三方分析工具。本案例将会使用该API对接DataV,实现MaxCompute数据的最终可视化。
数据可视化
生成数据API后,可将数据对接BI工具进行可视化展现,本案例采用DataV进行可视化展现,具体操作步骤如下:
1.DataV配置数据源信息
登录DataV控制台,在页面导航栏单击我的数据--添加数据,并进行配置信息填写
配置项 | 说明 | 备注 |
---|---|---|
类型 | DataWorks数据服务 | 必须 |
自定义数据源名称 | 自定义 | 无 |
项目 | DataWorks工作空间 | 下拉可选择 |
Region | 选择与DataWorks相同的Region | 无 |
AppKey/AppSecret | API发布后会自动生成,在DataWorks--数据服务--服务管理--API调用可查看 | 详情请参见发布API步骤 |
2.创建DataV可视化调用数据服务API
A.在DataV首页单击我的可视化,新建可视化,可以选择模版进行创建,也可自行选择插件。本案例是为了轮播各航班动态,只需要插入一个轮播插件即可
B.给各个插件配置数据源
- 选中轮播插件,单击数据源位置,配置数据源为数据服务API名,并配置过滤器:return data.data.rows;
- 配置表的标题项,与API里字段一一对应
同时,若MaxCompute中的数据有自动更新,需要在交互式分析中再次查询,即可更新数据(不会进行schma的自动更新),DataV也会做自动同步更新。
完整的MaxCompute数据经过交互式分析加速查询,并生成数据服务API,最终实现可视化的操作步骤如上,赶紧学起来吧!
若有任何问题,欢迎加入钉钉群咨询