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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
大数据开发治理平台 DataWorks,不限时长
简介: 本文将会为您介绍,如何使用交互式分析将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

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
11天前
|
缓存 前端开发 API
API接口封装系列
API(Application Programming Interface)接口封装是将系统内部的功能封装成可复用的程序接口并向外部提供,以便其他系统调用和使用这些功能,通过这种方式实现系统之间的通信和协作。下面将介绍API接口封装的一些关键步骤和注意事项。
|
15天前
|
存储 消息中间件 监控
【Flume】Flume在大数据分析领域的应用
【4月更文挑战第4天】【Flume】Flume在大数据分析领域的应用
|
27天前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
1月前
|
存储 消息中间件 大数据
Go语言在大数据处理中的实际应用与案例分析
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理中的实际应用,通过案例分析展示了Go语言在处理大数据时的优势和实践效果。文章首先介绍了大数据处理的挑战与需求,然后详细分析了Go语言在大数据处理中的适用性和核心技术,最后通过具体案例展示了Go语言在大数据处理中的实际应用。
|
1月前
|
数据采集 运维 数据挖掘
API电商接口大数据分析与数据挖掘 (商品详情店铺)
API接口、数据分析以及数据挖掘在商品详情和店铺相关的应用中,各自扮演着重要的角色。以下是关于它们各自的功能以及如何在商品详情和店铺分析中协同工作的简要说明。
|
1月前
|
Java 关系型数据库 数据库连接
MyBatis Plus 解决大数据量查询慢问题
MyBatis Plus 解决大数据量查询慢问题
|
9天前
|
机器学习/深度学习 人工智能 安全
Azure Databricks实战:在云上轻松进行大数据分析与AI开发
【4月更文挑战第8天】Databricks在大数据分析和AI开发中表现出色,简化流程并提高效率。文中列举了三个应用场景:数据湖分析、实时流处理和AI机器学习,并阐述了Databricks的一体化平台、云原生弹性及企业级安全优势。博主认为,Databricks提升了研发效能,无缝集成Azure生态,并具有持续创新潜力,是应对大数据挑战和加速AI创新的理想工具。
33 0
|
22天前
|
机器学习/深度学习 人工智能 数据可视化
基于Python的数据可视化技术在大数据分析中的应用
传统的大数据分析往往注重数据处理和计算,然而数据可视化作为一种重要的技术手段,在大数据分析中扮演着至关重要的角色。本文将介绍如何利用Python语言中丰富的数据可视化工具,结合大数据分析,实现更直观、高效的数据展示与分析。
|
29天前
|
存储 NoSQL 大数据
新型数据库技术在大数据分析中的应用与优势探究
随着大数据时代的到来,传统数据库技术已经无法满足海量数据处理的需求。本文将探讨新型数据库技术在大数据分析中的应用情况及其所带来的优势,为读者解析数据库领域的最新发展趋势。
|
29天前
|
缓存 前端开发 API
构建高效可扩展的RESTful API:后端开发的最佳实践
【2月更文挑战第30天】 在现代Web应用和服务端架构中,RESTful API已成为连接前端与后端、实现服务间通信的重要接口。本文将探讨构建一个高效且可扩展的RESTful API的关键步骤和最佳实践,包括设计原则、性能优化、安全性考虑以及错误处理机制。通过这些实践,开发者可以确保API的健壮性、易用性和未来的可维护性。