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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
大数据开发治理平台DataWorks,资源组抵扣包 750CU*H
简介: 本文将会为您介绍,如何使用交互式分析将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

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3天前
|
JSON 测试技术 API
书写API文档的最佳实践📚
API文档对开发者体验和API成功至关重要。本文探讨了编写清晰、全面且友好的API文档的最佳实践,包括定义API目的、结构化文档、提供代码示例、处理错误、版本控制及测试验证等关键步骤。通过实际案例(如WeatherAPI),展示了如何优化文档内容,帮助开发者快速上手并高效使用API。同时强调交互式功能、国际化支持和用户反馈的重要性,以提升文档的可用性和全球可达性。高质量文档不仅能推动API采用率,还能培养强大的开发者社区,为API的长期成功奠定基础。
|
12天前
|
存储 JSON API
深入研究:淘宝天猫商品详情查询API详解
淘宝开放平台提供一系列API接口,帮助开发者获取淘宝商品的详细信息并集成到自有应用中。主要功能包括:获取单个商品详情(item_get)、评论信息(item_review)、快递费用(item_fee)、等。此外,还支持搜索商品(item_search)、按图搜索(item_search_img)、优惠券查询(item_search_coupon)、类目信息(item_cat_get)等功能。返回数据通常为JSON格式,包含商品标题、价格、库存、主图链接等基本信息,以及HTML格式的详细描述内容,方便开发者解析与展示。
|
1月前
|
SQL 大数据 数据挖掘
玩转大数据:从零开始掌握SQL查询基础
玩转大数据:从零开始掌握SQL查询基础
129 35
|
2月前
|
SQL 分布式计算 数据挖掘
阿里云 MaxCompute MaxQA 开启公测,公测可申请 100CU 计算资源解锁近实时高效查询体验
阿里云云原生大数据计算服务 MaxCompute 推出 MaxQA(原 MCQA2.0)查询加速功能,在独享的查询加速资源池的基础上,对管控链路、查询优化器、执行引擎、存储引擎以及缓存机制等多个环节进行全面优化,显著减少了查询响应时间,适用于 BI 场景、交互式分析以及近实时数仓等对延迟要求高且稳定的场景。现正式开启公测,公测期间可申请100CU(价值15000元)计算资源用于测试,欢迎广大开发者及企业用户参与,解锁高效查询体验!
阿里云 MaxCompute MaxQA 开启公测,公测可申请 100CU 计算资源解锁近实时高效查询体验
|
2月前
|
数据采集 JSON 监控
速卖通商品列表接口(以 AliExpress Affiliate 商品查询 API 为例)
以下是使用 Python 调用速卖通商品列表接口(以 AliExpress Affiliate 商品查询 API 为例)的代码示例。该示例包含准备基础参数、生成签名、发送请求和处理响应等关键步骤,并附有详细注释说明。代码展示了如何通过公共参数和业务参数构建请求,使用 HMAC-SHA256 加密生成签名,确保请求的安全性。最后,解析 JSON 响应并输出商品信息。此接口适用于商品监控、数据采集与分析及商品推荐等场景。注意需通过 OAuth2.0 获取 `access_token`,并根据官方文档调整参数和频率限制。
|
3月前
|
弹性计算 监控 安全
API稳定安全最佳实践:用阿里云SDK为业务保驾护航
阿里云智能集团高级技术专家赵建强和曹佩杰介绍了API稳定安全最佳实践,涵盖业务上云真实案例、集成开发最佳实践、配额管理和共担模型四部分。通过分析企业在不同阶段遇到的问题,如签名报错、异常处理不严谨、扩容失败等,提出了解决方案和工具,确保API调用的安全性和稳定性。特别强调了SDK的使用、无AK方案、自动刷新机制以及配额中心的作用,帮助用户构建更稳定、安全的服务,提升运维效率。最终介绍了集成开发共担模型,旨在通过最佳实践和平台工具,保障业务的稳定与安全,推动行业创新与发展。
|
4月前
|
存储 安全 Java
Spring Boot 编写 API 的 10条最佳实践
本文总结了 10 个编写 Spring Boot API 的最佳实践,包括 RESTful API 设计原则、注解使用、依赖注入、异常处理、数据传输对象(DTO)建模、安全措施、版本控制、文档生成、测试策略以及监控和日志记录。每个实践都配有详细的编码示例和解释,帮助开发者像专业人士一样构建高质量的 API。
153 9
|
4月前
|
存储 分布式计算 安全
MaxCompute Bloomfilter index 在蚂蚁安全溯源场景大规模点查询的最佳实践
MaxCompute 在11月最新版本中全新上线了 Bloomfilter index 能力,针对大规模数据点查场景,支持更细粒度的数据裁剪,减少查询过程中不必要的数据扫描,从而提高整体的查询效率和性能。
|
4月前
|
监控 数据管理 测试技术
API接口自动化测试深度解析与最佳实践指南
本文详细介绍了API接口自动化测试的重要性、核心概念及实施步骤,强调了从明确测试目标、选择合适工具、编写高质量测试用例到构建稳定测试环境、执行自动化测试、分析测试结果、回归测试及集成CI/CD流程的全过程,旨在为开发者提供一套全面的技术指南,确保API的高质量与稳定性。
|
4月前
|
缓存 算法 API
查询域名WHOIS信息免费API接口教程
该API用于查询顶级域名的WHOIS信息,不支持国别域名和中文域名。通过POST或GET请求,需提供用户ID、KEY及待查询域名。返回信息包括域名状态、注册商、时间等详细数据。示例与文档见官网。