DataWorks数据服务介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: DataWorks作为一站式大数据开发治理平台,构建了从数据集成、数据开发、数据服务到应用开发的全链路解决方案。在整个大数据链路中,数据服务将数仓、数据库和数据应用进行串联,形成了一座数据与应用之间的桥梁。数据服务通过将数据封装成数据API的方式,可以为个人、团队及企业提供全面的数据开放及共享能力。借助这个平台,用户能够统一管理面向内外部的API服务。数据服务提供了向下对接数据源、向上支撑业务应用的有效连接。

作者: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


相关文章
|
14天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
26 0
|
14天前
|
分布式计算 DataWorks Oracle
DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
26 0
|
14天前
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
28 0
|
14天前
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之DataWorks使用数据集成整库全增量同步oceanbase数据到odps的时候,遇到报错,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 0
|
14天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在DataWorks数据集成中,但是预览ODPS源数据库为空,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
23 0
|
14天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在DataWorks中使用ODPS SQL时遇到"该文件对应引擎实例已失效,请重新选择可用的引擎实例"的错误提示”,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
34 0
|
14天前
|
SQL JSON 分布式计算
DataWorks产品使用合集之DataWorks一键maxcompute数据同步的操作步骤是什么
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0
|
14天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在 DataWorks 中,使用Oracle作为数据源进行数据映射和查询,如何更改数据源为MaxCompute或其他类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
28 1
|
14天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之在 MaxCompute 中,有LEAST 的内置函数如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
17 0
|
14天前
|
分布式计算 DataWorks Java
DataWorks产品使用合集之DataWorks maxcompute的自定义资源增加如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
22 0

热门文章

最新文章

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

  • 大数据开发治理平台 DataWorks