海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
简介: 数据服务是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟“零代码”就可以生成API,让API开发从未有过如此便捷!数据服务与DataV深度打通,数据服务生成的API可以直接在DataV中进行可视化展现。本文介绍了数据服务对接DataV的使用方法。

1. 概述

数据服务(https://ds-cn-shanghai.data.aliyun.com)  是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟“零代码”就可以生成API,让API开发从未有过如此便捷!同时支持自定义API查询SQL功能,对您的个性化复杂查询逻辑支持照样不在话下。

DataWorks数据服务提供HTTP API服务,采用Serverless架构,您只需关注API本身的查询逻辑,无需关心运行环境等基础设施,零运维成本。

DataWorks提供了涵盖“数据集成-数据开发-机器学习-数据服务”全链路数据研发平台,数据服务作为连接数据应用与数据仓库的桥梁,通过MaxCompute Lightning加速引擎,数据服务可以直接将原本只能离线查询的MaxCompute表直接生成数据API并进行实时查询,免去了您手工同步数据的烦恼,数据服务是您将数仓建设成果服务化输出的最佳工具。

目前,DataWorks数据服务已经与数据可视化的神器——DataV(https://data.aliyun.com/visual/datav)深度打通,数据服务生成的API,可以直接在DataV中进行可视化展现。您无需手工同步数据,无需编写复杂的Java代码,无需搭建WebServer,普通数据开发工程师、算法开发工程师、数据分析师甚至是产品业务人员,都可以使用数据服务“开发”数据API,然后快速在DataV中调用API和展示来自MaxCompute的数据成果。数据服务为您解决了从数仓开发和数据大屏展现之间的最后一公里。

本文将重点介绍通过数据服务快速将MaxCompute表生成实时查询API并对接DataV进行大屏分析展现的使用方法。

2. 使用数据服务一分钟生成API

通过数据服务生成API主要包含创建数据源->配置API->发布API三个步骤,本文将简要介绍使用方法。

2.1 新建数据源

数据服务支持丰富的数据源类型,基本上常见数据源都囊括了,包含:
关系型数据库:RDS/DRDS/MySQL/PostgreSQL/Oracle/SQL Server
分析型数据库:AnalyticDB(ADS)
NoSQL数据库:TableStore(OTS)/MongoDB
大数据存储:Lightning(MaxCompute)

在数据服务中的“服务开发”点击新建按钮,在下拉菜单中选择“新建数据源”。

1

随后将打开数据集成中的数据源页面,在这里可以新建您需要访问的数据源。

2

本文将以Lightning数据源为例。通过Lighning数据源可以直接实时查询MaxCompute中的数据。只要开通了MaxCompute服务就可以直接使用Lightning服务。

点击“新建数据源”,选择“Lightning”,按页面提示进行配置,测试连通性测试通过后即可。您可以点击这里(https://help.aliyun.com/document_detail/89757.html)查看Lightning的连接信息,如Lightning Endpoint、Port。

3

注意:JDBC扩展参数中的“sslmode=require&prepareThreshold=0”是必须的,不可删除,否则会无法连接。

2.2 新建API

创建好数据源后,回到数据服务产品页面,我们就可以进行API的生成配置了,本文以向导模式生成API为例。

点击"服务开发"-“新建”-“生成API”-“向导模式”,以向导模式可视化配置的方式生成API。在弹出的对话框中填写API基本信息,这里以查询成交金额增长趋势API为例,如下所示:

4

点击确认后,进行API配置页面。

首先进行表设置,依次选择数据源类型-数据源名称-数据表名称。这里选择上一步创建的Lightning数据源,然后选择你要查询的MaxCompute表,这里以成交金额表“demo_trade_amount”为例,该表中存储了一个月的成交金额数据。

选择好表之后,会自动展示表的字段列表。然后勾选你要作为API请求参数的字段和作为返回参数的字段。在本例中,我们为了查询成交金额趋势,因此要返回所有数据,即将日期和成交金额都作为返回参数,不设请求参数。

5

然后点击右侧的“返回参数”,设置参数描述信息。
注意:如果不设置请求参数,则需要开启“返回结果分页”开关,进行分页查询,以避免单次查询返回数据量过大影响性能。

6

最后进行API测试。点击工具条右边的“测试”,填写API请求参数(由于打开了分页查询开关,系统会自动添加两个分页参数),点击“开始测试”即可,如下图所示。

在测试页面中可以看到API延迟,可以看到通过Lightning查询MaxCompute表只花费了1秒多,比直接通过MaxCompute SQL查询快了几十上百倍!

7

到此,一个API就已经生成好了,是不是超简单!

2.3 发布API

API测试通过后就可以进行发布。点击工具条右方的“发布”即可将API发布。发布后,可以点击项部导航条中的“服务管理”查看API详情。若您要调用API,请查看“服务管理”-“API调用”页面,数据服务提供了简单身份认证(AppCode)和加密签名身份认证(AppKey&AppSecret)两种认证方式,您可以自由选择。下方将介绍在DataV中进行数据服务API的调用。

是不是有点小激动?“开发”一个API如来没有过如此简单!这简直不能称之为“开发”!

3. 在DataV中调用数据服务的API

接下来要进行DataV数据大屏的配置,主要分为“添加数据”-“新建可视化”两个步骤。

3.1 添加数据服务为数据源

依次点击“我的数据”-“添加数据”,在“类型”中选择“DataWorks数据服务”,填写数据源名称,然后选择您的DataWorks项目(工作空间)。DataV对接数据服务采用的是更加安全的加密签名身份认证,因此这里需要填写AppKey和AppSecret。

8

AppKey和AppSecret从数据服务的“服务管理”-“API调用”页面中查看,如下所示:

9

添加好数据服务数据源后,就可以在大屏中进行数据展示了。

3.2 在大屏中调用数据服务API

在“我的可视化”中点击“新建可视化”,本文选择了“智能工厂”模板,如下所示:

0

模板中的组件自带了静态数据,下面将通过将模板中间的“基本折线图”改为调用上面创建好的“查询成交金额增长趋势”的API为例,讲解如何在组件中使用数据服务API。

选中基本折线图组件,切换到数据面板,在“数据源类型”中选择“DataWorks数据服务”,然后选择刚刚创建的数据源“我的数据服务”,选择“查询成交金额增长趋势”这个API,再设置查询参数,这里将pageSize设置为“31”以查询一个月的数据。

10

点击“查看数据响应结果”可以看到API的查询结果。
然后填写字段映射关系,在“x”中填写“date”将日期作为横轴,在“y”中填写“amount”将成交金额作为纵轴。 

11

可以看到,当前x和y无法匹配到字段。这是由于DataV对数据格式有一定要求,不能识别结构较深的字段,因此这里要添加一个数据过滤器,过滤掉不必要的字段,在本例中直接返回“rows”数组即可。

勾选“使用过滤器”,点击“新建过滤器”,这里支持编写JS代码对数据结果进行二次过滤和处理,过滤器的data参数为API返回结果JSON对象。在本例中,我们只需要返回API结果中的rows数组,故只需要输入代码 "return data.data.rows;" 即可,然后在下方就可以查看过滤后的结果,点击“完成”即可。

12

添加好过滤器后就可以看到此时字段已经可以匹配成功了。

13

但此时折线图并没有正确展示,由于API返回的日期格式与组件默认的格式不一样,因此我们还需要设置一下折线横轴的日期格式。切换到“配置”面板,在“x轴”-“轴标签”中选择数据种类为“时间型”,数据格式选择本API所返回的格式“2016/01/01”,即可看见折线图已经可以正常展示了。

14

最后预览一下,看看成品。

15

至此,我们就完成了通过数据服务将MaxCompute表生成API,然后在DataV数据大屏中进行展示的所有步骤。采用类似的步骤,将大屏的其他组件的数据源都配置为DataWorks数据服务API就可以完成整个大屏的创作,是不是感觉很easy!

4. 总结

DataWorks数据服务与DataV进行无缝打通后,则不需要使用DataV中的"API"数据源去填写一个URL调用API,直接新建一个DataWorks数据服务作为数据源,就可以直接选用数据服务中的API,无需每个API都设置AppKey和AppSecret认证信息,并且支持通过表单填写API参数,使用起来十分快捷方便和安全可靠。通过数据服务,您可以将MaxCompute中加工好的数据结果,直接在DataV中进行呈现,“数据开发-数据服务-数据分析展现”一气呵成!

最后,提供一些小贴士及注意事项,供大家参考:

  • DataWorks数据服务向导模式生成API只支持单表简单条件查询,脚本模式支持用户编写查询SQL语句,支持多表关联查询、函数以及复杂条件。大家可以根据自己的需求灵活选择。
  • Lightning采用的PostgreSQL的语法,故在编写SQL时,要注意使用PostgreSQL函数,而不是MaxCompute的UDF。目前Lightning还只支持max_pt这个MaxCompute UDF,可用于获取当前最新分区。还有,连接字符串时使用“||”。
  • Lightning目前只支持秒级查询,并且查询的MaxCompute不宜过大(控制在GB级),尽量将分区作为请求参数,尽量避免扫描过多分区,否则会比较慢。
  • 如果您要求毫秒级API查询,则建议采用关系型数据库、NoSQL数据库或AnalyticDB作为数据源。
  • DataV组件要求的数据格式是个数组,数据服务生成的API返回结果是个带有错误码的完整JSON,因此要使用过滤器对API结果进行处理。您可以选择在DataV中添加过滤器,也可以选择直接在数据服务配置API时添加过滤器。一般来说,对于未分页查询的API,直接返回“data”数组就行,对于分页查询的API直接返回“data.rows"数组。
  • 若你要在DataV的折线图或柱状图中添加多个系列,DataV一般要求每个系列的数据是一个对象,并通过字段“s”来区分系列,此时要注意使用过滤器进行格式转换。

5. 联系我们

钉钉扫一扫,加入DataWorks数据服务答疑群(群号:21993540),获取更多咨询。

16

6. 相关链接

一分钟零代码生成API,DataWorks数据服务上手指南
DataWorks数据服务帮助文档
MaxCompute Lightning帮助文档
DataV帮助文档

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
1月前
|
存储 机器学习/深度学习 SQL
大数据处理与分析技术
大数据处理与分析技术
103 2
|
1天前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
35 15
|
7天前
|
SQL 分布式计算 DataWorks
DataWorks产品测评|基于DataWorks和MaxCompute产品组合实现用户画像分析
本文介绍了如何使用DataWorks和MaxCompute产品组合实现用户画像分析。首先,通过阿里云官网开通DataWorks服务并创建资源组,接着创建MaxCompute项目和数据源。随后,利用DataWorks的数据集成和数据开发模块,将业务数据同步至MaxCompute,并通过ODPS SQL完成用户画像的数据加工,最终将结果写入`ads_user_info_1d`表。文章详细记录了每一步的操作过程,包括任务开发、运行、运维操作和资源释放,帮助读者顺利完成用户画像分析。此外,还指出了文档中的一些不一致之处,并提供了相应的解决方法。
|
6天前
|
分布式计算 DataWorks 搜索推荐
用户画像分析(MaxCompute简化版)
通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并通过案例体验DataWorks数据集成、数据开发和运维中心模块的相关能力。
38 4
|
25天前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
63 4
|
26天前
|
关系型数据库 分布式数据库 数据库
PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具
在数字化时代,企业面对海量数据的挑战,PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具。它不仅支持高速数据读写,还通过数据分区、索引优化等策略提升分析效率,适用于电商、金融等多个行业,助力企业精准决策。
34 4
|
27天前
|
机器学习/深度学习 分布式计算 算法
【大数据分析&机器学习】分布式机器学习
本文主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。
176 5
|
1月前
|
存储 监控 数据挖掘
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
141 14
|
1月前
|
消息中间件 分布式计算 大数据
数据为王:大数据处理与分析技术在企业决策中的力量
【10月更文挑战第29天】在信息爆炸的时代,大数据处理与分析技术为企业提供了前所未有的洞察力和决策支持。本文探讨了大数据技术在企业决策中的重要性和实际应用,包括数据的力量、实时分析、数据驱动的决策以及数据安全与隐私保护。通过这些技术,企业能够从海量数据中提取有价值的信息,预测市场趋势,优化业务流程,从而在竞争中占据优势。
112 2
|
1月前
|
数据采集 机器学习/深度学习 搜索推荐
大数据与社交媒体:用户行为分析
【10月更文挑战第31天】在数字化时代,社交媒体成为人们生活的重要部分,大数据技术的发展使其用户行为分析成为企业理解用户需求、优化产品设计和提升用户体验的关键手段。本文探讨了大数据在社交媒体用户行为分析中的应用,包括用户画像构建、情感分析、行为路径分析和社交网络分析,以及面临的挑战与机遇。

热门文章

最新文章

  • 1
    DataWorks操作报错合集之DataWorks任务异常 报错: GET_GROUP_SLOT_EXCEPTION 该怎么处理
    118
  • 2
    DataWorks操作报错合集之DataWorksUDF 报错:evaluate for user defined function xxx cannot be loaded from any resources,该怎么处理
    118
  • 3
    DataWorks操作报错合集之在DataWorks中,任务流在调度时间到达时停止运行,是什么原因导致的
    113
  • 4
    DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
    100
  • 5
    DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
    104
  • 6
    DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
    117
  • 7
    DataWorks操作报错合集之DataWorks提交失败: 提交节点的源码内容到TSP(代码库)失败:"skynet_packageid is null,该怎么解决
    123
  • 8
    DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
    160
  • 9
    DataWorks操作报错合集之DataWorks集成实例绑定到同一个vpc下面,也添加了RDS的IP白名单报错:数据源配置有误,请检查,该怎么处理
    91
  • 10
    DataWorks操作报错合集之在 DataWorks 中运行了一个 Hologres 表的任务并完成了执行,但是在 Hologres 表中没有看到数据,该怎么解决
    132
  • 下一篇
    DataWorks