交互式分析加速查询MaxCompute封装API的最佳实践

本文涉及的产品
大数据开发治理平台DataWorks,资源组抵扣包 750CU*H
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本文将会为您介绍,如何使用交互式分析将MaxCompute中的数据加速查询,封装成数据服务API,对接BI工具调用API,实现从数据源--数据查询分析--数据服务--数据可视化展现的最佳实践。

概述

HoloStudio是基于交互式分析的一站式开发平台(关于交互式分析的介绍,请参见交互式分析介绍,并深度集成于DataWorks,能直接对接DataWorks的数据服务,支持将交互式分析中查询的表数据快速封装成API对外服务,无数需数据迁移就能够支持更丰富的应用场景。
本文将会为您介绍,如何使用交互式分析将MaxCompute中的数据加速查询,封装成数据服务API,对接BI工具调用API,实现从数据源--数据查询分析--数据服务--数据可视化展现的最佳实践。

案例背景:某机场大厅,大屏轮播当前城市各航班出发情况。
数据源:MaxCompute离线数据
数据处理:交互式分析
开发平台:DataWorks
BI工具:DataV
说明:

1.DataWorks公共云上Lightning数据源已关闭,请使用PostgreSQL数据源对接。
2.本案例是测试案例,实际情况请根据实际数据填写。

准备工作

1.开通计算服务并创建工作空间

创建DataWorks工作空间,(本示例采用杭州region,后不再解释)并同时配置MaxCompute和交互式分析计算引擎服务,若您在此之前并未开通这两种服务,可直接参见MaxCompute开通和交互式分析。若您已有DataWorks项目空间,将两种服务绑定至空间即可。
image.png

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 //航班状态
);
  • 本案例最终的表结构和部分数据如下:

image.png

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中的数据导入到交互式分析中加速查询。
image.png
最终加速查询结果如下:
image.png

使用DataWorks数据服务生成API

MaxCompute表中的数据经过交互式分析加速查询后,可使用DataWorks数据服务生成API,并发布。操作步骤如下

1.新建数据源

A.单击DataWorks--数据服务,进入数据服务控制台,并单击新建--新建数据源
image.png
B.跳转到数据集成页面后,单击左侧菜单栏数据源--新增数据源(本示例采用PostgreSQL数据源)
C.在PostgreSQL数据源页面填写连接信息,填写完成,单击测试连通性,显示测试连通性成功表明数据源已连接。
image.png

配置项 内容 备注
数据源类型 连接串模式(数据集成网络可直接连通 必选
数据源名称 可自定义
适用环境 开发、生产 根据项目情况选择
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 > 向导模式**
image.png
B.在弹框中填写生成API配置信息示例如下,填写完并单击确认。
image.png

3.配置API参数

新建API成功之后,单击新建得API,进入配置页面进行参数配置,操作步骤如下:
A.选择数据源类型、数据源名称和数据表名称。
image.png

  • 数据源类型为PostgreSQL。
  • 数据源名称为您之前步骤新建的数据源。
  • 数据表名称为您在HoloStudio中新建的外部表

B.配置环境变量
image.png
C.选择参数。勾选您要作为API请求参数的字段和作为返回参数的字段。本案例是为了查询各航班动态,因此要返回所有数据,不设请求参数。
image.png
D.单击页面右侧的返回参数,设置参数描述信息。若不设置请求参数,需要勾选返回参数中的返回结果分页,避免单次查询性能过大影响查询结果。
image.png

4.API测试

完成API参数配置后,单击保存将配置信息保存,即可进入API测试。
单击右上角的测试,填写API请求参数,单击开始测试即可。若页面右下角显示测试成功API调用延迟时间,如下图所示,则表明测试成功,可以看到通过交互式分析直接加速查询MaxCompute表数据可以达到毫秒级返回,相比比直接通过MaxCompute SQL查询性能有显著提升。image.png

4.发布API

API测试成功之后即可将API发布,单击页面右上角发布,发布成功后,单击右上角服务管理进行API信息查看
image.png
选择左侧菜单栏API调用,即可获取AppCode(简单身份认证)和 AppKey、AppSecret(加密签名身份认证),请妥善保管该信息,在调用API时需要进行认证,并避免泄漏。
image.png

完成以上所有步骤说明已经成功通过交互式分析加速读取MaxCompute中的数据,并生成数据API了,可将当前API进行注册并发布到API市场进行售卖,也可使用API对接第三方分析工具。本案例将会使用该API对接DataV,实现MaxCompute数据的最终可视化。

数据可视化

生成数据API后,可将数据对接BI工具进行可视化展现,本案例采用DataV进行可视化展现,具体操作步骤如下:

1.DataV配置数据源信息

登录DataV控制台,在页面导航栏单击我的数据--添加数据,并进行配置信息填写
image.png

配置项 说明 备注
类型 DataWorks数据服务 必须
自定义数据源名称 自定义
项目 DataWorks工作空间 下拉可选择
Region 选择与DataWorks相同的Region
AppKey/AppSecret API发布后会自动生成,在DataWorks--数据服务--服务管理--API调用可查看 详情请参见发布API步骤

2.创建DataV可视化调用数据服务API

A.在DataV首页单击我的可视化,新建可视化,可以选择模版进行创建,也可自行选择插件。本案例是为了轮播各航班动态,只需要插入一个轮播插件即可
B.给各个插件配置数据源

  • 选中轮播插件,单击数据源位置,配置数据源为数据服务API名,并配置过滤器:return data.data.rows;

image.png

  • 配置表的标题项,与API里字段一一对应

image.png

  • 根据个人喜好对各插件进行美化,包括不限于字3体、字号、颜色、标题等

    3.最终数据可视化展现

    DataV通过将API的数据配置完成之后,最终展现的页面如下:

image.png

同时,若MaxCompute中的数据有自动更新,需要在交互式分析中再次查询,即可更新数据(不会进行schma的自动更新),DataV也会做自动同步更新。
完整的MaxCompute数据经过交互式分析加速查询,并生成数据服务API,最终实现可视化的操作步骤如上,赶紧学起来吧!

若有任何问题,欢迎加入钉钉群咨询
image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
2月前
|
缓存 JSON API
VIN车辆识别码查询车五项 API 实践指南:让每一俩车有迹可循(Python代码示例)
VIN(车辆识别代码)是全球唯一的17位汽车标识码,可快速获取车架号、发动机号、品牌型号等核心信息。在二手车交易、保险理赔、维修保养等场景中,准确解析VIN有助于提升效率与风控能力。本文介绍VIN码结构、适用场景,并提供Python调用示例及优化建议,助力企业实现车辆信息自动化核验。
375 1
|
2月前
|
JSON API PHP
近义词反义词查询API接口使用指南
本文详细介绍接口盒子提供的近义词反义词查询免费API接口的使用方法,涵盖PHP和Python两种语言的调用示例,适用于语言学习、内容创作及文本分析场景。
|
2月前
|
JSON API PHP
化学元素信息,元素周期表查询免费API完整指南
本接口提供权威化学元素的100+项参数查询服务,涵盖原子结构、物理性质、分布数据等科研级参数。支持中文名称、元素符号(区分大小写)或原子序数查询,适用于教育软件、化学工具和科研系统开发。数据版权归属接口盒子。
|
2月前
|
安全 API Python
详解手机状态查询API实战指南
手机状态查询API是一款高效接口,可实时识别手机号状态(实号、空号、风险号等),帮助企业筛选有效号码,提升业务触达率与客户体验。
258 0
|
11天前
|
人工智能 API 定位技术
MCP 开发实战:手把手教你封装高德地图与 arXiv API
本教程为 MCP(Model Context Protocol)开发实战第二阶段,带你从零封装第三方 API 为 AI 模型可用工具。通过高德地图地理编码与 arXiv 论文检索两个实例,涵盖项目搭建、工具声明、资源定义、错误处理等核心内容,助你快速上手 MCP 开发并集成至 Claude 使用。
|
2月前
|
JSON API PHP
ICP备案查询免费API接口使用教程
本文介绍如何通过接口盒子提供的免费API接口查询域名ICP备案信息,包含请求地址、参数说明及PHP和Python调用示例,适用于开发者快速集成备案查询功能。
|
2月前
|
JSON API 数据库
产品详情查询API接口
产品详情查询API是现代电商与软件开发中的关键工具,基于RESTful架构,通过HTTP协议获取产品信息如名称、价格、库存等。本文详解其概念、原理、实现方法与应用示例,助力开发者快速掌握。
76 0
|
2月前
|
API 开发工具 开发者
快速获取线下场景POI数据,分享场景查询API体验指南
本文介绍了如何通过“场景查询(名称关键词)”API快速获取POI数据。该API只需输入场景关键词即可返回丰富的POI信息,如名称、地址、经纬度等,支持品牌、分类、城市等多维度筛选,并提供分页功能。接口简洁易用,响应速度快,适合用于竞品分析、门店扩展等场景。开发者可通过开放平台注册获取API Key,并使用SDK快速集成。推荐有POI查询需求的开发者体验使用。
|
2月前
|
JSON API 数据安全/隐私保护
车辆五项信息查询 API 的实践指南:通过Python调用赋能车辆信息标准化
本API通过车牌号快速获取车辆五项核心信息,包括品牌、登记日期、车架号等,助力二手车评估、维修、保险等场景实现数字化转型。数据源自权威公安交管库,日更同步,毫秒级响应,满足高并发需求,符合隐私保护规范,是推动汽车后市场智能化的重要工具。
89 0
|
2月前
|
网络协议 API PHP
域名WHOIS信息查询免费API使用指南
本文介绍接口盒子提供的免费域名WHOIS查询API,支持获取域名注册信息、到期时间、DNS服务器等数据。开发者可通过GET或POST请求调用,需使用用户ID和通讯秘钥认证,适用于.com、.net等顶级域名。提供PHP和Python调用示例及注意事项。

热门文章

最新文章