DataV通过与DataWorks数据服务的对接,通过交互式分析Hologres连接DataWorks数据服务开发并生成API,快速在DataV中调用API并展现MaxCompute的数据分析结果。
数据服务对接DataV产生背景
MaxCompute是阿里巴巴集团自主研究的快速、完全托管的TB、PB和EB级数据仓库解决方案。当今社会数据收集的方式不断丰富,行业数据大量积累,导致数据规模已增长到传统软件行业无法承载的海量级别。MaxCompute服务于批量结构化数据的存储和计算,已经连续多年稳定支撑阿里巴巴全部的离线分析业务。
过去,如果您想要通过DataV展示海量数据的分析结果,需要自建一套离线数据计算自动导入MySQL的任务流程,过程繁琐且成本高。现在通过DataWorks为您提供的
的全链路数据研发平台,结合MaxCompute即可快速搭建企业数仓。DataWorks数据服务提供了快速将数据表生成API的功能,通过可视化的向导模式操作,无需代码便可快速生成API,然后通过DataV调用API并在大屏中展示数据分析结果,高效实现数仓的开发和数据的展示。
前提条件
要想实现DataWorks数据服务与DataV的对接,您需要提前准备好数据源,并开通什么是DataV-Board。
新建数据源
数据服务支持丰富的数据源类型,如下所示:
关系型数据库:RDS、DRDS、MySQL、PostgreSQL、Oracle和SQL Server
分析型数据库:AnalyticDB
NoSQL数据库:TableStore和MongoDB
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据服务。
鼠标悬停至,单击新建数据源,跳转至数据源列表页面。
单击新增数据源,在新增数据源对话框中,选择数据源类型为Hologres。
本文将以Hologres数据源为例,通过Hologres数据源可以直接实时查询MaxCompute中的数据。
配置新增Hologres数据源的相关参数。
说明如果是标准环境,请同时配置开发和生产环境。
参数
描述
数据源名称
数据源名称必须以字母、数字、下划线组合,且不能以数字和下划线开头。
数据源描述
对数据源进行简单描述,不得超过80个字符。
Hologres实例
需要同步的Hologres实例ID。切换地域,找到目标Hologres实例。
说明如果没有Hologres实例,可根据界面提示,单击创建实例。
数据库名
Hologres的数据库名称。
单击测试连通性。
测试连通性通过后,单击完成。
新建API
数据源创建完成后,进入数据服务页面。本文以向导模式生成API为例,为您介绍如何新建API。
单击左上角的图标,选择
,进入数据服务页面。鼠标悬停至,选择
。配置生成API对话框中的参数。
参数
描述
API名称
支持中文、英文、数字、下划线,且只能以英文或中文开头,4~50个字符。
API Path
API存放的路径,例如/user。
协议
目前支持HTTP和HTTPS协议。
请求方式
目前支持GET和POST请求方式。
返回类型
目前仅支持JSON返回类型。
描述
对API进行简要描述。
目标文件夹
业务流程中的API存放文件夹。
配置完成后,单击确认,即可进入API参数配置页面。
配置API参数
在选择表模块, 选择数据源类型Hologres、数据源名称和数据表名称。
说明您需要提前在数据集成中配置好数据源,数据表下拉框支持表名搜索。
创建好API后,会自动跳转至数据表配置页面,您可以直接进行配置。
选择好数据表后,下方的选择参数模块会自动列出该表的所有字段。勾选需要设为请求参数和设为返回参数的字段,分别添加至请求参数和返回参数列表中。
编辑请求参数信息。
单击页面右侧的请求参数,设置参数名称、参数类型、操作符、是否必填、示例值、默认值和描述。
编辑返回参数信息。
单击页面右侧的返回参数,设置别名、参数类型、示例值和描述,并可以使用过滤器等高级配置。
说明如果选择公共服务资源组,开启分页后的每页数据记录最多支持2000条。
如果选择独享服务资源组,开启分页后的每页数据记录最多支持10000条。
测试API
完成API参数的配置并保存后,单击上方的测试,即可进入API测试环节。
填写参数值,单击开始测试,即可在线发送API请求,在右侧可以查看API请求详情及返回内容。如果测试失败,请仔细查看错误提示并进行相应的修改重新测试。
发布API
完成API测试后,返回服务开发页面。单击提交,即可生成API版本信息。
您可在版本信息中选择状态为可发布的API版本,单击操作栏中的发布,即可成功生成一个数据API。
发布完成后,单击上方服务管理查看API详情。
如果您需要调用API,请进入服务管理的API调用页面,数据服务为您提供简单身份认证(AppCode)和加密签名身份认证(AppKey&AppSecret)两种认证方式,您可以自由选择。下文将为您介绍如何在DataV中进行数据服务API的调用。
在大屏中调用数据服务API
添加数据服务为数据源
登录DataV控制台。
找到左侧导航栏,单击
,进入新增数据源页面,单击新建数据源。填写添加数据源对话框中的配置。
参数
描述
类型
添加的数据源类型。
自定义数据源名称
数据源的显示名称,可以自由命名。
Region
选择您所在地域。
项目
选择DataWorks工作空间。
AppKey/AppSecret
拥有DataWorks数据服务中某一项目访问权限的账号的AppKeyID和AppSecret。
说明您可以登录DataWorks数据服务控制台,进入
页面进行查看。
创建看板
进入DataV控制台中的设计中心页面,单击左侧PC端。
在应用场景中选择一个模板,单击创建看板,本文以智能工厂生产看板模板为例。输入看板名称,在选择分组后单击创建看板。
模板中的组件自带了静态数据,下文将以把模板下方的基本折线图改为调用上文创建好的数据服务API为例,为您介绍如何在组件中使用数据服务API。
配置看板
找到左边导航栏中的图层信息,选中底部面板中的ECharts基本折线图组件,单击切换到右侧的数据源页签,在数据源类型中选择DataWorks数据服务。
选择刚刚创建的数据源和API,并设置查询参数,本示例将pageSize设置为31,以查询一个月的数据。
单击查看数据返回结果,即可查看API的查询结果。
填写字段映射关系,在x中填写date,将日期作为横轴,在y中填写amount,将成交金额作为纵轴。
由上图可见,当前x和y无法匹配到字段。这是因为DataV对数据格式有一定要求,不能识别结构较深的字段,因此需要添加一个数据过滤器,过滤掉不必要的字段,在本例中直接返回rows数组即可。
勾选使用过滤器,单击新建按钮。此处支持编写JS代码对数据结果进行二次过滤和处理,过滤器的data参数为API返回结果JSON对象。
本示例只需返回API结果中的rows数组,因此输入
return data.data.rows;
在下方预览过滤后的结果,并单击保存。添加过滤器后,字段便会匹配成功。
至此,便完成了通过数据服务将MaxCompute表生成API,然后在DataV数据大屏中进行展示的所有操作,效果如下图所示。
注意事项
DataWorks数据服务与DataV进行无缝对接后,无需使用DataV中的API数据源去填写一个URL调用API,直接新建一个DataWorks数据服务作为数据源,便可直接选用数据服务中的API。无需每个API都设置AppKey和AppSecret认证信息,且支持通过表单填写API参数,操作快捷方便并安全可靠。
通过数据服务,您可以将MaxCompute中加工好的数据结果,直接在DataV中进行呈现,实现数据开发-数据服务-数据分析展现的全链路开发。
在开发过程中,请注意以下事项:
DataWorks数据服务向导模式生成API仅支持单表简单条件查询,脚本模式支持您编写查询SQL语句,支持多表关联查询、函数以及复杂条件。您可以根据自己的需求灵活选择。
如果您要求毫秒级API查询,建议使用关系型数据库、NoSQL数据库或AnalyticDB作为数据源。
DataV组件要求的数据格式是个数组,数据服务生成的API返回结果是带有错误码的完整JSON,因此要使用过滤器对API结果进行处理。您可以选择在DataV中添加过滤器,也可以选择直接在数据服务配置API时添加过滤器。
通常对于未分页查询的API,直接返回data数组即可,对于分页查询的API直接返回data.rows数组。
如果您要在DataV的折线图或柱状图中添加多个系列,通常DataV要求每个系列的数据是一个对象,并通过字段来区分系列,此时需要注意使用过滤器进行格式转换。