当前位置:主页 > 查看内容

DataWorks数据服务介绍及最佳实践 | 《一站式大数据开发治理Data

发布时间:2021-07-29 00:00| 位朋友查看

简介:作者 DataWorks产品经理 周硕 一、基本介绍 DataWorks作为一站式大数据开发治理平台 构建了从数据集成、数据开发、数据服务到应用开发的全链路解决方案。从下图可以看到 在整个大数据链路中 数据服务将数仓、数据库和数据应用进行串联 形成了一座数据与应用……

作者 DataWorks产品经理 周硕


一、基本介绍

DataWorks作为一站式大数据开发治理平台 构建了从数据集成、数据开发、数据服务到应用开发的全链路解决方案。从下图可以看到 在整个大数据链路中 数据服务将数仓、数据库和数据应用进行串联 形成了一座数据与应用之间的桥梁。

8-DataWorls-数据服务_训练营材料 .png

数据服务通过将数据封装成数据API的方式 可以为个人、团队及企业提供全面的数据开放及共享能力。借助这个平台 用户能够统一管理面向内外部的API服务。数据服务提供了向下对接数据源、向上支撑业务应用的有效连接。


一 数据服务整体架构

8-DataWorls-数据服务_训练营材料2.png

在整体架构大图中 最上层有三个模块 依次是数据服务前台、OpenAPI 和API网关 其中 用户可以通过数据服务的产品界面 数据服务前台 或者OpenAPI的方式来快速创建API并发布 或者在API网关中对API进行二次修改。架构下层以API开发平台作为底座。数据服务开发平台以API为核心 提供了组织管理、API开发、资源开发、数据源管理、API权限管理以及API计量等能力。


在组织管理中 用户可以创建业务流程 将业务流程作为逻辑单元来存放API等资源对象。在业务流程的内部 又可以进一步细分 通过文件夹的方式实现多层级的管理结构。


在API开发能力中 除了多样化的开发方式 比如向导模式、脚本模式等 数据服务还同样提供了接口调试和一键发布的能力 实现了API产出工作的轻量化。另外 辅助API开发和管理的还包含一些其他的能力 比如权限管理 API可见性、授权调用 计量统计 可视化图表直观展示调用情况 等。


数据服务和API网关产品是紧密结合的。在开发和管理中 数据服务中发布的API可以在网关列表中进行查看和管控。在实际调用链路中 当用户侧发送调用请求至网关后 网关会进一步将调用请求转发至数据服务后台系统 数据服务会进行请求解析、SQL解析等处理 最终从数据源中获取有效的数据来返回给用户。


由上述过程可知 从用户发送请求到数据服务返回数据结果的整体链路中 不同产品 客户端、API网关、数据服务、数据源 之间的衔接、处理过程是几乎无感知的 用户只需专注于数据本身即可 DataWorks数据服务会为用户封装并提供一系列底层的服务。 ?


二 数据服务应用场景

上述架构大图从全局角度展示了数据服务的各项能力、处理逻辑和基础依赖等 而下方图片则从实操入手展示了用户借助数据服务实现API开发、使用的全流程。

8-DataWorls-数据服务_训练营材料3.png

首先 在数据服务平台上有两种方式新建API 如果用户已有数据源 可以通过填写相应连接信息来直接连通数据源生成API 如果用户已有封装好的API 则可以将已有的API的host地址直接注册至数据服务平台进行统一管控。除此之外 数据服务提供了函数计算的能力来辅助API的生成 还支持将多个API和函数编排为工作流程来生成复合型API。


无论是生成或注册类型的独立API 还是服务编排类型的复合API 数据服务都可以将这些API一键发布至网关 用户可将发布后的数据接口在应用、报表和大屏中进行调用、消费 或是上架到阿里云的API市场进行销售、授权给他人实现内外部的数据共享等。由此看来 数据服务支持的应用场景是非常丰富的 可以满足用户的多样化需求。


二、数据服务的产品优势

在传统方式中 开发一个API接口的过程是非常复杂且耗时漫长的 从准备和连接数据库开始 需经历API查询逻辑的开发、API鉴权和流控能力的开发、服务器搭建、接口部署等步骤 待接口上线后 用户还需要进行一系列的后期运维工作。相比较而言 在数据服务中开发API只需两步 准备数据库和配置API的查询逻辑 后续的部署、管控、运维等工作用户都无须自行研发 数据服务将提供完善的产品能力、基础设施和底层资源。


由此可见 数据服务整体采用Serverless架构 具备零代码、免运维、弹性扩展的产品优势 用户只需关注API的查询逻辑即可 极大地轻减了开发API的繁复过程 实现降本提效。


除此之外 如需创建API并获取数据结果 数据源和网络的连通性是必不可少的。DataWorks数据服务也提供了相应的产品能力 支持在多种网络环境下连通多种数据源类型。数据服务支持的网络环境包括VPC网络、经典网络、公网网络 支持的数据类型包括常见的关系型数据库和非关系型数据库 例如MySQL、PostgreSQL、Oracle、OTS、MongoDB等 以及大数据存储类型 例如MC-Hologres等。数据服务也将持续丰富可访达的数据源类型。


综上所述 数据服务的产品优势可以总结为 数据源类型多样 网络类型丰富 即连-即查-即开发。


三、主要功能解析

在开始使用DataWorks数据服务之前 需要进行前期准备 开通API网关服务 以确保API能够成功发布、获得有效域名。


经过前期准备后 用户可进入数据服务的服务开发页面 在左侧目录中创建一个业务流程作为组织单元 并在该业务流程下继续创建目标API以及其他对象 函数、服务编排 。


下图是数据服务中常见的使用流程 无论是生成API、注册API 或者是复合的API服务编排 经过调试后 均可发布至网关 作为数据接口进行在线调用。

8-DataWorls-数据服务_训练营材料4.png

接下来 将围绕数据服务的核心功能进行详细描述。


一 生成API

生成API支持两种方式 分别是向导模式和脚本模式。如果用户是分析师或业务人员 可以采用可视化向导模式。如果用户是开发者或SQL深度使用者 可以通过脚本模式来自定义SQL脚本 编辑复杂查询逻辑。


在向导模式中 用户选择目标数据表名称后 系统将自动获取表结构并展示在API编辑页面中。通过勾选请求参数和返回参数 可实现API整体逻辑的定义。向导模式生成API能够快速实现单表查询 不仅支持请求参数的多种操作符类型 比如等值查询、模糊匹配等 也支持将返回结果按照特定字段进行排序 将某字段添加至排序列表 。使用向导模式的优势是非常明显的 可视化、零代码、易上手。

8-DataWorls-数据服务_训练营材料5.png

在脚本模式中 数据服务提供了智能SQL编辑器 支持在SQL中编辑多表关联分析逻辑 以及添加聚合函数计算和其他复杂条件查询等。值得一提的是 涵盖Mybatis语法的高级SQL模式已正式上线 用户可灵活定义动态标签逻辑。


二 注册API

除了生成API之外 用户还可以将已有的API注册至数据服务平台 便于统一的管理、发布和对接。注册API支持四种常见请求方式 GET、POST、PUT和DELETE 也支持三种常见的数据格式 FORM、JSON、和XML。

8-DataWorls-数据服务_训练营材料6.png


三 函数及过滤器

除了API之外 数据服务还提供了另一项资源开发能力 Python函数。用户可以开发Python脚本 绑定至某个API作为前置或者后置过滤器 分别对API的请求参数和返回结果进行处理 从而增强API的逻辑表达能力 适配各类场景 实现数据变形和转换的效果。

8-DataWorls-数据服务_训练营材料7.png


四 服务编排

数据服务的服务编排能力可以将若干API和函数以拖拽式节点的可视化方式编排成一个工作流 实现API之间的串行、并行调用。

8-DataWorls-数据服务_训练营材料8.png

例如 在上图中 API、函数和Switch条件分支节点被组合在了一起 封装成一个新的整体的API来提供给业务方。这样的使用方式不但能够减少网络开销 还能够提升整体的API调用性能。如图所示 某服务编排样例的组织逻辑 通过工作流将若干API融合 上游API的输出作为下游API的输入 再根据不同场景进行了分支条件判断 获得最终输出。


五 API详情页

API成功发布后 数据服务将自动生成详尽的API文档 即API详情页 免除用户手工编写文档的烦恼。API详情页可供开发者、调用者查看 相当于版本记录及调用说明。在API详情页中包含的信息有 API的基本信息、请求和返回参数、正常和异常返回示例以及错误码等内容 帮助用户对API进行全方位了解。

8-DataWorls-数据服务_训练营材料9.png


六 API授权

数据服务支持对数据接口设置调用授权 实现安全可靠的数据共享。

在某些场景下 若直接将数据库、数据表的权限进行多频次、大范围地暴露 不仅数据冗余度高 而且影响数据安全性。面向此类场景 数据服务的授权能力让API不仅可以被用户自身调用 还可以授权给他人调用。API授权方式如下 进入服务管理页面 在列表中定位到目标API 在“操作”一栏点击“授权” 并在弹窗中进一步选择要授权的云账号ID、目标工作空间 设置权限有效期 即可轻松实现数据少而精地开放共享了。

8-DataWorls-数据服务_训练营材料10.png


七 API调用鉴权

在API调用权限方面 数据服务提供了两种方式 分别是 简单身份认证、加密签名身份认证 用户可以根据不同的场景灵活选择认证方式。


第一种方式是简单身份认证。简单身份认证使用AppCode鉴权 如需在API调用时快速获取身份认证参数 可在API详情页直接复制“带参数调用地址” 该调用地址中默认包含AppCode信息。


第二种方式是加密签名身份认证。加密签名身份认证是通过AppKey和AppSecret加密算法计算签名的方式进行鉴权的 具备更高的安全性。


以上两种调用鉴权信息均能够在API调用的详细信息页面查看。

8-DataWorls-数据服务_训练营材料11.png


八 API计量

数据服务提供了计量统计的能力 支持对已发布API进行自定义周期内的调用统计 包括

计量大屏 API总数、总调用次数、总执行时长用量、API网关状态码分布、数据服务错误码分布、服务资源分配、出错率及调用量排行榜单等 以全局视角总览API情况。计量详情 单个API监控图表 包含API网关状态码、数据服务错误码、应用请求次数、流量带宽、响应时间的变化趋势 帮助用户及时关注重点API。结合SLS日志服务。


除了数据服务的计量统计信息 用户可以结合SLS日志服务打印详细的API调用日志。 ?

除此之外 数据服务在网关发布的API还支持配置相应的流控策略和报警规则 对业务线上调用API提供有效的护航。

8-DataWorls-数据服务_训练营材料12.png


数据服务介绍及实践请参考 https://developer.aliyun.com/learning/course/81/detail/1235


DataWorks官网 https://www.aliyun.com/product/bigdata/ide

大数据 AI体验馆 https://workbench.data.aliyun.com/experience.htm



本文转自网络,原文链接:https://developer.aliyun.com/article/785895
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐